From 38ceeeadaa2f5f0a21dba9f5339fbc4cba66dece Mon Sep 17 00:00:00 2001 From: Timothy Arceri Date: Wed, 21 Oct 2015 13:44:10 +1100 Subject: [PATCH] glsl: check for arrays of arrays when assigning explicit locations MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit This fixes assigning explicit locations in the CTS test: ES31-CTS.explicit_uniform_location.uniform-loc-arrays-of-arrays Reviewed-by: Tapani Pälli --- src/glsl/link_uniforms.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/glsl/link_uniforms.cpp b/src/glsl/link_uniforms.cpp index 6efde5c27f2..8183e65d2f5 100644 --- a/src/glsl/link_uniforms.cpp +++ b/src/glsl/link_uniforms.cpp @@ -763,7 +763,8 @@ private: /* Assign explicit locations. */ if (current_var->data.explicit_location) { /* Set sequential locations for struct fields. */ - if (current_var->type->without_array()->is_record()) { + if (current_var->type->without_array()->is_record() || + current_var->type->is_array_of_arrays()) { const unsigned entries = MAX2(1, this->uniforms[id].array_elements); this->uniforms[id].remap_location = this->explicit_location + field_counter; -- 2.30.2