1 2uniform mat2 testMatrix2x2; 3uniform mat3 testMatrix3x3; 4uniform vec4 testInputs; 5uniform vec4 colorRed; 6uniform vec4 colorGreen; 7uniform float unknownInput; 8bool test_Xno_Xop_Xmat2_XX_Xvec2_Xb() { 9 vec2 v; 10 vec2 vv; 11 v = testInputs.xy; 12 v = testInputs.xy; 13 if (v != testInputs.xy) return false; 14 if (v != testInputs.xy) return false; 15 v = -testInputs.xy; 16 v = -testInputs.xy; 17 if (v != -testInputs.xy) return false; 18 vv = vec2(0.0); 19 vv = vec2(0.0); 20 return vv == vec2(0.0); 21} 22bool test_Xno_Xop_Xmat3_XX_Xvec3_Xb() { 23 vec3 v; 24 vec3 vv; 25 v = testInputs.xyz; 26 v = testInputs.xyz; 27 if (v != testInputs.xyz) return false; 28 if (v != testInputs.xyz) return false; 29 v = -testInputs.xyz; 30 v = -testInputs.xyz; 31 if (v != -testInputs.xyz) return false; 32 vv = vec3(0.0); 33 vv = vec3(0.0); 34 return vv == vec3(0.0); 35} 36bool test_Xno_Xop_Xmat4_XX_Xvec4_Xb() { 37 vec4 v; 38 vec4 vv; 39 v = testInputs; 40 v = testInputs; 41 if (v != testInputs) return false; 42 if (v != testInputs) return false; 43 v = -testInputs; 44 v = -testInputs; 45 if (v != -testInputs) return false; 46 vv = vec4(0.0); 47 vv = vec4(0.0); 48 return vv == vec4(0.0); 49} 50bool test_Xno_Xop_Xvec2_XX_Xmat2_Xb() { 51 const vec2 n = vec2(-1.0); 52 const vec2 i = vec2(1.0); 53 const vec2 z = vec2(0.0); 54 vec2 v; 55 vec2 vv = vec2(0.0); 56 vv = vec2(0.0); 57 if (vv != z) return false; 58 v = i * testMatrix2x2; 59 if (v != vec2(3.0, 7.0)) return false; 60 v = testMatrix2x2 * i; 61 if (v != vec2(4.0, 6.0)) return false; 62 v = n * testMatrix2x2; 63 if (v != vec2(-3.0, -7.0)) return false; 64 v = testMatrix2x2 * n; 65 return v == vec2(-4.0, -6.0); 66} 67bool test_Xno_Xop_Xvec3_XX_Xmat3_Xb() { 68 const vec3 n = vec3(-1.0); 69 const vec3 i = vec3(1.0); 70 const vec3 z = vec3(0.0); 71 vec3 v; 72 vec3 vv = vec3(0.0); 73 vv = vec3(0.0); 74 if (vv != z) return false; 75 v = i * testMatrix3x3; 76 if (v != vec3(6.0, 15.0, 24.0)) return false; 77 v = testMatrix3x3 * i; 78 if (v != vec3(12.0, 15.0, 18.0)) return false; 79 v = n * testMatrix3x3; 80 if (v != vec3(-6.0, -15.0, -24.0)) return false; 81 v = testMatrix3x3 * n; 82 return v == vec3(-12.0, -15.0, -18.0); 83} 84bool test_Xno_Xop_Xvec4_XX_Xmat4_Xb() { 85 const vec4 n = vec4(-1.0); 86 const vec4 i = vec4(1.0); 87 const vec4 z = vec4(0.0); 88 mat4 testMatrix4x4 = mat4(testMatrix2x2[0], testMatrix2x2[1], testMatrix2x2[0], testMatrix2x2[1], testMatrix2x2[0], testMatrix2x2[1], testMatrix2x2[0], testMatrix2x2[1]); 89 vec4 v; 90 vec4 vv = vec4(0.0); 91 vv = vec4(0.0); 92 if (vv != z) return false; 93 v = i * testMatrix4x4; 94 if (v != vec4(10.0)) return false; 95 v = testMatrix4x4 * i; 96 if (v != vec4(4.0, 8.0, 12.0, 16.0)) return false; 97 v = n * testMatrix4x4; 98 if (v != vec4(-10.0)) return false; 99 v = testMatrix4x4 * n; 100 return v == vec4(-4.0, -8.0, -12.0, -16.0); 101} 102vec4 main() { 103 return ((((test_Xno_Xop_Xmat2_XX_Xvec2_Xb() && test_Xno_Xop_Xmat3_XX_Xvec3_Xb()) && test_Xno_Xop_Xmat4_XX_Xvec4_Xb()) && test_Xno_Xop_Xvec2_XX_Xmat2_Xb()) && test_Xno_Xop_Xvec3_XX_Xmat3_Xb()) && test_Xno_Xop_Xvec4_XX_Xmat4_Xb() ? colorGreen : colorRed; 104} 105