mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-08-03 02:35:55 +00:00
Use of semicolons is still supported, but deprecated. Also updates the parsing methods for structures to better match the WGSL grammar. Bug: tint:1475 Change-Id: I7675ba42c13f91080b0ac173c352e0092021f80b Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/84380 Kokoro: Kokoro <noreply+kokoro@google.com> Reviewed-by: Ben Clayton <bclayton@google.com> Commit-Queue: James Price <jrprice@google.com>
27 lines
713 B
WebGPU Shading Language
27 lines
713 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;
|
|
|
|
@stage(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;
|
|
}
|
|
}
|