ext_gpu_shader4: add compiler tests for everything
[piglit.git] / tests / spec / arb_geometry_shader4 / linker / 2darray-vertex-index-oob.shader_test
blob60db7e9183141742a90cb7d94d063ae6bde74172
1 # Test that constant array indexing of gs input arrays is bounds checked at link
2 # time.
3 [require]
4 GL >= 2.0
5 GLSL >= 1.20
6 GL_ARB_geometry_shader4
8 [vertex shader]
9 #version 120
11 attribute vec4 vertex;
13 varying float gs_input[4];
15 void main()
17         for (int i = 0; i < 4; i++)
18                 gs_input[i] = 0.5;
19         gl_Position = vertex;
22 [geometry shader]
23 #version 120
24 #extension GL_ARB_geometry_shader4: enable
26 varying in float gs_input[][4];
28 varying out float gs_out;
30 void main()
32         /* This sould fail at link time once the size of the outer dimension of
33          * gs_input (3) is known.
34          */
35         float s = gs_input[3][0];
37         for (int i = 0; i < gl_VerticesIn; i++) {
38                 gs_out = s;
40                 gl_Position = gl_PositionIn[i];
41                 EmitVertex();
42         }
45 [geometry layout]
46 input type GL_TRIANGLES
47 output type GL_TRIANGLE_STRIP
48 vertices out 3
50 [fragment shader]
51 #version 120
53 const int gs_VerticesIn = 3;
55 varying float gs_out;
57 void main()
59   gl_FragColor = vec4(gs_out);
62 [test]
63 link error