[[block]] struct Constants { | |
zero: u32; | |
}; | |
[[group(1), binding(0)]] var<uniform> constants: Constants; | |
[[block]] struct Result { | |
value: u32; | |
}; | |
[[group(1), binding(1)]] var<storage, write> result: Result; | |
[[block]] 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()); | |
} |