glsl: check for arrays of arrays when assigning explicit locations

This fixes assigning explicit locations in the CTS test:

ES31-CTS.explicit_uniform_location.uniform-loc-arrays-of-arrays

Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
This commit is contained in:
Timothy Arceri
2015-10-21 13:44:10 +11:00
parent 9a04057ef1
commit 38ceeeadaa

View File

@@ -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;