| struct ComputeInputs { |
| [[builtin(local_invocation_id)]] local_invocation_id : vec3<u32>; |
| [[builtin(local_invocation_index)]] local_invocation_index : u32; |
| [[builtin(global_invocation_id)]] global_invocation_id : vec3<u32>; |
| [[builtin(workgroup_id)]] workgroup_id : vec3<u32>; |
| [[builtin(num_workgroups)]] num_workgroups : vec3<u32>; |
| }; |
| |
| [[stage(compute), workgroup_size(1)]] |
| fn main(inputs : ComputeInputs) { |
| let foo : u32 = |
| inputs.local_invocation_id.x + |
| inputs.local_invocation_index + |
| inputs.global_invocation_id.x + |
| inputs.workgroup_id.x + |
| inputs.num_workgroups.x; |
| } |