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 36 37 38 39
|
# Test that when an interface block contains members which are unsized
# arrays, the standard rules are applied in order to determine the
# array sizes (namely, the sizes should be inferred from the maximum
# array element accessed).
#
# In this test, the vertex shader uses an array size of 2, and the
# fragment shader uses an array size of 3, so link error should be
# produced.
[require]
GLSL >= 1.50
[vertex shader]
#version 150
in vec4 piglit_vertex;
out blk {
float foo[];
} ifc_name;
void main()
{
ifc_name.foo[0] = 0.0;
ifc_name.foo[1] = 0.0;
gl_Position = piglit_vertex;
}
[fragment shader]
#version 150
in blk {
float foo[];
} ifc_name;
void main()
{
gl_FragColor = vec4(ifc_name.foo[0], ifc_name.foo[1], ifc_name.foo[2], 1.0);
}
[test]
link error
|