Merge pull request #3031 from rg3igalia/sub-group-size-arb-flat-fix
[platform/upstream/glslang.git] / Test / vk.relaxed.link1.frag
1 #version 460\r
2 \r
3 out vec4 o;\r
4 \r
5 // default uniforms will be gathered into a uniform block\r
6 // final global block will merge uniforms from all linked files\r
7 uniform vec4 a;     // declared in both stages\r
8 uniform vec2 b1;    // declaration order swapped in other stage\r
9 uniform vec2 b2;\r
10 uniform vec4 c1;    // not delcared in other file\r
11 uniform vec4 d;\r
12 \r
13 // final global buffer will berge buffers from all linked files\r
14 layout (binding = 0) uniform atomic_uint counter1;\r
15 layout (binding = 0) uniform atomic_uint counter2;\r
16 \r
17 vec4 foo();\r
18 \r
19 vec4 bar() {\r
20     uint j = atomicCounterIncrement(counter1) + atomicCounterDecrement(counter2);\r
21     vec4 v = a + vec4(b1.x, b1.y, b2.x, b2.y) + c1 + d;\r
22 \r
23     return float(j) * v;\r
24 }\r
25 \r
26 void main() {\r
27     o = foo() + bar();\r
28 }