1 2uniform mat2 testMatrix2x2; 3uniform mat3 testMatrix3x3; 4uniform vec4 testInputs; 5uniform vec4 colorRed; 6uniform vec4 colorGreen; 7uniform float unknownInput; 8bool test_Xno_Xop_Xscalar_XX_Xmat2_Xb() { 9 mat2 m; 10 mat2 mm; 11 const mat2 z = mat2(0.0); 12 m = testMatrix2x2; 13 m = testMatrix2x2; 14 if (m != testMatrix2x2) return false; 15 if (m != testMatrix2x2) return false; 16 if (m != testMatrix2x2) return false; 17 m = -m; 18 if (m != -testMatrix2x2) return false; 19 mm = mat2(0.0); 20 mm = mat2(0.0); 21 return mm == z; 22} 23bool test_Xno_Xop_Xscalar_XX_Xmat3_Xb() { 24 mat3 m; 25 mat3 mm; 26 const mat3 z = mat3(0.0); 27 m = testMatrix3x3; 28 m = testMatrix3x3; 29 if (m != testMatrix3x3) return false; 30 if (m != testMatrix3x3) return false; 31 if (m != testMatrix3x3) return false; 32 m = -m; 33 if (m != -testMatrix3x3) return false; 34 mm = mat3(0.0); 35 mm = mat3(0.0); 36 return mm == z; 37} 38bool test_Xno_Xop_Xscalar_XX_Xmat4_Xb() { 39 mat4 testMatrix4x4 = mat4(testInputs, testInputs, testInputs, testInputs); 40 mat4 m; 41 mat4 mm; 42 const mat4 z = mat4(0.0); 43 m = testMatrix4x4; 44 m = testMatrix4x4; 45 if (m != testMatrix4x4) return false; 46 if (m != testMatrix4x4) return false; 47 if (m != testMatrix4x4) return false; 48 m = -m; 49 if (m != -testMatrix4x4) return false; 50 mm = mat4(0.0); 51 mm = mat4(0.0); 52 return mm == z; 53} 54bool test_Xno_Xop_Xmat2_XX_Xscalar_Xb() { 55 mat2 m; 56 mat2 mm; 57 const mat2 z = mat2(0.0); 58 const mat2 s = mat2(vec4(1.0).xy, vec4(1.0).zw); 59 float scalar = testInputs.x; 60 m = mat2(scalar); 61 m = mat2(scalar); 62 if (m != mat2(scalar)) return false; 63 m = scalar / s; 64 if (m != mat2(scalar, scalar, scalar, scalar)) return false; 65 m = scalar + z; 66 m = z + scalar; 67 if (m != mat2(scalar, scalar, scalar, scalar)) return false; 68 m = scalar - z; 69 m = z - scalar; 70 if (m != -mat2(scalar, scalar, scalar, scalar)) return false; 71 mm = mat2(0.0); 72 mm = mat2(0.0); 73 return mm == z; 74} 75bool test_Xno_Xop_Xmat3_XX_Xscalar_Xb() { 76 mat3 m; 77 mat3 mm; 78 const mat3 z = mat3(0.0); 79 const mat3 s = mat3(vec3(1.0), vec3(1.0), vec3(1.0)); 80 float scalar = testInputs.x; 81 vec3 scalar3 = vec3(scalar); 82 m = mat3(scalar); 83 m = mat3(scalar); 84 if (m != mat3(scalar)) return false; 85 m = scalar / s; 86 if (m != mat3(scalar3, scalar3, scalar3)) return false; 87 m = scalar + z; 88 m = z + scalar; 89 if (m != mat3(scalar3, scalar3, scalar3)) return false; 90 m = scalar - z; 91 m = z - scalar; 92 if (m != -mat3(scalar3, scalar3, scalar3)) return false; 93 mm = mat3(0.0); 94 mm = mat3(0.0); 95 return mm == z; 96} 97bool test_Xno_Xop_Xmat4_XX_Xscalar_Xb() { 98 mat4 m; 99 mat4 mm; 100 const mat4 z = mat4(0.0); 101 const mat4 s = mat4(vec4(1.0), vec4(1.0), vec4(1.0), vec4(1.0)); 102 float scalar = testInputs.x; 103 vec4 scalar4 = vec4(scalar); 104 m = mat4(scalar); 105 m = mat4(scalar); 106 if (m != mat4(scalar)) return false; 107 m = scalar / s; 108 if (m != mat4(scalar4, scalar4, scalar4, scalar4)) return false; 109 m = scalar + z; 110 m = z + scalar; 111 if (m != mat4(scalar4, scalar4, scalar4, scalar4)) return false; 112 m = scalar - z; 113 m = z - scalar; 114 if (m != -mat4(scalar4, scalar4, scalar4, scalar4)) return false; 115 mm = mat4(0.0); 116 mm = mat4(0.0); 117 return mm == z; 118} 119vec4 main() { 120 return ((((test_Xno_Xop_Xscalar_XX_Xmat2_Xb() && test_Xno_Xop_Xscalar_XX_Xmat3_Xb()) && test_Xno_Xop_Xscalar_XX_Xmat4_Xb()) && test_Xno_Xop_Xmat2_XX_Xscalar_Xb()) && test_Xno_Xop_Xmat3_XX_Xscalar_Xb()) && test_Xno_Xop_Xmat4_XX_Xscalar_Xb() ? colorGreen : colorRed; 121} 122