25 lines
466 B
WebGPU Shading Language
25 lines
466 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, 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());
|
|
}
|