struct ComputeInputs { @builtin(local_invocation_id) local_invocation_id : vec3; @builtin(local_invocation_index) local_invocation_index : u32; @builtin(global_invocation_id) global_invocation_id : vec3; @builtin(workgroup_id) workgroup_id : vec3; @builtin(num_workgroups) num_workgroups : vec3; }; @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; }