From 456e10944fca0c5af7abcccd0cd901dc7e833b21 Mon Sep 17 00:00:00 2001 From: Iago Toral Quiroga Date: Fri, 3 Nov 2017 10:46:30 +0100 Subject: [PATCH] glsl/linker: use without_array() to retrieve type This is what we do in the condition too, so it makes sense. v2: Only compute without_array() once (Ilia). Reviewed-by: Ilia Mirkin --- src/compiler/glsl/link_varyings.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/compiler/glsl/link_varyings.cpp b/src/compiler/glsl/link_varyings.cpp index e6639306bed..72309365a03 100644 --- a/src/compiler/glsl/link_varyings.cpp +++ b/src/compiler/glsl/link_varyings.cpp @@ -566,9 +566,10 @@ validate_explicit_variable_location(struct gl_context *ctx, return false; } - if (type->without_array()->is_interface()) { - for (unsigned i = 0; i < type->without_array()->length; i++) { - glsl_struct_field *field = &type->fields.structure[i]; + const glsl_type *type_without_array = type->without_array(); + if (type_without_array->is_interface()) { + for (unsigned i = 0; i < type_without_array->length; i++) { + glsl_struct_field *field = &type_without_array->fields.structure[i]; unsigned field_location = field->location - (field->patch ? VARYING_SLOT_PATCH0 : VARYING_SLOT_VAR0); if (!check_location_aliasing(explicit_locations, var, -- 2.30.2