diff --git a/src/glsl/linker.cpp b/src/glsl/linker.cpp index 440a9135f28..d6b323ceee3 100644 --- a/src/glsl/linker.cpp +++ b/src/glsl/linker.cpp @@ -409,6 +409,12 @@ cross_validate_globals(struct gl_shader_program *prog, mode_string(var), var->name); return false; } + if (existing->centroid != var->centroid) { + linker_error_printf(prog, "declarations for %s `%s' have " + "mismatching centroid qualifiers\n", + mode_string(var), var->name); + return false; + } } else variables.add_variable(var->name, var); }