Series Reviewed-by: Jordan Justen <[email protected]> I thought I might see a positive .geom with *both* per-vertex in & out. Too trivial?
On Wed, Oct 2, 2013 at 4:45 PM, Paul Berry <[email protected]> wrote: > --- > ...gs-redeclares-pervertex-in-with-array-size.geom | 45 > ++++++++++++++++++++++ > 1 file changed, 45 insertions(+) > create mode 100644 > tests/spec/glsl-1.50/compiler/gs-redeclares-pervertex-in-with-array-size.geom > > diff --git > a/tests/spec/glsl-1.50/compiler/gs-redeclares-pervertex-in-with-array-size.geom > > b/tests/spec/glsl-1.50/compiler/gs-redeclares-pervertex-in-with-array-size.geom > new file mode 100644 > index 0000000..f408c62 > --- /dev/null > +++ > b/tests/spec/glsl-1.50/compiler/gs-redeclares-pervertex-in-with-array-size.geom > @@ -0,0 +1,45 @@ > +// [config] > +// expect_result: pass > +// glsl_version: 1.50 > +// check_link: false > +// [end config] > +// > +// From section 7.1.1 (Compatibility Profile Built-In Language > +// Variables) of the GLSL 4.10 spec: > +// > +// However, when a built-in interface block with an instance name > +// is redeclared (e.g., gl_in), the instance name must be included > +// in the redeclaration. It is an error to not include the > +// built-in instance name or to change its name. For example, > +// > +// in gl_PerVertex { > +// vec4 gl_ClipVertex; > +// vec4 gl_FrontColor; > +// } gl_in[]; // must be present and must be "gl_in[]" > +// > +// Although the example mentions "gl_in[]", it seems reasonable to > +// assume that specifying an array size (e.g. "gl_in[3]") is also > +// allowed (this is confirmed by tests of the NVIDIA proprietary > +// driver for Linux, version 313.18). > +// > +// Note: although this text appears in a section referring to > +// compatibility profile variables, it's clear from context that it's > +// meant to apply to any redeclaration of gl_in, whether it is done in > +// a compatibility or a core profile. > +// > +// This appears to be a clarification to the behaviour established for > +// gl_PerVertex by GLSL 1.50, therefore we test it using GLSL version > +// 1.50. > + > +#version 150 > + > +layout(triangles) in; > +layout(triangle_strip, max_vertices = 3) out; > + > +in gl_PerVertex { > + vec4 gl_Position; > +} gl_in[3]; > + > +void main() > +{ > +} > -- > 1.8.4 > > _______________________________________________ > Piglit mailing list > [email protected] > http://lists.freedesktop.org/mailman/listinfo/piglit _______________________________________________ Piglit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/piglit
