1 2/* 3Copyright (c) 2019 The Khronos Group Inc. 4Use of this source code is governed by an MIT-style license that can be 5found in the LICENSE.txt file. 6*/ 7 8 9const float FloatConst1 = 3.0 * 8.0, floatConst2 = 4.0; 10const bool BoolConst1 = true && true || false; 11const bool BoolConst2 = false || !false && false; 12 13void main (void) 14{ 15 float float1 = 4.0, float2 = floatConst2; 16 int int_1 = int(FloatConst1); 17 vec4 vec4_1; 18 vec3 vec3_1 = vec3(1, 1, 1); 19 vec3 vec3_2 = vec3(0, 0, 0); 20// unsigned int unsigned_int_1; 21 bool bool4, bool5; 22 23 bool4 = bool5; 24 //float1 = bool5; 25 //bool5 = float1; 26 27 bool4 = 4 > 5; 28 bool4 = !(3.2 != 0.0); 29 bool4 = bool(float1); 30 bool4 = bool(int_1); 31 float1 = float(bool4); 32 float1 = float(int_1); 33 int_1 = int(float1); 34 int_1 = int(bool4); 35 36 { 37 int a, b, c; 38 39 a = b; 40 b = c; 41 { 42 int b, c, d; 43 44 b = c; 45 c = d; 46 { 47 int a, d, e; 48 49 a = d; 50 d = e; 51 } 52 { 53 int a, b, c; 54 a = b; 55 b = c; 56 } 57 } 58 a = b; 59 b = c; 60 } 61 62 { 63 float f1, f2; 64 vec3 v31, v32; 65 66 max(f1, f2); 67 max(v31, v32); 68 69 vec4 v4 = vec4(3.0); 70 vec3 v3 = -vec3(2.0, 1.0, 3.0); 71 mat2 m2 = mat2(3.0, 4.0, 6.0, 3.0); 72 //mat4 m4 = mat4(1.0, m2, v3, v4, m2); 73 } 74 75 if (BoolConst1) 76 ++vec3_1; 77 else 78 --vec3_1; 79 80 if (BoolConst2) 81 ++vec3_1; 82 else 83 --vec3_1; 84 85 if (BoolConst1 || BoolConst2) 86 ++vec3_1; 87 else 88 --vec3_1; 89 90 if (BoolConst2 && BoolConst1) 91 ++vec3_1; 92 else 93 --vec3_1; 94 95 if (FloatConst1 != 0.0) 96 --int_1; 97 else 98 ++int_1; 99 100 if (0 != 0) 101 ++int_1; 102 else 103 --int_1; 104 105 bool4 = BoolConst1 && ! (int_1 != 0) && ! BoolConst1 && ! (FloatConst1 != 0.0) && (FloatConst1 != 0.0) && (float1 != 0.0); 106 107 float1 = 5 != 0 ? float1 : float(int_1); 108 float1 = BoolConst1 ? float1 : float(int_1); 109 110 if (float1 != float1) 111 ++int_1; 112 else 113 --int_1; 114 115 float1 = float1 != float1 ? float1 : float(int_1); 116 117 --int_1; 118 ++float1; 119 (vec4_1.x)--; 120 vec3_1++; 121 122 if (vec3_1.x > vec3_2.x) 123 float1 = 4.0 + 6.0; 124 125 if (bool4 ^^ bool5) 126 float1 *= 2.4; 127 128 if (false ^^ false) 129 float1 *= 2.5; 130 131 if (true ^^ false) 132 float1 *= 2.6; 133 134 { 135 int i; 136 } 137 138 if (bool4) { 139 int i; 140 } else { 141 int i; 142 i = 5; 143 } 144 145 mat4 m1; 146 m1[2][1] = 4.0; 147 148 gl_Position = vec4(float1+float1, float1, float1, float(int_1)); 149} 150