summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIan Romanick <[email protected]>2014-09-10 15:19:43 -0700
committerIan Romanick <[email protected]>2014-09-26 07:59:53 -0700
commitc3f17bb18f597d7f606805ae94363dae7fd51582 (patch)
tree319779f3d3ef3a5973ee85e3ca0366187ae95d91
parent2ab71e1486e76722154b48faef8216ff8173fd30 (diff)
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 <[email protected]> Reviewed-by: Jordan Justen <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=83741 Cc: [email protected]
-rw-r--r--src/glsl/lower_ubo_reference.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/glsl/lower_ubo_reference.cpp b/src/glsl/lower_ubo_reference.cpp
index f3920b362ce..43dd067fa8a 100644
--- a/src/glsl/lower_ubo_reference.cpp
+++ b/src/glsl/lower_ubo_reference.cpp
@@ -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");