| SKIP: FAILED |
| |
| void set_scalar_float4x3(inout float4x3 mat, int col, int row, float val) { |
| switch (col) { |
| case 0: |
| mat[0] = (row.xxx == int3(0, 1, 2)) ? val.xxx : mat[0]; |
| break; |
| case 1: |
| mat[1] = (row.xxx == int3(0, 1, 2)) ? val.xxx : mat[1]; |
| break; |
| case 2: |
| mat[2] = (row.xxx == int3(0, 1, 2)) ? val.xxx : mat[2]; |
| break; |
| case 3: |
| mat[3] = (row.xxx == int3(0, 1, 2)) ? val.xxx : mat[3]; |
| break; |
| } |
| } |
| |
| struct tint_padded_array_element { |
| float el; |
| }; |
| |
| cbuffer cbuffer_x_6 : register(b1, space0) { |
| uint4 x_6[3]; |
| }; |
| cbuffer cbuffer_x_8 : register(b0, space0) { |
| uint4 x_8[4]; |
| }; |
| static float4 x_GLF_color = float4(0.0f, 0.0f, 0.0f, 0.0f); |
| |
| void main_1() { |
| 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); |
| tint_padded_array_element sums[3] = (tint_padded_array_element[3])0; |
| int i = 0; |
| int a = 0; |
| int x_67_phi = 0; |
| const float x_44 = asfloat(x_6[1].x); |
| const float3 x_48 = float3(0.0f, 0.0f, 0.0f); |
| m43 = float4x3(float3(x_44, 0.0f, 0.0f), float3(0.0f, x_44, 0.0f), float3(0.0f, 0.0f, x_44), float3(0.0f, 0.0f, 0.0f)); |
| const uint scalar_offset = ((16u * uint(0))) / 4; |
| const int x_51 = asint(x_8[scalar_offset / 4][scalar_offset % 4]); |
| const uint scalar_offset_1 = ((16u * uint(0))) / 4; |
| const int x_53 = asint(x_8[scalar_offset_1 / 4][scalar_offset_1 % 4]); |
| const uint scalar_offset_2 = ((16u * uint(0))) / 4; |
| const float x_55 = asfloat(x_6[scalar_offset_2 / 4][scalar_offset_2 % 4]); |
| set_scalar_float4x3(m43, x_53, x_51, x_55); |
| const uint scalar_offset_3 = ((16u * uint(0))) / 4; |
| const float x_58 = asfloat(x_6[scalar_offset_3 / 4][scalar_offset_3 % 4]); |
| const uint scalar_offset_4 = ((16u * uint(0))) / 4; |
| const float x_60 = asfloat(x_6[scalar_offset_4 / 4][scalar_offset_4 % 4]); |
| const uint scalar_offset_5 = ((16u * uint(0))) / 4; |
| const float x_62 = asfloat(x_6[scalar_offset_5 / 4][scalar_offset_5 % 4]); |
| const tint_padded_array_element tint_symbol_3[3] = {{x_58}, {x_60}, {x_62}}; |
| sums = tint_symbol_3; |
| const uint scalar_offset_6 = ((16u * uint(0))) / 4; |
| const int x_65 = asint(x_8[scalar_offset_6 / 4][scalar_offset_6 % 4]); |
| i = x_65; |
| x_67_phi = x_65; |
| [loop] while (true) { |
| const int x_67 = x_67_phi; |
| const int x_73 = asint(x_8[3].x); |
| if ((x_67 < x_73)) { |
| } else { |
| break; |
| } |
| const uint scalar_offset_7 = ((16u * uint(0))) / 4; |
| const int x_77 = asint(x_8[scalar_offset_7 / 4][scalar_offset_7 % 4]); |
| const uint scalar_offset_8 = ((16u * uint(0))) / 4; |
| const int x_79 = asint(x_8[scalar_offset_8 / 4][scalar_offset_8 % 4]); |
| const float x_81 = m43[x_67][x_79]; |
| const float x_83 = sums[x_77].el; |
| sums[x_77].el = (x_83 + x_81); |
| { |
| const int x_68 = (x_67 + 1); |
| i = x_68; |
| x_67_phi = x_68; |
| } |
| } |
| const int x_87 = asint(x_8[1].x); |
| if ((x_87 == 1)) { |
| a = 4; |
| const int x_92 = asint(x_8[2].x); |
| const uint scalar_offset_9 = ((16u * uint(0))) / 4; |
| const int x_94 = asint(x_8[scalar_offset_9 / 4][scalar_offset_9 % 4]); |
| const float x_96 = m43[4][x_94]; |
| const float x_98 = sums[x_92].el; |
| sums[x_92].el = (x_98 + x_96); |
| } |
| const int x_102 = asint(x_8[1].x); |
| const float x_104 = sums[x_102].el; |
| const uint scalar_offset_10 = ((16u * uint(0))) / 4; |
| const int x_106 = asint(x_8[scalar_offset_10 / 4][scalar_offset_10 % 4]); |
| const float x_108 = sums[x_106].el; |
| const float x_111 = asfloat(x_6[2].x); |
| if (((x_104 + x_108) == x_111)) { |
| const uint scalar_offset_11 = ((16u * uint(0))) / 4; |
| const int x_117 = asint(x_8[scalar_offset_11 / 4][scalar_offset_11 % 4]); |
| const int x_120 = asint(x_8[1].x); |
| const int x_123 = asint(x_8[1].x); |
| const uint scalar_offset_12 = ((16u * uint(0))) / 4; |
| const int x_126 = asint(x_8[scalar_offset_12 / 4][scalar_offset_12 % 4]); |
| x_GLF_color = float4(float(x_117), float(x_120), float(x_123), float(x_126)); |
| } else { |
| const int x_130 = asint(x_8[1].x); |
| const float x_131 = float(x_130); |
| x_GLF_color = float4(x_131, x_131, x_131, x_131); |
| } |
| 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_4 = {x_GLF_color}; |
| return tint_symbol_4; |
| } |
| |
| 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@0x0000020DD7F92800(84,24-29): error X3504: array index out of bounds |
| |