ext_gpu_shader4: add compiler tests for everything
[piglit.git] / tests / spec / glsl-1.50 / compiler / gs-redeclares-pervertex-out-with-instance-name.geom
blob3b23d814b679cdf1da73caacea8aa6b48251b4d1
1 // [config]
2 // expect_result: fail
3 // glsl_version: 1.50
4 // check_link: false
5 // [end config]
6 //
7 // From section 7.1.1 (Compatibility Profile Built-In Language
8 // Variables) of the GLSL 4.10 spec:
9 //
10 //     However, when a built-in interface block with an instance name
11 //     is redeclared (e.g., gl_in), the instance name must be included
12 //     in the redeclaration. It is an error to not include the
13 //     built-in instance name or to change its name.
15 // Note: although this text appears in a section referring to
16 // compatibility profile variables, it's clear from context that it's
17 // meant to apply to any redeclaration of gl_in, whether it is done in
18 // a compatibility or a core profile.
20 // Although not explicitly stated, it seems logical to apply the
21 // converse rule to redeclaring the gl_PerVertex output; in other
22 // words, the gl_PerVertex output must be redeclared *without* and
23 // instance name (and hence, as a non-array).
25 // This appears to be a clarification to the behaviour established for
26 // gl_PerVertex by GLSL 1.50, therefore we test it using GLSL version
27 // 1.50.
29 // In this test, we try redeclaraing the gl_PerVertex input as a
30 // non-array, but with an instance name.
32 #version 150
34 layout(triangles) in;
35 layout(triangle_strip, max_vertices = 3) out;
37 out gl_PerVertex {
38   vec4 gl_Position;
39 } foo;
41 void main()