Merge pull request #2976 from jeremy-lunarg/hayes-fix-2975
[platform/upstream/glslang.git] / Test / types.frag
1 #version 130\r
2 \r
3 uniform bool  u_b;\r
4 uniform bvec2 u_b2;\r
5 uniform bvec3 u_b3;\r
6 uniform bvec4 u_b4;\r
7 \r
8 uniform int   u_i;\r
9 uniform ivec2 u_i2;\r
10 uniform ivec3 u_i3;\r
11 uniform ivec4 u_i4;\r
12  \r
13 uniform float u_f;\r
14 uniform vec2 u_f2;\r
15 uniform vec3 u_f3;\r
16 uniform vec4 u_f4;\r
17 \r
18 uniform bool  i_b;\r
19 uniform bvec2 i_b2;\r
20 uniform bvec3 i_b3;\r
21 uniform bvec4 i_b4;\r
22 \r
23 flat in int   i_i;\r
24 flat in ivec2 i_i2;\r
25 flat in ivec3 i_i3;\r
26 flat in ivec4 i_i4;\r
27 \r
28 in float i_f;\r
29 in vec2 i_f2;\r
30 in vec3 i_f3;\r
31 in vec4 i_f4;\r
32 \r
33 void main()\r
34 {\r
35     bool  b = u_b && i_b;\r
36     bvec2 b2 = bvec2(u_b2.x && i_b2.x && u_b2.y && i_b2.y);\r
37     bvec3 b3 = bvec3(u_b3.x && i_b3.x && u_b3.y && i_b3.y && u_b3.z && i_b3.z);\r
38     bvec4 b4 = bvec4(u_b4.x && i_b4.x && u_b4.y && i_b4.y && u_b4.z && i_b4.z && u_b4.w && i_b4.w);\r
39 \r
40     int   i = u_i + i_i;\r
41     ivec2 i2 = u_i2 + i_i2;\r
42     ivec3 i3 = u_i3 + i_i3;\r
43     ivec4 i4 = u_i4 + i_i4;\r
44 \r
45     float f = u_f + i_f;\r
46     vec2  f2 = u_f2 + i_f2;\r
47     vec3  f3 = u_f3 + i_f3;\r
48     vec4  f4 = u_f4 + i_f4;\r
49 \r
50     gl_FragColor = \r
51         b || \r
52         b2.x ||\r
53         b2.y ||\r
54         b3.x ||\r
55         b3.y ||\r
56         b3.z ||\r
57         b4.x ||\r
58         b4.y ||\r
59         b4.z ||\r
60         b4.w ? vec4(\r
61         i  +\r
62         i2.x +\r
63         i2.y +\r
64         i3.x +\r
65         i3.y +\r
66         i3.z +\r
67         i4.x +\r
68         i4.y +\r
69         i4.z +\r
70         i4.w +\r
71         f  +\r
72         f2.x +\r
73         f2.y +\r
74         f3.x +\r
75         f3.y +\r
76         f3.z +\r
77         f4.x +\r
78         f4.y +\r
79         f4.z +\r
80         f4.w) : vec4(1.0);        \r
81 }\r