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