27 lines
437 B
WebGPU Shading Language
27 lines
437 B
WebGPU Shading Language
|
[[block]]
|
||
|
struct UBO {
|
||
|
dynamic_idx : i32;
|
||
|
};
|
||
|
|
||
|
[[group(0), binding(0)]] var<uniform> ubo : UBO;
|
||
|
|
||
|
[[block]]
|
||
|
struct Result {
|
||
|
out : i32;
|
||
|
};
|
||
|
|
||
|
[[group(0), binding(2)]] var<storage, read_write> result : Result;
|
||
|
|
||
|
[[block]]
|
||
|
struct SSBO {
|
||
|
data : array<i32, 4>;
|
||
|
};
|
||
|
|
||
|
[[group(0), binding(1)]] var<storage, read_write> ssbo : SSBO;
|
||
|
|
||
|
[[stage(compute), workgroup_size(1)]]
|
||
|
fn f() {
|
||
|
ssbo.data[ubo.dynamic_idx] = 1;
|
||
|
result.out = ssbo.data[3];
|
||
|
}
|