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