1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
# Tests that a link error occurs when an interface block member's type
# differs between the vertex and fragment shaders.
#
# GLSLangSpec.1.50.11, 4.3.7 Interface Blocks:
# "Matched block names within an interface (as defined above) must match
# in terms of having the same number of declarations with the same
# sequence of types and the same sequence of member names, as well as
# having the same member-wise layout qualification (see next section)."
[require]
GLSL >= 1.50
[vertex shader]
out block {
vec4 a;
} vs1_block;
void main()
{
gl_Position = vec4(0.0);
}
[vertex shader]
out block {
vec4 a;
vec4 b; // b is not present in VS #1 interface block
} vs_block;
[fragment shader]
void main()
{
}
[test]
link error
|