Merge pull request #2976 from jeremy-lunarg/hayes-fix-2975
[platform/upstream/glslang.git] / Test / spv.loopsArtificial.frag
1 #version 140\r
2 in vec4 bigColor;\r
3 in vec4 bigColor1_1;\r
4 in vec4 bigColor1_2;\r
5 in vec4 bigColor1_3;\r
6 in vec4 bigColor2;\r
7 in vec4 bigColor3;\r
8 in vec4 bigColor4;\r
9 in vec4 bigColor5;\r
10 in vec4 bigColor6;\r
11 in vec4 bigColor7;\r
12 in vec4 bigColor8;\r
13 \r
14 in vec4 BaseColor;\r
15 \r
16 in float d;\r
17 in float d2;\r
18 in float d3;\r
19 in float d4;\r
20 in float d13;\r
21 \r
22 flat in int Count;\r
23 \r
24 void main()\r
25 {\r
26     vec4 color = BaseColor;\r
27 \r
28     // Latchy2\r
29     do {\r
30         color += bigColor4;\r
31         if (color.x < d4) {\r
32             color.z += 2.0;\r
33             if (color.z < d4) {\r
34                 color.x++;\r
35                 continue;\r
36             }\r
37         }\r
38         if (color.y < d4)\r
39             color.y += d4;\r
40         else\r
41             color.x += d4;\r
42     } while (color.z < d4);\r
43 \r
44     // Immediate dominator\r
45     while (color.w < d13) {\r
46         if (color.z < d13)\r
47             color++;\r
48         else\r
49             color--;\r
50         // code from Latchy 2\r
51         color += bigColor4;\r
52         if (color.x < d4) {\r
53             color.z += 2.0;\r
54             if (color.z < d4) {\r
55                 color.x++;\r
56                 continue;\r
57             }\r
58         }\r
59         if (color.y < d4)\r
60             color.y += d4;\r
61         else\r
62             color.x += d4;\r
63     }\r
64 \r
65     color++;\r
66     gl_FragColor = color;\r
67 }\r