24 lines
504 B
WebGPU Shading Language
24 lines
504 B
WebGPU Shading Language
|
|
||
|
[[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());
|
||
|
}
|