dan sinclair b29892be09 Update src/tint unittests to new @stage format.
This CL updates all of the Tint unittests to the new @stage shorter
syntax. This also updates the WGSL writer to emit the new short forms
instead of using the deprecated form.

Bug: tint:1503
Change-Id: I8c49e5319a19cccb5b4b5078f3ab39c50f31a9a8
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/92483
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2022-06-07 13:55:34 +00:00

27 lines
706 B
WebGPU Shading Language

struct Constants {
level : i32,
};
@group(0) @binding(0) var<uniform> constants : Constants;
@group(0) @binding(1) var myTexture : texture_2d_array<f32>;
struct Result {
values : array<f32>,
};
@group(0) @binding(3) var<storage, read_write> result : Result;
@compute @workgroup_size(1)
fn main(@builtin(global_invocation_id) GlobalInvocationID : vec3<u32>) {
var flatIndex : u32 =
2u * 2u * GlobalInvocationID.z +
2u * GlobalInvocationID.y +
GlobalInvocationID.x;
flatIndex = flatIndex * 1u;
var texel : vec4<f32> = textureLoad(myTexture, vec2<i32>(GlobalInvocationID.xy), 0, 0);
for (var i : u32 = 0u; i < 1u; i = i + 1u) {
result.values[flatIndex + i] = texel.r;
}
}