Mesa (master): glsl: let interface linking code validate its arrays

Timothy Arceri tarceri at kemper.freedesktop.org
Thu Mar 5 20:36:27 UTC 2015


Module: Mesa
Branch: master
Commit: 1a96d9ef1c2821df7e49f6bf685d26c264167933
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1a96d9ef1c2821df7e49f6bf685d26c264167933

Author: Timothy Arceri <t_arceri at yahoo.com.au>
Date:   Tue Feb 24 17:28:51 2015 +1100

glsl: let interface linking code validate its arrays

Currently intrastage arrays are validated twice for interface blocks.

Reviewed-by: Mark Janes <mark.a.janes at intel.com>

---

 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 590f364..0c44677 100644
--- a/src/glsl/linker.cpp
+++ b/src/glsl/linker.cpp
@@ -762,7 +762,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)) {




More information about the mesa-commit mailing list