Implement GL_EXT_vulkan_glsl_relaxed option
This commit is contained in:
committed by
Malcolm Bechard
parent
159b057080
commit
ecc9b9149f
28
Test/vk.relaxed.link1.frag
Normal file
28
Test/vk.relaxed.link1.frag
Normal file
@@ -0,0 +1,28 @@
|
||||
#version 460
|
||||
|
||||
out vec4 o;
|
||||
|
||||
// default uniforms will be gathered into a uniform block
|
||||
// final global block will merge uniforms from all linked files
|
||||
uniform vec4 a; // declared in both stages
|
||||
uniform vec2 b1; // declaration order swapped in other stage
|
||||
uniform vec2 b2;
|
||||
uniform vec4 c1; // not delcared in other file
|
||||
uniform vec4 d;
|
||||
|
||||
// final global buffer will berge buffers from all linked files
|
||||
layout (binding = 0) uniform atomic_uint counter1;
|
||||
layout (binding = 0) uniform atomic_uint counter2;
|
||||
|
||||
vec4 foo();
|
||||
|
||||
vec4 bar() {
|
||||
uint j = atomicCounterIncrement(counter1) + atomicCounterDecrement(counter2);
|
||||
vec4 v = a + vec4(b1.x, b1.y, b2.x, b2.y) + c1 + d;
|
||||
|
||||
return float(j) * v;
|
||||
}
|
||||
|
||||
void main() {
|
||||
o = foo() + bar();
|
||||
}
|
||||
Reference in New Issue
Block a user