perf/pixel-rate: new pixel throughput microbenchmark
[piglit.git] / tests / spec / glsl-1.50 / compiler / gs-redeclares-pervertex-in-with-illegal-member.geom
blobbd85a060537a6146228b48350225b6199963f75d
1 // [config]
2 // expect_result: fail
3 // glsl_version: 1.50
4 // check_link: true
5 // [end config]
6 //
7 // From section 7.1 (Built-In Language Variables) of the GLSL 4.10
8 // spec:
9 //
10 //   The gl_PerVertex block can be redeclared in a shader to explicitly
11 //   indicate what subset of the fixed pipeline interface will be
12 //   used. This is necessary to establish the interface between multiple
13 //   programs.  For example:
15 //   out gl_PerVertex {
16 //       vec4 gl_Position;    // will use gl_Position
17 //       float gl_PointSize;  // will use gl_PointSize
18 //       vec4 t;              // error, only gl_PerVertex members allowed
19 //   };  // no other members of gl_PerVertex will be used
21 //   This establishes the output interface the shader will use with the
22 //   subsequent pipeline stage. It must be a subset of the built-in members
23 //   of gl_PerVertex.
25 // This test verifies that a non-member of the geometry shader
26 // gl_PerVertex input may not be included in the redeclaration.
28 #version 150
30 layout(triangles) in;
31 layout(triangle_strip, max_vertices = 3) out;
33 in gl_PerVertex {
34     vec4 gl_Position;
35     float gl_PointSize;
36     vec4 t;
37 } gl_in[];
39 void main()