struct Constants { | |
zero: u32; | |
}; | |
@group(1) @binding(0) var<uniform> constants: Constants; | |
struct Result { | |
value: u32; | |
}; | |
@group(1) @binding(1) var<storage, 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)]); | |
} | |
@stage(compute) @workgroup_size(1) | |
fn main() { | |
result.value = u32(runTest()); | |
} |