struct ComputeInputs0 { [[builtin(local_invocation_id)]] local_invocation_id : vec3; }; struct ComputeInputs1 { [[builtin(workgroup_id)]] workgroup_id : vec3; }; [[stage(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); }