2021-06-03 09:38:34 +00:00
|
|
|
struct ComputeInputs {
|
|
|
|
[[builtin(local_invocation_id)]] local_invocation_id : vec3<u32>;
|
|
|
|
[[builtin(local_invocation_index)]] local_invocation_index : u32;
|
|
|
|
[[builtin(global_invocation_id)]] global_invocation_id : vec3<u32>;
|
|
|
|
[[builtin(workgroup_id)]] workgroup_id : vec3<u32>;
|
2021-09-13 17:11:58 +00:00
|
|
|
[[builtin(num_workgroups)]] num_workgroups : vec3<u32>;
|
2021-06-03 09:38:34 +00:00
|
|
|
};
|
|
|
|
|
2021-06-29 18:39:44 +00:00
|
|
|
[[stage(compute), workgroup_size(1)]]
|
2021-06-03 09:38:34 +00:00
|
|
|
fn main(inputs : ComputeInputs) {
|
|
|
|
let foo : u32 =
|
|
|
|
inputs.local_invocation_id.x +
|
2021-09-13 17:11:58 +00:00
|
|
|
inputs.local_invocation_index +
|
|
|
|
inputs.global_invocation_id.x +
|
|
|
|
inputs.workgroup_id.x +
|
|
|
|
inputs.num_workgroups.x;
|
2021-06-03 09:38:34 +00:00
|
|
|
}
|