3 layout (location = 0) out vec4 io;
\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
10 uniform vec4 c2; // not delcared in other file
\r
15 layout (binding = 0) uniform atomic_uint counter3;
\r
16 layout (binding = 0) uniform atomic_uint counter2;
\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
22 return float(j) * v;
\r
28 v = v + s[gl_VertexID - gl_VertexIndex];
\r
29 v.x = v.x - float(gl_InstanceID - gl_InstanceIndex);
\r