[Mesa-dev] [PATCH 10/12] glsl: Minor cleanups after previous commit

Thomas Helland thomashelland90 at gmail.com
Sat Nov 4 16:57:03 UTC 2017


Patches 6-10 are:

Reviewed-by: Thomas Helland <thomashelland90 at gmail.com>

2017-11-02 21:25 GMT+01:00 Ian Romanick <idr at freedesktop.org>:
> From: Ian Romanick <ian.d.romanick at intel.com>
>
> 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 at intel.com>
> ---
>  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.9.5
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list