[Mesa-dev] [PATCH V2 3/3] glsl: let interface linking code validate its arrays

Timothy Arceri t_arceri at yahoo.com.au
Wed Feb 25 23:45:13 PST 2015


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



More information about the mesa-dev mailing list