[Mesa-dev] [PATCH] radv: Don't allow fmask swizzling for shareable images.

Ilia Mirkin imirkin at alum.mit.edu
Mon Aug 7 21:51:37 UTC 2017


On Mon, Aug 7, 2017 at 5:37 PM, Bas Nieuwenhuizen
<bas at basnieuwenhuizen.nl> wrote:
> Also adds an assert because you never know how the winsys changes, and
> multiprocess format differences are annoying.
>
> Fixes: 1e696b962b7 "radv: add separate fmask tile swizzle counter."
> ---
>  src/amd/vulkan/radv_image.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/src/amd/vulkan/radv_image.c b/src/amd/vulkan/radv_image.c
> index 1ccd4a463f0..7e59142bf30 100644
> --- a/src/amd/vulkan/radv_image.c
> +++ b/src/amd/vulkan/radv_image.c
> @@ -616,7 +616,8 @@ radv_image_get_fmask_info(struct radv_device *device,
>         info.samples = 1;
>         fmask.flags = image->surface.flags | RADEON_SURF_FMASK;
>
> -       info.surf_index = &device->fmask_mrt_offset_counter;
> +       if (!image->shareable);

s/;//

> +               info.surf_index = &device->fmask_mrt_offset_counter;
>
>         /* Force 2D tiling if it wasn't set. This may occur when creating
>          * FMASK for MSAA resolve on R6xx. On R6xx, the single-sample
> @@ -649,6 +650,8 @@ radv_image_get_fmask_info(struct radv_device *device,
>         out->tile_swizzle = fmask.tile_swizzle;
>         out->alignment = MAX2(256, fmask.surf_alignment);
>         out->size = fmask.surf_size;
> +
> +       assert(!out->tile_swizzle || !image->shareable);
>  }
>
>  static void
> --
> 2.13.4
>
> _______________________________________________
> 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