glsl: Disallow 'in' and 'out' on globals in GLSL 1.20
authorIan Romanick <ian.d.romanick@intel.com>
Sat, 8 Jan 2011 00:05:59 +0000 (16:05 -0800)
committerIan Romanick <ian.d.romanick@intel.com>
Tue, 11 Jan 2011 01:39:16 +0000 (17:39 -0800)
Fixes piglit tests glsl-1.20/compiler/qualifiers/in-01.vert and
glsl-1.20/compiler/qualifiers/out-01.vert and bugzilla #32910.

NOTE: This is a candidate for the 7.9 and 7.10 branches.  This patch
also depends on the previous two commits.

src/glsl/ast_to_hir.cpp

index a8dcae6e810f6719331fc6541e5ae1aaa9e803b1..c4bd7e64e27f14ccce1214fabdfef0293ffc47ef 100644 (file)
@@ -2076,18 +2076,18 @@ ast_declarator_list::hir(exec_list *instructions,
        *
        * This is relaxed in GLSL 1.30.
        */
-      if (state->language_version < 120) {
+      if (state->language_version < 130) {
         if (this->type->qualifier.flags.q.out) {
            _mesa_glsl_error(& loc, state,
                             "`out' qualifier in declaration of `%s' "
-                            "only valid for function parameters in GLSL 1.10.",
-                            decl->identifier);
+                            "only valid for function parameters in %s.",
+                            decl->identifier, state->version_string);
         }
         if (this->type->qualifier.flags.q.in) {
            _mesa_glsl_error(& loc, state,
                             "`in' qualifier in declaration of `%s' "
-                            "only valid for function parameters in GLSL 1.10.",
-                            decl->identifier);
+                            "only valid for function parameters in %s.",
+                            decl->identifier, state->version_string);
         }
         /* FINISHME: Test for other invalid qualifiers. */
       }