1 2out vec4 sk_FragColor; 3uniform vec4 colorGreen; 4uniform vec4 colorRed; 5uniform mat2 testMatrix2x2; 6vec4 main() { 7 bool ok = true; 8 int i = 5; 9 ++i; 10 ok = ok && i == 6; 11 ok = ok && ++i == 7; 12 ok = ok && --i == 6; 13 --i; 14 ok = ok && i == 5; 15 float f = 0.5; 16 ++f; 17 ok = ok && f == 1.5; 18 ok = ok && ++f == 2.5; 19 ok = ok && --f == 1.5; 20 --f; 21 ok = ok && f == 0.5; 22 vec2 f2 = vec2(0.5); 23 ++f2.x; 24 ok = ok && f2.x == 1.5; 25 ok = ok && ++f2.x == 2.5; 26 ok = ok && --f2.x == 1.5; 27 --f2.x; 28 ok = ok && f2.x == 0.5; 29 ++f2; 30 ok = ok && f2 == vec2(1.5); 31 ok = ok && ++f2 == vec2(2.5); 32 ok = ok && --f2 == vec2(1.5); 33 --f2; 34 ok = ok && f2 == vec2(0.5); 35 ivec4 i4 = ivec4(7, 8, 9, 10); 36 ++i4; 37 ok = ok && i4 == ivec4(8, 9, 10, 11); 38 ok = ok && ++i4 == ivec4(9, 10, 11, 12); 39 ok = ok && --i4 == ivec4(8, 9, 10, 11); 40 --i4; 41 ok = ok && i4 == ivec4(7, 8, 9, 10); 42 mat3 m3x3 = mat3(1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0); 43 ++m3x3; 44 ok = ok && m3x3 == mat3(2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0); 45 ok = ok && ++m3x3 == mat3(3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0); 46 ok = ok && --m3x3 == mat3(2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0); 47 --m3x3; 48 ok = ok && m3x3 == mat3(1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0); 49 ok = ok && colorGreen.x != 1.0; 50 ok = ok && -1.0 == -colorGreen.y; 51 ok = ok && vec4(0.0, -1.0, 0.0, -1.0) == -colorGreen; 52 ok = ok && mat2(-1.0, -2.0, -3.0, -4.0) == -testMatrix2x2; 53 ivec2 iv = ivec2(i, -i); 54 ok = ok && -i == -5; 55 ok = ok && -iv == ivec2(-5, 5); 56 return ok ? colorGreen : colorRed; 57} 58