glsl: let interface linking code validate its arrays

Currently intrastage arrays are validated twice for interface blocks.

Reviewed-by: Mark Janes <mark.a.janes@intel.com>
This commit is contained in:
Timothy Arceri 2015-02-24 17:28:51 +11:00
parent c5a56a63f9
commit 1a96d9ef1c

View file

@ -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)) {