Merge pull request #2892 from greg-lunarg/mb
[platform/upstream/glslang.git] / Test / spv.boolInBlock.frag
1 #version 450\r
2 \r
3 layout(binding = 0, std140) uniform Uniform\r
4 {\r
5     bvec4 b4;\r
6 };\r
7 \r
8 layout(binding = 1, std430) buffer Buffer\r
9 {\r
10     bvec2 b2;\r
11 };\r
12 \r
13 void foo(bvec4 paramb4, out bvec2 paramb2)\r
14 {\r
15     bool b1 = paramb4.z;\r
16     paramb2 = bvec2(b1);\r
17 }\r
18 \r
19 layout(location = 0) out vec4 fragColor;\r
20 \r
21 void main()\r
22 {\r
23     b2 = bvec2(0.0);\r
24     if (b4.z)\r
25         b2 = bvec2(b4.x);\r
26     if (b2.x)\r
27         foo(b4, b2);\r
28 \r
29     fragColor  = vec4(b4.x && b4.y);\r
30     fragColor -= vec4(b4.x || b4.y);\r
31 }