dawn-cmake/test/shader_io/compute_input_builtins_struct.wgsl
James Price 922fce7295 Implement and test num_workgroups for all backends
For HLSL, use the new NumWorkgroupsFromUniform transform, and expose
the binding point to use for the generated uniform as a backend
option.

The MSL mapping is trivial, and it was already implemented for WGSL
and SPIR-V.

Bug: tint:752
Change-Id: I4bd37b5d26181629d72b152fe064a60caf8ecdc5
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/63962
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-09-13 17:11:58 +00:00

18 lines
601 B
WebGPU Shading Language

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>;
[[builtin(num_workgroups)]] num_workgroups : vec3<u32>;
};
[[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 +
inputs.num_workgroups.x;
}