Merge pull request #2891 from dneto0/hlsl-namespace
[platform/upstream/glslang.git] / Test / swizzle.frag
1 #version 110\r
2 \r
3 uniform float blend;\r
4 uniform vec4 u;\r
5 uniform bool p;\r
6 \r
7 varying vec2 t;\r
8 \r
9 void main()\r
10 {\r
11     float blendscale = 1.789;\r
12 \r
13     vec4 w = u;\r
14     vec4 w_undef;       // test undef\r
15     vec4 w_dep = u;     // test dependent swizzles\r
16     vec4 w_reorder = u; // test reordering\r
17     vec4 w2 = u;\r
18     vec4 w_flow = u;    // test flowControl\r
19 \r
20     w_reorder.z = blendscale;\r
21 \r
22     w.wy = t;\r
23 \r
24     w_reorder.x = blendscale;\r
25 \r
26     w2.xyzw = u.zwxy;\r
27 \r
28     w_reorder.y = blendscale;\r
29 \r
30     w_dep.xy = w2.xz;\r
31     w_dep.zw = t;\r
32 \r
33     w_undef.xy = u.zw;\r
34 \r
35     if (p)\r
36         w_flow.x = t.x;\r
37     else\r
38         w_flow.x = t.y;\r
39 \r
40     gl_FragColor = mix(w_reorder, w_undef, w * w2 * w_dep * w_flow);\r
41 \r
42     vec2 c = t;\r
43     vec4 rep = vec4(0.0, 0.0, 0.0, 1.0);\r
44 \r
45     if (c.x < 0.0)\r
46         c.x *= -1.0;\r
47 \r
48     if (c.x <= 1.0)\r
49         rep.x = 3.4;\r
50 \r
51     gl_FragColor += rep;\r
52 }\r