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