radv: Don't allow fmask swizzling for shareable images.

Also adds an assert because you never know how the winsys changes, and
multiprocess format differences are annoying.

Fixes: 1e696b962b "radv: add separate fmask tile swizzle counter."
Reviewed-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
Bas Nieuwenhuizen 2017-08-07 23:34:00 +02:00
parent a2703fc119
commit a6a6146aa9
1 changed files with 4 additions and 1 deletions

View File

@ -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);
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