Merge pull request #3031 from rg3igalia/sub-group-size-arb-flat-fix
[platform/upstream/glslang.git] / Test / vk.relaxed.stagelink.vert
1 #version 460\r
2 \r
3 layout (location = 0) out vec4 io;\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 b2;    // declaration order swapped in other stage\r
9 uniform vec2 b1;\r
10 uniform vec4 c2;    // not delcared in other file\r
11 uniform vec4 d;\r
12 \r
13 uniform vec4 s[4];\r
14 \r
15 layout (binding = 0) uniform atomic_uint counter3;\r
16 layout (binding = 0) uniform atomic_uint counter2;\r
17 \r
18 vec4 foo() {\r
19     uint j = atomicCounterIncrement(counter2) + atomicCounterDecrement(counter3);\r
20     vec4 v = a + vec4(b1.x, b1.y, b2.x, b2.y) + c2 + d;\r
21 \r
22     return float(j) * v;\r
23 }\r
24 \r
25 void main() {\r
26 \r
27     vec4 v = foo();\r
28     v = v + s[gl_VertexID - gl_VertexIndex];\r
29     v.x = v.x - float(gl_InstanceID - gl_InstanceIndex);\r
30     io = v;\r
31 }\r