1#version 430 2 3// OK: different instance names is allowed in other unit 4layout (std140, binding = 0) uniform MatrixBlock 5{ 6 mat4 uProj; 7 mat4 uWorld; 8} uM; 9 10// OK: other unit has it as anonymous, but that is allowed 11out Vertex 12{ 13 vec4 v1; 14 vec4 v2; 15} oV; 16 17// OK: different instance names is allowed in other unit 18layout (std140, binding = 1) uniform ColorBlock 19{ 20 vec4 color1; 21 bool b; 22 vec4 color2; 23 vec4 color3; 24} uC; 25 26// OK: different instance names is allowed in other unit 27layout (std430, binding = 1) buffer BufferBlock 28{ 29 mat4 p; 30} uBuf; 31 32layout (std430, binding = 0) buffer SecondaryColorBlock 33{ 34 vec4 c; 35} uColorBuf; 36 37vec4 getWorld(); 38vec4 getColor2(); 39 40out vec4 oColor; 41 42void 43main() 44{ 45 oColor = uC.color1 * getColor2() * uColorBuf.c; 46 oV.v1 = uC.color1; 47 48 gl_Position = uM.uProj * getWorld(); 49} 50