diff options
author | Timothy Arceri <[email protected]> | 2015-02-24 17:28:51 +1100 |
---|---|---|
committer | Timothy Arceri <[email protected]> | 2015-03-06 07:26:57 +1100 |
commit | 1a96d9ef1c2821df7e49f6bf685d26c264167933 (patch) | |
tree | 02922be290e928dc787320ea1b6fc533167bb888 /src/glsl/linker.cpp | |
parent | c5a56a63f9fe94eaddea358b2fd67a1b7abe9ab0 (diff) |
glsl: let interface linking code validate its arrays
Currently intrastage arrays are validated twice for interface blocks.
Reviewed-by: Mark Janes <[email protected]>
Diffstat (limited to 'src/glsl/linker.cpp')
-rw-r--r-- | src/glsl/linker.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/glsl/linker.cpp b/src/glsl/linker.cpp index 590f364d6c2..0c446777970 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)) { |