struct ComputeInputs0 { @builtin(local_invocation_id) local_invocation_id : vec3, }; struct ComputeInputs1 { @builtin(workgroup_id) workgroup_id : vec3, }; @compute @workgroup_size(1) fn main( inputs0 : ComputeInputs0, @builtin(local_invocation_index) local_invocation_index : u32, @builtin(global_invocation_id) global_invocation_id : vec3, inputs1 : ComputeInputs1, ) { let foo : u32 = inputs0.local_invocation_id.x + local_invocation_index + global_invocation_id.x + inputs1.workgroup_id.x; }