glsl: Minor cleanups after previous commit
authorIan Romanick <ian.d.romanick@intel.com>
Thu, 2 Nov 2017 00:34:12 +0000 (17:34 -0700)
committerIan Romanick <ian.d.romanick@intel.com>
Thu, 9 Nov 2017 02:37:29 +0000 (18:37 -0800)
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 <ian.d.romanick@intel.com>
Reviewed-by: Thomas Helland <thomashelland90@gmail.com>
src/compiler/glsl/lower_buffer_access.cpp

index 056fd26e0db43340eea107e64355730262ca53ca..fa6e5f5c0668dcd804f3f353fabd1083938a24a7 100644 (file)
@@ -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;
    }