Merge pull request #2913 from greg-lunarg/i2905
[platform/upstream/glslang.git] / Test / spv.prepost.frag
1 #version 140\r
2 \r
3 void main()\r
4 {\r
5     struct s {\r
6         float y[5];\r
7     } str;\r
8 \r
9     float t;\r
10     int index = 5;  // all indexing is 4\r
11 \r
12     str.y[4] = 2.0;             // 2.0\r
13     t = ++str.y[--index];       // 3.0\r
14     str.y[4] += t;              // 6.0\r
15     t = str.y[4]--;             // 5.0 (t = 6.0)\r
16     str.y[index++] += t;        // 11.0\r
17     --str.y[--index];           // 10.0\r
18 \r
19     float x = str.y[4];\r
20         ++x;\r
21         --x;\r
22         x++;\r
23         x--;\r
24 \r
25         // x is 10.0\r
26 \r
27         float y = x * ++x;  // 10 * 11\r
28         float z = y * x--;  // 110 * 11\r
29 \r
30     // x is 10.0\r
31     // z is 1210.0\r
32 \r
33     vec4 v = vec4(1.0, 2.0, 3.0, 4.0);\r
34     v.y = v.z--;  // (1,3,2,4)\r
35     v.x = --v.w;  // (3,3,2,3)\r
36 \r
37     gl_FragColor = z * v;// (3630.0, 3630.0, 2420.0, 3630.0)\r
38 }\r