glsl: Don't allow vertex shader input arrays until GLSL 1.50. 96/7496/1
authorPaul Berry <stereotype441@gmail.com>
Thu, 11 Jul 2013 22:40:11 +0000 (15:40 -0700)
committerPaul Berry <stereotype441@gmail.com>
Mon, 15 Jul 2013 14:50:47 +0000 (07:50 -0700)
Vertex shader inputs are not allowed to be arrays until GLSL 1.50.  We
were accidentally enabling them for GLSL 1.40 (although we haven't
written any tests for them, so it's not clear whether they actually
work).

NOTE: although this is a simple bug fix, it probably isn't sensible to
cherry-pick it to stable release branches, since its only effect is to
cause incorrectly-written shaders to fail to compile.

Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/glsl/ast_to_hir.cpp

index 0120313..28ccf72 100644 (file)
@@ -2707,7 +2707,7 @@ ast_declarator_list::hir(exec_list *instructions,
            }
 
            if (!error_emitted && var->type->is_array() &&
-                !state->check_version(140, 0, &loc,
+                !state->check_version(150, 0, &loc,
                                       "vertex shader input / attribute "
                                       "cannot have array type")) {
               error_emitted = true;