[Mesa-dev] [PATCH] glsl: check geometry output vertices limits.
Dave Airlie
airlied at gmail.com
Tue May 10 01:57:44 UTC 2016
From: Dave Airlie <airlied at redhat.com>
This fixes:
GL45-CTS.geometry_shader.limits.max_output_vertices
Signed-off-by: Dave Airlie <airlied at redhat.com>
---
src/compiler/glsl/glsl_parser_extras.cpp | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/src/compiler/glsl/glsl_parser_extras.cpp b/src/compiler/glsl/glsl_parser_extras.cpp
index fb64350..8230516 100644
--- a/src/compiler/glsl/glsl_parser_extras.cpp
+++ b/src/compiler/glsl/glsl_parser_extras.cpp
@@ -1683,7 +1683,16 @@ 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.5.5
More information about the mesa-dev
mailing list