struct UBO { dynamic_idx : i32; } [[group(0), binding(0)]] var ubo : UBO; struct S { data : array; } struct Result { out : i32; } [[group(0), binding(1)]] var result : Result; var s : S; [[stage(compute), workgroup_size(1)]] fn f() { s.data[ubo.dynamic_idx] = 1; result.out = s.data[3]; }