Module: Mesa
Branch: master
Commit: f2bda1b5664cd8a8744798926f2562212229d938
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=f2bda1b5664cd8a8744798926f2562212229d938

Author: Ian Romanick <[email protected]>
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 <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>

---

 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);

_______________________________________________
mesa-commit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to