Mesa (master): glsl: Only let a shader enable GL_ARB_draw_instanced if the driver supports it
Ian Romanick
idr at kemper.freedesktop.org
Mon Apr 11 21:43:49 UTC 2011
Module: Mesa
Branch: master
Commit: f2bda1b5664cd8a8744798926f2562212229d938
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f2bda1b5664cd8a8744798926f2562212229d938
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Fri Apr 8 12:41:42 2011 -0700
glsl: Only let a shader enable GL_ARB_draw_instanced if the driver supports it
Also make the GL_ARB_draw_instanced block follow the same pattern as
the other blocks.
Tested-by: Brian Paul <brianp at vmware.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
---
src/glsl/glsl_parser_extras.cpp | 11 +++++------
1 files changed, 5 insertions(+), 6 deletions(-)
diff --git a/src/glsl/glsl_parser_extras.cpp b/src/glsl/glsl_parser_extras.cpp
index e8c6093..073ec38 100644
--- a/src/glsl/glsl_parser_extras.cpp
+++ b/src/glsl/glsl_parser_extras.cpp
@@ -211,14 +211,13 @@ _mesa_glsl_process_extension(const char *name, YYLTYPE *name_locp,
state->ARB_draw_buffers_warn = (ext_mode == extension_warn);
}
} else if (strcmp(name, "GL_ARB_draw_instanced") == 0) {
+ state->ARB_draw_instanced_enable = (ext_mode != extension_disable);
+ state->ARB_draw_instanced_warn = (ext_mode == extension_warn);
+
/* This extension is only supported in vertex shaders.
*/
- if (state->target != vertex_shader) {
- unsupported = true;
- } else {
- state->ARB_draw_instanced_enable = (ext_mode != extension_disable);
- state->ARB_draw_instanced_warn = (ext_mode == extension_warn);
- }
+ unsupported = (state->target != vertex_shader)
+ || !state->extensions->ARB_draw_instanced;
} else if (strcmp(name, "GL_ARB_explicit_attrib_location") == 0) {
state->ARB_explicit_attrib_location_enable =
(ext_mode != extension_disable);
More information about the mesa-commit
mailing list