| struct InnerS { |
| int v; |
| }; |
| struct S1 { |
| InnerS a2[8]; |
| }; |
| struct OuterS { |
| S1 a1[8]; |
| }; |
| |
| static uint nextIndex = 0u; |
| |
| uint getNextIndex() { |
| nextIndex = (nextIndex + 1u); |
| return nextIndex; |
| } |
| |
| cbuffer cbuffer_uniforms : register(b4, space1) { |
| uint4 uniforms[1]; |
| }; |
| |
| [numthreads(1, 1, 1)] |
| void main() { |
| InnerS v = (InnerS)0; |
| OuterS s = (OuterS)0; |
| { |
| S1 tint_symbol_1[8] = s.a1; |
| const uint tint_symbol_2_save = getNextIndex(); |
| InnerS tint_symbol_3[8] = tint_symbol_1[tint_symbol_2_save].a2; |
| tint_symbol_3[uniforms[0].y] = v; |
| tint_symbol_1[tint_symbol_2_save].a2 = tint_symbol_3; |
| s.a1 = tint_symbol_1; |
| } |
| return; |
| } |