1 2out vec4 sk_FragColor; 3uniform vec4 colorGreen; 4uniform vec4 colorRed; 5bool test_half_b() { 6 bool ok = true; 7 mat2 m1 = mat2(1.0, 2.0, 3.0, 4.0); 8 ok = ok && m1 == mat2(1.0, 2.0, 3.0, 4.0); 9 mat2 m3 = m1; 10 ok = ok && m3 == mat2(1.0, 2.0, 3.0, 4.0); 11 mat2 m4 = mat2(6.0); 12 ok = ok && m4 == mat2(6.0, 0.0, 0.0, 6.0); 13 m3 *= m4; 14 ok = ok && m3 == mat2(6.0, 12.0, 18.0, 24.0); 15 mat2 m5 = mat2(m1[1].y); 16 ok = ok && m5 == mat2(4.0, 0.0, 0.0, 4.0); 17 m1 += m5; 18 ok = ok && m1 == mat2(5.0, 2.0, 3.0, 8.0); 19 mat2 m7 = mat2(5.0, 6.0, 7.0, 8.0); 20 ok = ok && m7 == mat2(5.0, 6.0, 7.0, 8.0); 21 mat3 m9 = mat3(9.0); 22 ok = ok && m9 == mat3(9.0, 0.0, 0.0, 0.0, 9.0, 0.0, 0.0, 0.0, 9.0); 23 mat4 m10 = mat4(11.0); 24 ok = ok && m10 == mat4(11.0, 0.0, 0.0, 0.0, 0.0, 11.0, 0.0, 0.0, 0.0, 0.0, 11.0, 0.0, 0.0, 0.0, 0.0, 11.0); 25 mat4 m11 = mat4(20.0, 20.0, 20.0, 20.0, 20.0, 20.0, 20.0, 20.0, 20.0, 20.0, 20.0, 20.0, 20.0, 20.0, 20.0, 20.0); 26 m11 -= m10; 27 ok = ok && m11 == mat4(9.0, 20.0, 20.0, 20.0, 20.0, 9.0, 20.0, 20.0, 20.0, 20.0, 9.0, 20.0, 20.0, 20.0, 20.0, 9.0); 28 return ok; 29} 30bool test_comma_b() { 31 mat2 x; 32 mat2 y; 33 return ((x = mat2(1.0, 2.0, 3.0, 4.0), y = mat2(1.0, 2.0, 3.0, 4.0)), x == y); 34} 35vec4 main() { 36 bool _0_ok = true; 37 mat2 _1_m1 = mat2(1.0, 2.0, 3.0, 4.0); 38 _0_ok = _0_ok && _1_m1 == mat2(1.0, 2.0, 3.0, 4.0); 39 mat2 _2_m3 = _1_m1; 40 _0_ok = _0_ok && _2_m3 == mat2(1.0, 2.0, 3.0, 4.0); 41 const mat2 _3_m4 = mat2(6.0); 42 _2_m3 *= _3_m4; 43 _0_ok = _0_ok && _2_m3 == mat2(6.0, 12.0, 18.0, 24.0); 44 mat2 _4_m5 = mat2(_1_m1[1].y); 45 _0_ok = _0_ok && _4_m5 == mat2(4.0, 0.0, 0.0, 4.0); 46 _1_m1 += _4_m5; 47 _0_ok = _0_ok && _1_m1 == mat2(5.0, 2.0, 3.0, 8.0); 48 const mat4 _7_m10 = mat4(11.0); 49 mat4 _8_m11 = mat4(20.0, 20.0, 20.0, 20.0, 20.0, 20.0, 20.0, 20.0, 20.0, 20.0, 20.0, 20.0, 20.0, 20.0, 20.0, 20.0); 50 _8_m11 -= _7_m10; 51 _0_ok = _0_ok && _8_m11 == mat4(9.0, 20.0, 20.0, 20.0, 20.0, 9.0, 20.0, 20.0, 20.0, 20.0, 9.0, 20.0, 20.0, 20.0, 20.0, 9.0); 52 return (_0_ok && test_half_b()) && test_comma_b() ? colorGreen : colorRed; 53} 54