summaryrefslogtreecommitdiff
path: root/src/glsl/linker.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/glsl/linker.cpp')
-rw-r--r--src/glsl/linker.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/glsl/linker.cpp b/src/glsl/linker.cpp
index cde70adff5..576b72a65f 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);
}