SKIP: FAILED void set_float3(inout float3 vec, int idx, float val) { vec = (idx.xxx == int3(0, 1, 2)) ? val.xxx : vec; } cbuffer cbuffer_x_9 : register(b0, space0) { uint4 x_9[1]; }; static float4 x_GLF_color = float4(0.0f, 0.0f, 0.0f, 0.0f); void main_1() { int idx = 0; float4x3 m43 = float4x3(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f); int ll_1 = 0; int GLF_live6rows = 0; int z = 0; int ll_2 = 0; int ctr = 0; float4x3 tempm43 = float4x3(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f); int ll_3 = 0; int c = 0; int d = 0; float GLF_live6sums[9] = (float[9])0; idx = 0; m43 = float4x3(float3(1.0f, 0.0f, 0.0f), float3(0.0f, 1.0f, 0.0f), float3(0.0f, 0.0f, 1.0f), float3(0.0f, 0.0f, 0.0f)); ll_1 = 0; GLF_live6rows = 2; [loop] while (true) { const int x_18 = ll_1; const int x_19 = asint(x_9[0].x); if ((x_18 >= x_19)) { x_GLF_color = float4(1.0f, 0.0f, 0.0f, 1.0f); break; } ll_1 = (ll_1 + 1); const int x_22 = asint(x_9[0].x); z = x_22; ll_2 = 0; ctr = 0; { [loop] for(; (ctr < 1); ctr = (ctr + 1)) { const int x_24 = ll_2; const int x_25 = asint(x_9[0].x); if ((x_24 >= x_25)) { break; } ll_2 = (ll_2 + 1); tempm43 = m43; ll_3 = 0; c = 0; { [loop] for(; (1 < z); c = (c + 1)) { d = 0; bool tint_tmp = (c >= 0); if (tint_tmp) { tint_tmp = (c < 4); } bool tint_tmp_1 = (d >= 0); if (tint_tmp_1) { tint_tmp_1 = (d < 3); } set_float3(tempm43[((tint_tmp) ? c : 0)], ((tint_tmp_1) ? d : 0), 1.0f); } } bool tint_tmp_2 = (idx >= 0); if (tint_tmp_2) { tint_tmp_2 = (idx < 9); } const int x_117 = ((tint_tmp_2) ? idx : 0); const float x_119 = m43[ctr].y; const float x_121 = GLF_live6sums[x_117]; GLF_live6sums[x_117] = (x_121 + x_119); } } idx = (idx + 1); } return; } struct main_out { float4 x_GLF_color_1; }; struct tint_symbol { float4 x_GLF_color_1 : SV_Target0; }; main_out main_inner() { main_1(); const main_out tint_symbol_2 = {x_GLF_color}; return tint_symbol_2; } tint_symbol main() { const main_out inner_result = main_inner(); tint_symbol wrapper_result = (tint_symbol)0; wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1; return wrapper_result; } C:\src\tint\test\Shader@0x0000011E3650E4B0(51,18-44): error X3531: can't unroll loops marked with loop attribute