ext_gpu_shader4: add compiler tests for everything
[piglit.git] / tests / spec / glsl-1.50 / linker / gs-input-sizing-layout-less-than-size-blocks.shader_test
blob1f9ccc7ab4fda328b41d9e8cc326c13ce994adc5
1 # Section 4.3.8.1 (Input Layout Qualifiers) of the GLSL 1.50 spec says:
3 # It is a link-time error if not all provided sizes (sized input
4 # arrays and layout size) match across all geometry shaders in the
5 # program.
7 # This test exercises the case where the layout size is less than the
8 # size of a sized input array in another compilation unit.
10 # This test verifies the case for input interface blocks.
12 [require]
13 GLSL >= 1.50
15 [vertex shader]
16 #version 150
18 in vec4 vertex;
20 out blk {
21   vec4 vertex_to_gs;
24 void main()
26   vertex_to_gs = vertex;
29 [geometry shader]
30 #version 150
32 layout(lines) in;
33 layout(triangle_strip, max_vertices = 3) out;
35 void do_vertex(int i);
37 void main()
39   for (int i = 0; i < 2; i++)
40     do_vertex(i);
43 [geometry shader]
44 #version 150
46 in blk {
47   vec4 vertex_to_gs;
48 } inst[3];
50 void do_vertex(int i)
52   gl_Position = inst[i].vertex_to_gs;
53   EmitVertex();
56 [fragment shader]
57 #version 150
59 out vec4 color;
61 void main()
63   color = vec4(0.0, 1.0, 0.0, 1.0);
66 [test]
67 link error