On Sat, 2016-10-22 at 23:42 +0300, Andres Gomez wrote: > Section 4.3.8.2 (Output Layout Qualifiers) of the GLSL 1.50 spec > says: > > "All geometry shader output layout declarations in a program must > declare the > same layout and same value for max_vertices." > > Signed-off-by: Andres Gomez <[email protected]> > --- > ...ut-declaration-consistent-with-prev-layout.geom | 37 > ++++++++++++++++++++++ > 1 file changed, 37 insertions(+) > create mode 100644 tests/spec/glsl-1.50/compiler/layout-out- > declaration-consistent-with-prev-layout.geom
We have a negative test for this: tests/spec/glsl-1.50/compiler/layout-only-one-out-declaration-per- program-max-verts.geom It would probably be nice to have similair names maybe just: layout-only-one-out-declaration-per-program-max-verts2.geom Otherwise: Reviewed-by: Timothy Arceri <[email protected]> > > diff --git a/tests/spec/glsl-1.50/compiler/layout-out-declaration- > consistent-with-prev-layout.geom b/tests/spec/glsl- > 1.50/compiler/layout-out-declaration-consistent-with-prev-layout.geom > new file mode 100644 > index 0000000..da8a86c > --- /dev/null > +++ b/tests/spec/glsl-1.50/compiler/layout-out-declaration- > consistent-with-prev-layout.geom > @@ -0,0 +1,37 @@ > +// [config] > +// expect_result: pass > +// glsl_version: 1.50 > +// check_link: true > +// [end config] > +// > +// Section 4.3.8.2 (Output Layout Qualifiers) of the GLSL 1.50 spec > says: > +// > +// "layout(triangle_strip, max_vertices = 60) out; // order does > not matter > +// layout(max_vertices = 60) out; // > redeclaration okay (*) > +// layout(triangle_strip) out; // > redeclaration okay (*) > +// layout(points) out; // error, > contradicts triangle_strip > +// layout(max_vertices = 30) out; // error, > contradicts 60" > +// > +// ... > +// > +// "All geometry shader output layout declarations in a program > must declare the > +// same layout and same value for max_vertices." > +// > +// This test verifies the case marked with (*), namely that no error > +// results from declaring a geometry shader output layout that is > +// consistent with a previously declared geometry shader output > layout. > + > +#version 150 > + > +layout(lines) in; > +layout(line_strip, max_vertices=3) out; > + > +in vec4 pos[]; > + > +layout(line_strip, max_vertices=3) out; > +layout(max_vertices=3) out; > +layout(line_strip) out; > + > +void main() > +{ > +} _______________________________________________ Piglit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/piglit
