Merge pull request #2976 from jeremy-lunarg/hayes-fix-2975
[platform/upstream/glslang.git] / Test / spv.aggOps.frag
1 #version 450\r
2 \r
3 uniform sampler2D samp2D;\r
4 in mediump vec2 coord;\r
5 \r
6 in vec4 u, w;\r
7 out vec4 color;\r
8 \r
9 struct s1 {\r
10     int i;\r
11     float f;\r
12 };\r
13 \r
14 struct s2 {\r
15     int i;\r
16     float f;\r
17         s1 s1_1;\r
18 };\r
19 \r
20 layout(std140) uniform ub1 { s2 foo2a; } uName1;\r
21 layout(std430) buffer  ub2 { s2 foo2b; } uName2;\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 (uName1.foo2a == uName2.foo2b)\r
31         v = texture(samp2D, coord);\r
32     else\r
33         v = texture(samp2D, 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         color =  v;\r
51 }\r