| SKIP: FAILED - crbug.com/tint/1375 |
| |
| void set_scalar_float2x3(inout float2x3 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; |
| } |
| } |
| |
| void set_scalar_float2x4(inout float2x4 mat, int col, int row, float val) { |
| switch (col) { |
| case 0: |
| mat[0] = (row.xxxx == int4(0, 1, 2, 3)) ? val.xxxx : mat[0]; |
| break; |
| case 1: |
| mat[1] = (row.xxxx == int4(0, 1, 2, 3)) ? val.xxxx : mat[1]; |
| break; |
| } |
| } |
| |
| void set_scalar_float3x2(inout float3x2 mat, int col, int row, float val) { |
| switch (col) { |
| case 0: |
| mat[0] = (row.xx == int2(0, 1)) ? val.xx : mat[0]; |
| break; |
| case 1: |
| mat[1] = (row.xx == int2(0, 1)) ? val.xx : mat[1]; |
| break; |
| case 2: |
| mat[2] = (row.xx == int2(0, 1)) ? val.xx : mat[2]; |
| break; |
| } |
| } |
| |
| void set_scalar_float3x3(inout float3x3 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; |
| } |
| } |
| |
| void set_scalar_float3x4(inout float3x4 mat, int col, int row, float val) { |
| switch (col) { |
| case 0: |
| mat[0] = (row.xxxx == int4(0, 1, 2, 3)) ? val.xxxx : mat[0]; |
| break; |
| case 1: |
| mat[1] = (row.xxxx == int4(0, 1, 2, 3)) ? val.xxxx : mat[1]; |
| break; |
| case 2: |
| mat[2] = (row.xxxx == int4(0, 1, 2, 3)) ? val.xxxx : mat[2]; |
| break; |
| } |
| } |
| |
| void set_scalar_float4x2(inout float4x2 mat, int col, int row, float val) { |
| switch (col) { |
| case 0: |
| mat[0] = (row.xx == int2(0, 1)) ? val.xx : mat[0]; |
| break; |
| case 1: |
| mat[1] = (row.xx == int2(0, 1)) ? val.xx : mat[1]; |
| break; |
| case 2: |
| mat[2] = (row.xx == int2(0, 1)) ? val.xx : mat[2]; |
| break; |
| case 3: |
| mat[3] = (row.xx == int2(0, 1)) ? val.xx : mat[3]; |
| break; |
| } |
| } |
| |
| 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; |
| } |
| } |
| |
| void set_scalar_float4x4(inout float4x4 mat, int col, int row, float val) { |
| switch (col) { |
| case 0: |
| mat[0] = (row.xxxx == int4(0, 1, 2, 3)) ? val.xxxx : mat[0]; |
| break; |
| case 1: |
| mat[1] = (row.xxxx == int4(0, 1, 2, 3)) ? val.xxxx : mat[1]; |
| break; |
| case 2: |
| mat[2] = (row.xxxx == int4(0, 1, 2, 3)) ? val.xxxx : mat[2]; |
| break; |
| case 3: |
| mat[3] = (row.xxxx == int4(0, 1, 2, 3)) ? val.xxxx : mat[3]; |
| break; |
| } |
| } |
| |
| static int x_GLF_global_loop_count = 0; |
| static float4 x_GLF_color = float4(0.0f, 0.0f, 0.0f, 0.0f); |
| |
| void main_1() { |
| float2x3 m23 = float2x3(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f); |
| float2x4 m24 = float2x4(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f); |
| float3x2 m32 = float3x2(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f); |
| float3x3 m33 = float3x3(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f); |
| float3x4 m34 = float3x4(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f); |
| float4x2 m42 = float4x2(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f); |
| 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); |
| float4x4 m44 = float4x4(0.0f, 0.0f, 0.0f, 0.0f, 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 i = 0; |
| int i_1 = 0; |
| int i_2 = 0; |
| int i_3 = 0; |
| int i_4 = 0; |
| int i_5 = 0; |
| int i_6 = 0; |
| int i_7 = 0; |
| int i_8 = 0; |
| int i_9 = 0; |
| int i_10 = 0; |
| int i_11 = 0; |
| int i_12 = 0; |
| int i_13 = 0; |
| int i_14 = 0; |
| int i_15 = 0; |
| int i_16 = 0; |
| int i_17 = 0; |
| int i_18 = 0; |
| int i_19 = 0; |
| int i_20 = 0; |
| int i_21 = 0; |
| int i_22 = 0; |
| int i_23 = 0; |
| int i_24 = 0; |
| int i_25 = 0; |
| int i_26 = 0; |
| int i_27 = 0; |
| int i_28 = 0; |
| int i_29 = 0; |
| int i_30 = 0; |
| int i_31 = 0; |
| int i_32 = 0; |
| int i_33 = 0; |
| int i_34 = 0; |
| int i_35 = 0; |
| int i_36 = 0; |
| int i_37 = 0; |
| float sum = 0.0f; |
| int r = 0; |
| x_GLF_global_loop_count = 0; |
| m23 = float2x3((0.0f).xxx, (0.0f).xxx); |
| m24 = float2x4((0.0f).xxxx, (0.0f).xxxx); |
| m32 = float3x2((0.0f).xx, (0.0f).xx, (0.0f).xx); |
| m33 = float3x3((0.0f).xxx, (0.0f).xxx, (0.0f).xxx); |
| m34 = float3x4((0.0f).xxxx, (0.0f).xxxx, (0.0f).xxxx); |
| m42 = float4x2((0.0f).xx, (0.0f).xx, (0.0f).xx, (0.0f).xx); |
| m43 = float4x3((0.0f).xxx, (0.0f).xxx, (0.0f).xxx, (0.0f).xxx); |
| m44 = float4x4((0.0f).xxxx, (0.0f).xxxx, (0.0f).xxxx, (0.0f).xxxx); |
| i = 0; |
| while (true) { |
| const int x_105 = i; |
| if ((x_105 < 1)) { |
| } else { |
| break; |
| } |
| i_1 = 0; |
| while (true) { |
| const int x_112 = i_1; |
| if ((x_112 < 1)) { |
| } else { |
| break; |
| } |
| i_2 = 0; |
| while (true) { |
| const int x_119 = i_2; |
| if ((x_119 < 1)) { |
| } else { |
| break; |
| } |
| i_3 = 0; |
| while (true) { |
| const int x_126 = i_3; |
| if ((x_126 < 1)) { |
| } else { |
| break; |
| } |
| i_4 = 0; |
| while (true) { |
| const int x_133 = i_4; |
| if ((x_133 < 1)) { |
| } else { |
| break; |
| } |
| i_5 = 0; |
| while (true) { |
| const int x_140 = i_5; |
| if ((x_140 < 1)) { |
| } else { |
| break; |
| } |
| i_6 = 0; |
| while (true) { |
| const int x_147 = i_6; |
| if ((x_147 < 1)) { |
| } else { |
| break; |
| } |
| i_7 = 0; |
| while (true) { |
| const int x_154 = i_7; |
| if ((x_154 < 1)) { |
| } else { |
| break; |
| } |
| i_8 = 0; |
| while (true) { |
| const int x_161 = i_8; |
| if ((x_161 < 1)) { |
| } else { |
| break; |
| } |
| i_9 = 0; |
| while (true) { |
| const int x_168 = i_9; |
| if ((x_168 < 1)) { |
| } else { |
| break; |
| } |
| i_10 = 0; |
| while (true) { |
| const int x_175 = i_10; |
| if ((x_175 < 1)) { |
| } else { |
| break; |
| } |
| i_11 = 0; |
| while (true) { |
| const int x_182 = i_11; |
| if ((x_182 < 1)) { |
| } else { |
| break; |
| } |
| i_12 = 0; |
| while (true) { |
| const int x_189 = i_12; |
| if ((x_189 < 1)) { |
| } else { |
| break; |
| } |
| i_13 = 0; |
| while (true) { |
| const int x_196 = i_13; |
| if ((x_196 < 1)) { |
| } else { |
| break; |
| } |
| i_14 = 0; |
| while (true) { |
| const int x_203 = i_14; |
| if ((x_203 < 1)) { |
| } else { |
| break; |
| } |
| i_15 = 0; |
| while (true) { |
| const int x_210 = i_15; |
| if ((x_210 < 1)) { |
| } else { |
| break; |
| } |
| i_16 = 0; |
| while (true) { |
| const int x_217 = i_16; |
| if ((x_217 < 1)) { |
| } else { |
| break; |
| } |
| i_17 = 0; |
| while (true) { |
| const int x_224 = i_17; |
| if ((x_224 < 1)) { |
| } else { |
| break; |
| } |
| i_18 = 0; |
| while (true) { |
| const int x_231 = i_18; |
| if ((x_231 < 1)) { |
| } else { |
| break; |
| } |
| i_19 = 0; |
| while (true) { |
| const int x_238 = i_19; |
| if ((x_238 < 1)) { |
| } else { |
| break; |
| } |
| i_20 = 0; |
| while (true) { |
| const int x_245 = i_20; |
| if ((x_245 < 1)) { |
| } else { |
| break; |
| } |
| i_21 = 0; |
| while (true) { |
| const int x_252 = i_21; |
| if ((x_252 < 1)) { |
| } else { |
| break; |
| } |
| i_22 = 0; |
| while (true) { |
| const int x_259 = i_22; |
| if ((x_259 < 1)) { |
| } else { |
| break; |
| } |
| i_23 = 0; |
| while (true) { |
| const int x_266 = i_23; |
| if ((x_266 < 1)) { |
| } else { |
| break; |
| } |
| i_24 = 0; |
| while (true) { |
| const int x_273 = i_24; |
| if ((x_273 < 1)) { |
| } else { |
| break; |
| } |
| i_25 = 0; |
| while (true) { |
| const int x_280 = i_25; |
| if ((x_280 < 1)) { |
| } else { |
| break; |
| } |
| i_26 = 0; |
| while (true) { |
| const int x_287 = i_26; |
| if ((x_287 < 1)) { |
| } else { |
| break; |
| } |
| i_27 = 0; |
| while (true) { |
| const int x_294 = i_27; |
| if ((x_294 < 1)) { |
| } else { |
| break; |
| } |
| i_28 = 0; |
| while (true) { |
| const int x_301 = i_28; |
| if ((x_301 < 1)) { |
| } else { |
| break; |
| } |
| i_29 = 0; |
| while (true) { |
| const int x_308 = i_29; |
| if ((x_308 < 1)) { |
| } else { |
| break; |
| } |
| i_30 = 0; |
| while (true) { |
| const int x_315 = i_30; |
| if ((x_315 < 1)) { |
| } else { |
| break; |
| } |
| i_31 = 0; |
| while (true) { |
| const int x_322 = i_31; |
| if ((x_322 < 1)) { |
| } else { |
| break; |
| } |
| i_32 = 0; |
| while (true) { |
| const int x_329 = i_32; |
| if ((x_329 < 1)) { |
| } else { |
| break; |
| } |
| i_33 = 0; |
| while (true) { |
| const int x_336 = i_33; |
| if ((x_336 < 1)) { |
| } else { |
| break; |
| } |
| i_34 = 0; |
| while (true) { |
| const int x_343 = i_34; |
| if ((x_343 < 1)) { |
| } else { |
| break; |
| } |
| i_35 = 0; |
| while (true) { |
| const int x_350 = i_35; |
| if ((x_350 < 1)) { |
| } else { |
| break; |
| } |
| i_36 = 0; |
| while (true) { |
| const int x_357 = i_36; |
| if ((x_357 < 1)) { |
| } else { |
| break; |
| } |
| i_37 = 0; |
| while (true) { |
| const int x_364 = i_37; |
| if ((x_364 < 1)) { |
| } else { |
| break; |
| } |
| while (true) { |
| const int x_371 = x_GLF_global_loop_count; |
| x_GLF_global_loop_count = (x_371 + 1); |
| { |
| const int x_373 = x_GLF_global_loop_count; |
| if ((x_373 < 98)) { |
| } else { |
| break; |
| } |
| } |
| } |
| const int x_375 = i_37; |
| const int x_376 = i_37; |
| set_scalar_float2x3(m23, x_376, x_375, 1.0f); |
| const int x_378 = i_37; |
| const int x_379 = i_37; |
| set_scalar_float2x4(m24, x_379, x_378, 1.0f); |
| const int x_381 = i_37; |
| const int x_382 = i_37; |
| set_scalar_float3x2(m32, x_382, x_381, 1.0f); |
| const int x_384 = i_37; |
| const int x_385 = i_37; |
| set_scalar_float3x3(m33, x_385, x_384, 1.0f); |
| const int x_387 = i_37; |
| const int x_388 = i_37; |
| set_scalar_float3x4(m34, x_388, x_387, 1.0f); |
| const int x_390 = i_37; |
| const int x_391 = i_37; |
| set_scalar_float4x2(m42, x_391, x_390, 1.0f); |
| const int x_393 = i_37; |
| const int x_394 = i_37; |
| set_scalar_float4x3(m43, x_394, x_393, 1.0f); |
| const int x_396 = i_37; |
| const int x_397 = i_37; |
| set_scalar_float4x4(m44, x_397, x_396, 1.0f); |
| { |
| const int x_399 = i_37; |
| i_37 = (x_399 + 1); |
| } |
| } |
| { |
| const int x_401 = i_36; |
| i_36 = (x_401 + 1); |
| } |
| } |
| { |
| const int x_403 = i_35; |
| i_35 = (x_403 + 1); |
| } |
| } |
| { |
| const int x_405 = i_34; |
| i_34 = (x_405 + 1); |
| } |
| } |
| { |
| const int x_407 = i_33; |
| i_33 = (x_407 + 1); |
| } |
| } |
| { |
| const int x_409 = i_32; |
| i_32 = (x_409 + 1); |
| } |
| } |
| { |
| const int x_411 = i_31; |
| i_31 = (x_411 + 1); |
| } |
| } |
| { |
| const int x_413 = i_30; |
| i_30 = (x_413 + 1); |
| } |
| } |
| { |
| const int x_415 = i_29; |
| i_29 = (x_415 + 1); |
| } |
| } |
| { |
| const int x_417 = i_28; |
| i_28 = (x_417 + 1); |
| } |
| } |
| { |
| const int x_419 = i_27; |
| i_27 = (x_419 + 1); |
| } |
| } |
| { |
| const int x_421 = i_26; |
| i_26 = (x_421 + 1); |
| } |
| } |
| { |
| const int x_423 = i_25; |
| i_25 = (x_423 + 1); |
| } |
| } |
| { |
| const int x_425 = i_24; |
| i_24 = (x_425 + 1); |
| } |
| } |
| { |
| const int x_427 = i_23; |
| i_23 = (x_427 + 1); |
| } |
| } |
| { |
| const int x_429 = i_22; |
| i_22 = (x_429 + 1); |
| } |
| } |
| { |
| const int x_431 = i_21; |
| i_21 = (x_431 + 1); |
| } |
| } |
| { |
| const int x_433 = i_20; |
| i_20 = (x_433 + 1); |
| } |
| } |
| { |
| const int x_435 = i_19; |
| i_19 = (x_435 + 1); |
| } |
| } |
| { |
| const int x_437 = i_18; |
| i_18 = (x_437 + 1); |
| } |
| } |
| { |
| const int x_439 = i_17; |
| i_17 = (x_439 + 1); |
| } |
| } |
| { |
| const int x_441 = i_16; |
| i_16 = (x_441 + 1); |
| } |
| } |
| { |
| const int x_443 = i_15; |
| i_15 = (x_443 + 1); |
| } |
| } |
| { |
| const int x_445 = i_14; |
| i_14 = (x_445 + 1); |
| } |
| } |
| { |
| const int x_447 = i_13; |
| i_13 = (x_447 + 1); |
| } |
| } |
| { |
| const int x_449 = i_12; |
| i_12 = (x_449 + 1); |
| } |
| } |
| { |
| const int x_451 = i_11; |
| i_11 = (x_451 + 1); |
| } |
| } |
| { |
| const int x_453 = i_10; |
| i_10 = (x_453 + 1); |
| } |
| } |
| { |
| const int x_455 = i_9; |
| i_9 = (x_455 + 1); |
| } |
| } |
| { |
| const int x_457 = i_8; |
| i_8 = (x_457 + 1); |
| } |
| } |
| { |
| const int x_459 = i_7; |
| i_7 = (x_459 + 1); |
| } |
| } |
| { |
| const int x_461 = i_6; |
| i_6 = (x_461 + 1); |
| } |
| } |
| { |
| const int x_463 = i_5; |
| i_5 = (x_463 + 1); |
| } |
| } |
| { |
| const int x_465 = i_4; |
| i_4 = (x_465 + 1); |
| } |
| } |
| { |
| const int x_467 = i_3; |
| i_3 = (x_467 + 1); |
| } |
| } |
| { |
| const int x_469 = i_2; |
| i_2 = (x_469 + 1); |
| } |
| } |
| { |
| const int x_471 = i_1; |
| i_1 = (x_471 + 1); |
| } |
| } |
| { |
| const int x_473 = i; |
| i = (x_473 + 1); |
| } |
| } |
| sum = 0.0f; |
| r = 0; |
| while (true) { |
| const int x_479 = x_GLF_global_loop_count; |
| if ((x_479 < 100)) { |
| } else { |
| break; |
| } |
| const int x_482 = x_GLF_global_loop_count; |
| x_GLF_global_loop_count = (x_482 + 1); |
| const int x_484 = r; |
| const float x_486 = m23[0][x_484]; |
| const float x_487 = sum; |
| sum = (x_487 + x_486); |
| const int x_489 = r; |
| const float x_491 = m24[0][x_489]; |
| const float x_492 = sum; |
| sum = (x_492 + x_491); |
| const int x_494 = r; |
| const float x_496 = m32[0][x_494]; |
| const float x_497 = sum; |
| sum = (x_497 + x_496); |
| const int x_499 = r; |
| const float x_501 = m33[0][x_499]; |
| const float x_502 = sum; |
| sum = (x_502 + x_501); |
| const int x_504 = r; |
| const float x_506 = m34[0][x_504]; |
| const float x_507 = sum; |
| sum = (x_507 + x_506); |
| const int x_509 = r; |
| const float x_511 = m42[0][x_509]; |
| const float x_512 = sum; |
| sum = (x_512 + x_511); |
| const int x_514 = r; |
| const float x_516 = m43[0][x_514]; |
| const float x_517 = sum; |
| sum = (x_517 + x_516); |
| const int x_519 = r; |
| const float x_521 = m44[0][x_519]; |
| const float x_522 = sum; |
| sum = (x_522 + x_521); |
| { |
| const int x_524 = r; |
| r = (x_524 + 1); |
| } |
| } |
| const float x_526 = sum; |
| if ((x_526 == 8.0f)) { |
| x_GLF_color = float4(1.0f, 0.0f, 0.0f, 1.0f); |
| } else { |
| x_GLF_color = (0.0f).xxxx; |
| } |
| 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_1 = {x_GLF_color}; |
| return tint_symbol_1; |
| } |
| |
| 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; |
| } |
| FXC validation failure: |
| C:\src\dawn\test\tint\Shader@0x000001C31974FD40(409,76-87): error X3531: can't unroll loops marked with loop attribute |
| |