glsl: Strip arrayness from ir_type_dereference_variable too

If the thing being dereferenced is a record or an array of records, it
should be treated as row-major.  The ir_type_derference_record path
already does this, and I think I intended to do the same for this path
in b17a4d5d.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=83741
Cc: mesa-stable@lists.freedesktop.org
(cherry picked from commit c3f17bb18f)
This commit is contained in:
Ian Romanick 2014-09-10 15:19:43 -07:00 committed by Emil Velikov
parent d556ed889d
commit 384816c6db

View file

@ -111,7 +111,7 @@ is_dereferenced_thing_row_major(const ir_dereference *deref)
case GLSL_MATRIX_LAYOUT_COLUMN_MAJOR:
return false;
case GLSL_MATRIX_LAYOUT_ROW_MAJOR:
return matrix || deref->type->is_record();
return matrix || deref->type->without_array()->is_record();
}
unreachable("invalid matrix layout");