1#version 450 2 3layout(binding = 0, std140) uniform Uniform 4{ 5 bvec4 b4; 6}; 7 8layout(binding = 1, std430) buffer Buffer 9{ 10 bvec2 b2; 11}; 12 13void foo(bvec4 paramb4, out bvec2 paramb2) 14{ 15 bool b1 = paramb4.z; 16 paramb2 = bvec2(b1); 17} 18 19layout(location = 0) out vec4 fragColor; 20 21void main() 22{ 23 b2 = bvec2(0.0); 24 if (b4.z) 25 b2 = bvec2(b4.x); 26 if (b2.x) 27 foo(b4, b2); 28 29 fragColor = vec4(b4.x && b4.y); 30 fragColor -= vec4(b4.x || b4.y); 31}