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