Merge pull request #2976 from jeremy-lunarg/hayes-fix-2975
[platform/upstream/glslang.git] / Test / aggOps.frag
1 #version 130\r
2 \r
3 uniform sampler2D sampler;\r
4 varying mediump vec2 coord;\r
5 \r
6 varying vec4 u, w;\r
7 \r
8 struct s1 {\r
9     int i;\r
10     float f;\r
11 };\r
12 \r
13 struct s2 {\r
14     int i;\r
15     float f;\r
16         s1 s1_1;\r
17 };\r
18 \r
19 uniform s1 foo1;\r
20 uniform s2 foo2a;\r
21 uniform s2 foo2b;\r
22 \r
23 void main()\r
24 {\r
25     vec4 v;\r
26     s1 a[3], b[3];\r
27     a = s1[3](s1(int(u.x), u.y), s1(int(u.z), u.w), s1(14, 14.0));\r
28     b = s1[3](s1(17, 17.0), s1(int(w.x), w.y), s1(int(w.z), w.w));\r
29 \r
30     if (foo2a == foo2b)\r
31         v = texture2D(sampler, coord);\r
32     else\r
33         v = texture2D(sampler, 2.0*coord);\r
34 \r
35     if (u == v)\r
36         v *= 3.0;\r
37 \r
38     if (u != v)\r
39         v *= 4.0;\r
40 \r
41     if (coord == v.yw)\r
42         v *= 5.0;\r
43 \r
44     if (a == b)\r
45         v *= 6.0;\r
46 \r
47     if (a != b)\r
48         v *= 7.0;\r
49 \r
50         gl_FragColor =  v;\r
51 }\r