From 9c53b80ff94c60bef18af6fbeee30bae43b42485 Mon Sep 17 00:00:00 2001 From: Ian Romanick Date: Wed, 1 Nov 2017 17:34:12 -0700 Subject: [PATCH] glsl: Minor cleanups after previous commit I think it's more clear to only call emit_access once. The only difference between the two calls is the value of size_mul used for the offset parameter... but you really have to look at it to be sure. The s/is_64bit/is_double/ change is because there are no int64_t or uint64_t matrix types. Signed-off-by: Ian Romanick Reviewed-by: Thomas Helland --- src/compiler/glsl/lower_buffer_access.cpp | 29 +++++++++++------------------ 1 file changed, 11 insertions(+), 18 deletions(-) diff --git a/src/compiler/glsl/lower_buffer_access.cpp b/src/compiler/glsl/lower_buffer_access.cpp index 056fd26..fa6e5f5 100644 --- a/src/compiler/glsl/lower_buffer_access.cpp +++ b/src/compiler/glsl/lower_buffer_access.cpp @@ -111,24 +111,17 @@ lower_buffer_access::emit_access(void *mem_ctx, ir_dereference *col_deref = new(mem_ctx) ir_dereference_array(deref->clone(mem_ctx, NULL), col); - if (row_major) { - /* For a row-major matrix, the next column starts at the next - * element. - */ - int size_mul = deref->type->is_64bit() ? 8 : 4; - emit_access(mem_ctx, is_write, col_deref, base_offset, - deref_offset + i * size_mul, - row_major, deref->type, packing, - writemask_for_size(col_deref->type->vector_elements)); - } else { - const int size_mul = - link_calculate_matrix_stride(deref->type, row_major, packing); - - emit_access(mem_ctx, is_write, col_deref, base_offset, - deref_offset + i * size_mul, - row_major, deref->type, packing, - writemask_for_size(col_deref->type->vector_elements)); - } + /* For a row-major matrix, the next column starts at the next + * element. Otherwise it is offset by the matrix stride. + */ + const unsigned size_mul = row_major + ? (deref->type->is_double() ? 8 : 4) + : link_calculate_matrix_stride(deref->type, row_major, packing); + + emit_access(mem_ctx, is_write, col_deref, base_offset, + deref_offset + i * size_mul, + row_major, deref->type, packing, + writemask_for_size(col_deref->type->vector_elements)); } return; } -- 2.7.4