[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