Currently intrastage arrays are validated twice for interface blocks. --- src/glsl/linker.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/glsl/linker.cpp b/src/glsl/linker.cpp index dafcbe0..9568185 100644 --- a/src/glsl/linker.cpp +++ b/src/glsl/linker.cpp @@ -761,7 +761,8 @@ cross_validate_globals(struct gl_shader_program *prog, /* Check if types match. Interface blocks have some special * rules so we handle those elsewhere. */ - if (var->type != existing->type) { + if (var->type != existing->type && + !var->is_interface_instance()) { if (!validate_intrastage_arrays(prog, var, existing)) { if (var->type->is_record() && existing->type->is_record() && existing->type->record_compare(var->type)) { -- 2.1.0 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev