summaryrefslogtreecommitdiffstats
path: root/src/glsl
diff options
context:
space:
mode:
authorKenneth Graunke <kenneth@whitecape.org>2013-07-16 11:39:01 -0700
committerKenneth Graunke <kenneth@whitecape.org>2013-07-18 16:57:23 -0700
commit56bcde34b2d3451d81878da17cacccf4d9bba5bc (patch)
tree48a7ab60a56dc26b0a7597dd4eaf4473a28d7347 /src/glsl
parentc397ec94e9a54521a873e84867268c40c73db79c (diff)
downloadexternal_mesa3d-56bcde34b2d3451d81878da17cacccf4d9bba5bc.zip
external_mesa3d-56bcde34b2d3451d81878da17cacccf4d9bba5bc.tar.gz
external_mesa3d-56bcde34b2d3451d81878da17cacccf4d9bba5bc.tar.bz2
glsl: Use has_layout() rather than a partial open coded version.
The idea of this code is to disallow layout(...) sections with the deprecated "varying" or "attribute" keywords, unless a few select extensions are enabled which allow a more relaxed check. In order to detect a layout(...) section, the code checks for a number of layout qualifiers. However, it failed to check for all of them, which could lead to layout(...) not being detected when it should. By replacing this with has_layout(), we properly check for all layout qualifiers, and also guarantees that new qualifiers added in the future will not be forgotten. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Paul Berry <stereotype441@gmail.com>
Diffstat (limited to 'src/glsl')
-rw-r--r--src/glsl/ast_to_hir.cpp8
1 files changed, 1 insertions, 7 deletions
diff --git a/src/glsl/ast_to_hir.cpp b/src/glsl/ast_to_hir.cpp
index 3ed6f01..e8ed77a 100644
--- a/src/glsl/ast_to_hir.cpp
+++ b/src/glsl/ast_to_hir.cpp
@@ -2080,12 +2080,6 @@ apply_type_qualifier_to_variable(const struct ast_type_qualifier *qual,
"explicit index requires explicit location\n");
}
- /* Does the declaration use the 'layout' keyword?
- */
- const bool uses_layout = qual->flags.q.pixel_center_integer
- || qual->flags.q.origin_upper_left
- || qual->flags.q.explicit_location; /* no need for index since it relies on location */
-
/* Does the declaration use the deprecated 'attribute' or 'varying'
* keywords?
*/
@@ -2115,7 +2109,7 @@ apply_type_qualifier_to_variable(const struct ast_type_qualifier *qual,
const bool relaxed_layout_qualifier_checking =
state->ARB_fragment_coord_conventions_enable;
- if (uses_layout && uses_deprecated_qualifier) {
+ if (qual->has_layout() && uses_deprecated_qualifier) {
if (relaxed_layout_qualifier_checking) {
_mesa_glsl_warning(loc, state,
"`layout' qualifier may not be used with "