| [[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]; | |
| } |