ARB_ubo/referenced-by-shader: pass if shader compiler moves UBOs between shaders
[piglit.git] / tests / spec / glsl-1.50 / linker / unsized-in-named-interface-block.shader_test
blobf2880140bd4d3e986423d2901da26b7470a8e9ed
1 # Test that when an interface block contains members which are unsized
2 # arrays, the standard rules are applied in order to determine the
3 # array sizes (namely, the sizes should be inferred from the maximum
4 # array element accessed).
6 # In this test, the vertex shader uses an array size of 2, and the
7 # fragment shader uses an array size of 3, so link error should be
8 # produced.
10 [require]
11 GLSL >= 1.50
13 [vertex shader]
14 #version 150
15 in vec4 piglit_vertex;
16 out blk {
17   float foo[];
18 } ifc_name;
20 void main()
22   ifc_name.foo[0] = 0.0;
23   ifc_name.foo[1] = 0.0;
24   gl_Position = piglit_vertex;
27 [fragment shader]
28 #version 150
29 in blk {
30   float foo[];
31 } ifc_name;
33 void main()
35   gl_FragColor = vec4(ifc_name.foo[0], ifc_name.foo[1], ifc_name.foo[2], 1.0);
38 [test]
39 link error