Module: Mesa Branch: master Commit: 7528f143dfb77e3e0486006676e990964392aebf URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7528f143dfb77e3e0486006676e990964392aebf
Author: Chad Versace <chad.vers...@intel.com> Date: Wed Nov 17 14:34:38 2010 -0800 glsl: Fix linker bug in cross_validate_globals() Cause linking to fail if a global has mismatching invariant qualifiers. See https://bugs.freedesktop.org/show_bug.cgi?id=30261 --- src/glsl/linker.cpp | 7 +++++++ 1 files changed, 7 insertions(+), 0 deletions(-) diff --git a/src/glsl/linker.cpp b/src/glsl/linker.cpp index cde70ad..576b72a 100644 --- a/src/glsl/linker.cpp +++ b/src/glsl/linker.cpp @@ -411,6 +411,13 @@ cross_validate_globals(struct gl_shader_program *prog, existing->constant_value = var->constant_value->clone(talloc_parent(existing), NULL); } + + if (existing->invariant != var->invariant) { + linker_error_printf(prog, "declarations for %s `%s' have " + "mismatching invariant qualifiers\n", + mode_string(var), var->name); + return false; + } } else variables.add_variable(var); } _______________________________________________ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit