struct Uniforms { | |
i : u32; | |
j : u32; | |
} | |
struct InnerS { | |
v : i32; | |
} | |
struct S1 { | |
a2 : array<InnerS, 8>; | |
} | |
struct OuterS { | |
a1 : array<S1, 8>; | |
} | |
var<private> nextIndex : u32; | |
fn getNextIndex() -> u32 { | |
nextIndex = (nextIndex + 1u); | |
return nextIndex; | |
} | |
@group(1) @binding(4) var<uniform> uniforms : Uniforms; | |
@stage(compute) @workgroup_size(1) | |
fn main() { | |
var v : InnerS; | |
var s : OuterS; | |
s.a1[getNextIndex()].a2[uniforms.j] = v; | |
} |