blob: 1f5d6464a04788ae8d3c8c1e23802c1b7fe98dbb [file] [log] [blame]
James Price7697c312021-06-04 14:40:28 +00001#include <metal_stdlib>
2
3using namespace metal;
4struct ComputeInputs0 {
5 uint3 local_invocation_id;
6};
Ben Clayton8ec32a62022-02-09 23:55:51 +00007
James Price7697c312021-06-04 14:40:28 +00008struct ComputeInputs1 {
9 uint3 workgroup_id;
10};
11
James Pricea5d73ce2021-08-04 22:15:28 +000012void tint_symbol_inner(ComputeInputs0 inputs0, uint local_invocation_index, uint3 global_invocation_id, ComputeInputs1 inputs1) {
Ben Clayton7103f512021-10-20 16:12:33 +000013 uint const foo = (((inputs0.local_invocation_id[0] + local_invocation_index) + global_invocation_id[0]) + inputs1.workgroup_id[0]);
James Pricea5d73ce2021-08-04 22:15:28 +000014}
15
16kernel void tint_symbol(uint3 local_invocation_id [[thread_position_in_threadgroup]], uint local_invocation_index [[thread_index_in_threadgroup]], uint3 global_invocation_id [[thread_position_in_grid]], uint3 workgroup_id [[threadgroup_position_in_grid]]) {
17 ComputeInputs0 const tint_symbol_1 = {.local_invocation_id=local_invocation_id};
18 ComputeInputs1 const tint_symbol_2 = {.workgroup_id=workgroup_id};
19 tint_symbol_inner(tint_symbol_1, local_invocation_index, global_invocation_id, tint_symbol_2);
James Price7697c312021-06-04 14:40:28 +000020 return;
21}
22