[Mesa-dev] [PATCH 1/5] radv: provide a helper for comparing an image extents.

Bas Nieuwenhuizen bas at basnieuwenhuizen.nl
Tue May 2 19:49:36 UTC 2017


On Tue, May 2, 2017 at 2:22 AM, Dave Airlie <airlied at gmail.com> wrote:
> From: Dave Airlie <airlied at redhat.com>
>
> This just makes it easier to do the follow in cleanups of the surface.
>
> Signed-off-by: Dave Airlie <airlied at redhat.com>
> ---
>  src/amd/vulkan/radv_meta_clear.c | 4 ++--
>  src/amd/vulkan/radv_private.h    | 9 +++++++++
>  2 files changed, 11 insertions(+), 2 deletions(-)
>
> diff --git a/src/amd/vulkan/radv_meta_clear.c b/src/amd/vulkan/radv_meta_clear.c
> index 3e79cd8..d72f4c8 100644
> --- a/src/amd/vulkan/radv_meta_clear.c
> +++ b/src/amd/vulkan/radv_meta_clear.c
> @@ -614,7 +614,7 @@ static bool depth_view_can_fast_clear(const struct radv_image_view *iview,
>             iview->base_mip == 0 &&
>             iview->base_layer == 0 &&
>             radv_layout_can_expclear(iview->image, layout) &&
> -           memcmp(&iview->extent, &iview->image->extent, sizeof(iview->extent)) == 0)
> +           !radv_image_extent_compare(iview->image, &iview->extent))
>                 return true;
>         return false;
>  }
> @@ -858,7 +858,7 @@ emit_fast_color_clear(struct radv_cmd_buffer *cmd_buffer,
>         if (iview->image->surface.level[0].mode < RADEON_SURF_MODE_1D)
>                 goto fail;
>
> -       if (memcmp(&iview->extent, &iview->image->extent, sizeof(iview->extent)))
> +       if (!radv_image_extent_compare(iview->image, &iview->extent))
>                 goto fail;
>
>         if (clear_rect->rect.offset.x || clear_rect->rect.offset.y ||
> diff --git a/src/amd/vulkan/radv_private.h b/src/amd/vulkan/radv_private.h
> index 045bb64..48d0f44 100644
> --- a/src/amd/vulkan/radv_private.h
> +++ b/src/amd/vulkan/radv_private.h
> @@ -1284,6 +1284,15 @@ radv_sanitize_image_offset(const VkImageType imageType,
>         }
>  }
>
> +static inline bool
> +radv_image_extent_compare(const struct radv_image *image,
> +                         const VkExtent3D *extent)
> +{
> +       if (memcmp(extent, &image->extent, sizeof(*extent)))
> +               return false;
> +       return true;

Can we remove the if statement here and just do return memcmp(...) == 0; ?

Other than that bikeshed:

Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>

> +}
> +
>  struct radv_sampler {
>         uint32_t state[4];
>  };
> --
> 2.9.3
>
> _______________________________________________
> 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