Reviewed-by: Ilia Mirkin <imir...@alum.mit.edu>
On Tue, May 31, 2016 at 2:52 PM, Ian Romanick <i...@freedesktop.org> wrote: > From: Ian Romanick <ian.d.roman...@intel.com> > > Because apparently layout(max_vertices=0) is a thing. > > Signed-off-by: Ian Romanick <ian.d.roman...@intel.com> > Cc: "12.0" <mesa-sta...@lists.freedesktop.org> > --- > src/compiler/glsl/glsl_parser_extras.cpp | 2 +- > src/compiler/glsl/linker.cpp | 8 ++++---- > src/mesa/main/shaderobj.c | 2 +- > 3 files changed, 6 insertions(+), 6 deletions(-) > > diff --git a/src/compiler/glsl/glsl_parser_extras.cpp > b/src/compiler/glsl/glsl_parser_extras.cpp > index 843998d..2e3395e 100644 > --- a/src/compiler/glsl/glsl_parser_extras.cpp > +++ b/src/compiler/glsl/glsl_parser_extras.cpp > @@ -1687,7 +1687,7 @@ set_shader_inout_layout(struct gl_shader *shader, > shader->TessEval.PointMode = state->in_qualifier->point_mode; > break; > case MESA_SHADER_GEOMETRY: > - shader->Geom.VerticesOut = 0; > + shader->Geom.VerticesOut = -1; > if (state->out_qualifier->flags.q.max_vertices) { > unsigned qual_max_vertices; > if (state->out_qualifier->max_vertices-> > diff --git a/src/compiler/glsl/linker.cpp b/src/compiler/glsl/linker.cpp > index 010dbd7..0f01a97 100644 > --- a/src/compiler/glsl/linker.cpp > +++ b/src/compiler/glsl/linker.cpp > @@ -1980,7 +1980,7 @@ link_gs_inout_layout_qualifiers(struct > gl_shader_program *prog, > struct gl_shader **shader_list, > unsigned num_shaders) > { > - linked_shader->Geom.VerticesOut = 0; > + linked_shader->Geom.VerticesOut = -1; > linked_shader->Geom.Invocations = 0; > linked_shader->Geom.InputType = PRIM_UNKNOWN; > linked_shader->Geom.OutputType = PRIM_UNKNOWN; > @@ -2024,8 +2024,8 @@ link_gs_inout_layout_qualifiers(struct > gl_shader_program *prog, > linked_shader->Geom.OutputType = shader->Geom.OutputType; > } > > - if (shader->Geom.VerticesOut != 0) { > - if (linked_shader->Geom.VerticesOut != 0 && > + if (shader->Geom.VerticesOut != -1) { > + if (linked_shader->Geom.VerticesOut != -1 && > linked_shader->Geom.VerticesOut != shader->Geom.VerticesOut) { > linker_error(prog, "geometry shader defined with conflicting " > "output vertex count (%d and %d)\n", > @@ -2067,7 +2067,7 @@ link_gs_inout_layout_qualifiers(struct > gl_shader_program *prog, > } > prog->Geom.OutputType = linked_shader->Geom.OutputType; > > - if (linked_shader->Geom.VerticesOut == 0) { > + if (linked_shader->Geom.VerticesOut == -1) { > linker_error(prog, > "geometry shader didn't declare max_vertices\n"); > return; > diff --git a/src/mesa/main/shaderobj.c b/src/mesa/main/shaderobj.c > index 274cb12..189317c 100644 > --- a/src/mesa/main/shaderobj.c > +++ b/src/mesa/main/shaderobj.c > @@ -232,7 +232,7 @@ init_shader_program(struct gl_shader_program *prog) > prog->FragDataBindings = string_to_uint_map_ctor(); > prog->FragDataIndexBindings = string_to_uint_map_ctor(); > > - prog->Geom.VerticesOut = 0; > + prog->Geom.VerticesOut = -1; > prog->Geom.InputType = GL_TRIANGLES; > prog->Geom.OutputType = GL_TRIANGLE_STRIP; > prog->Geom.UsesEndPrimitive = false; > -- > 2.5.5 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev