From: Ian Romanick Date: Sat, 8 Jan 2011 00:53:07 +0000 (-0800) Subject: glsl: Allow 'in' and 'out' when 'layout' is also available X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=82c4b4f88af97395a3d1b01e1998ec828cd5d305;p=mesa.git glsl: Allow 'in' and 'out' when 'layout' is also available All of the extensions that add the 'layout' keyword also enable (and required) the use of 'in' and 'out' with shader globals. This is related to (piglit) bugzilla #31804. NOTE: This is a candidate for the 7.9 and 7.10 branches. --- diff --git a/src/glsl/ast_to_hir.cpp b/src/glsl/ast_to_hir.cpp index a833be18f31..d70978c838b 100644 --- a/src/glsl/ast_to_hir.cpp +++ b/src/glsl/ast_to_hir.cpp @@ -2088,9 +2088,12 @@ ast_declarator_list::hir(exec_list *instructions, * * Local variables can only use the qualifier const." * - * This is relaxed in GLSL 1.30. + * This is relaxed in GLSL 1.30. It is also relaxed by any extension + * that adds the 'layout' keyword. */ - if (state->language_version < 130) { + if ((state->language_version < 130) + && !state->ARB_explicit_attrib_location_enable + && !state->ARB_fragment_coord_conventions_enable) { if (this->type->qualifier.flags.q.out) { _mesa_glsl_error(& loc, state, "`out' qualifier in declaration of `%s' "