| 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()); | |
| } |