glsl: Disallow 'in' and 'out' on globals in GLSL 1.20

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.
(cherry picked from commit 469ea695bb)
This commit is contained in:
Ian Romanick 2011-01-07 16:05:59 -08:00
parent 4ee68e2d47
commit d81615ee19

View file

@ -2079,18 +2079,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. */
}