From 4d8a71f7f18986f3969489ea8e94de335378a479 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Tue, 10 May 2016 11:56:31 +1000 Subject: [PATCH] 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 --- src/compiler/glsl/glsl_parser_extras.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) 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; } } -- 2.30.2