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