From: Dave Airlie Date: Tue, 10 May 2016 01:56:31 +0000 (+1000) Subject: glsl: check geometry output vertices limits. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=4d8a71f7f18986f3969489ea8e94de335378a479;p=mesa.git glsl: check geometry output vertices limits. This fixes: GL45-CTS.geometry_shader.limits.max_output_vertices Reviewed-by: Kenneth Graunke Signed-off-by: Dave Airlie --- diff --git a/src/compiler/glsl/glsl_parser_extras.cpp b/src/compiler/glsl/glsl_parser_extras.cpp index fb64350ed39..463cb9730ea 100644 --- a/src/compiler/glsl/glsl_parser_extras.cpp +++ b/src/compiler/glsl/glsl_parser_extras.cpp @@ -1683,6 +1683,14 @@ set_shader_inout_layout(struct gl_shader *shader, if (state->out_qualifier->max_vertices-> process_qualifier_constant(state, "max_vertices", &qual_max_vertices, true)) { + + if (qual_max_vertices > state->Const.MaxGeometryOutputVertices) { + YYLTYPE loc = state->out_qualifier->max_vertices->get_location(); + _mesa_glsl_error(&loc, state, + "maximum output vertices (%d) exceeds " + "GL_MAX_GEOMETRY_OUTPUT_VERTICES", + qual_max_vertices); + } shader->Geom.VerticesOut = qual_max_vertices; } }