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
9#ifdef GL_ES
10precision mediump float;
11#endif
12const float FloatConst1 = 3.0 * 8.0, floatConst2 = 4.0;
13const bool BoolConst1 = true && true || false;
14const bool BoolConst2 = false || !false && false;
15
16void main (void)
17{
18    float float1 = 4.0, float2 = floatConst2;
19    int int_1 = int(FloatConst1);
20    vec4 vec4_1;
21    vec3 vec3_1;
22//  unsigned int unsigned_int_1;
23    bool bool4, bool5;
24
25    bool4 = bool5;
26    //float1 = bool5;
27    //bool5 = float1;
28
29    bool4 = 4.0 > 5.0;
30    bool4 = !(3.2 != 0.0);
31    bool4 = bool(float1);
32    bool4 = bool(int_1);
33    float1 = float(bool4);
34    float1 = float(int_1);
35    int_1 = int(float1);
36    int_1 = int(bool4);
37
38    {
39        int a, b, c;
40
41        a = b;
42        b = c;
43        {
44            int b, c, d;
45
46            b = c;
47            c = d;
48            {
49                int a, d, e;
50
51                a = d;
52                d = e;
53            }
54            {
55                int a, b, c;
56                a = b;
57                b = c;
58            }
59        }
60        a = b;
61        b = c;
62    }
63
64    {
65        float f1, f2;
66        vec3 v31, v32;
67
68        max(f1, f2);
69        max(v31, v32);
70
71        vec4 v4 = vec4(3.0);
72        vec3 v3 = -vec3(2.0, 1.0, 3.0);
73        mat2 m2 = mat2(3.0, 4.0, 6.0, 3.0);
74        //mat4 m4 = mat4(1.0, m2, v3, v4, m2);
75    }
76
77    if (BoolConst1)
78        ++vec3_1;
79    else
80        --vec3_1;
81
82    if (BoolConst2)
83        ++vec3_1;
84    else
85        --vec3_1;
86
87    if (BoolConst1 || BoolConst2)
88        ++vec3_1;
89    else
90        --vec3_1;
91
92    if (BoolConst2 && BoolConst1)
93        ++vec3_1;
94    else
95        --vec3_1;
96
97    if (FloatConst1 != 0.0)
98        --int_1;
99    else
100        ++int_1;
101
102    if (0 != 0)
103        ++int_1;
104    else
105        --int_1;
106
107    bool4 = BoolConst1 && ! (int_1 != 0) && ! BoolConst1  && ! (FloatConst1 != 0.0) && (FloatConst1 != 0.0) && (float1 != 0.0);
108
109    float1 = 5 != 0 ? float1 : float(int_1);
110    float1 = 0 != 0 ? float1 : float(int_1);
111
112    if (float1 != float1)
113        ++int_1;
114    else
115        --int_1;
116
117    float1 = float1 != float1 ? float1 : float(int_1);
118
119    --int_1;
120    ++float1;
121    (vec4_1.x)--;
122    vec3_1++;
123
124	if (int_1 != 4)
125		discard;
126
127    float1 = 4.0 + 6.0;
128    int ii,jj,kk;
129    float ff;
130    ii = jj, kk, ff;
131
132    vec4_1 = vec4_1 + 2.0;
133    ivec4 iv;
134    iv = iv + 2;
135    gl_FragColor = vec4(float1+float1, float1, float1, float(int_1));
136}
137