dan sinclair 5286ea9d16 tint: Disallow write-only storage buffers
These have not been in the spec for a long time. The read_write access
mode can be used instead.

Fixed: tint:1342
Change-Id: I01ffc343d2d2f9df9d7028bba4548c749616c65c
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/93500
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
2022-07-04 15:17:00 +00:00

25 lines
464 B
WebGPU Shading Language

struct Constants {
zero: u32,
};
@group(1) @binding(0) var<uniform> constants: Constants;
struct Result {
value: u32,
};
@group(1) @binding(1) var<storage, read_write> result: Result;
struct TestData {
data: array<atomic<i32>,3>,
};
@group(0) @binding(0) var<storage, read_write> s: TestData;
fn runTest() -> i32 {
return atomicLoad(&s.data[(0u) + u32(constants.zero)]);
}
@compute @workgroup_size(1)
fn main() {
result.value = u32(runTest());
}