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; }; [[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); }