From: Dave Airlie <airl...@redhat.com> The old code copied over all the surface info from the image surface, we only want some bits of it, and to modify the flags.
This fixes a regression caused by nha's rework of surface, and should probably be squashed in somewhere. Signed-off-by: Dave Airlie <airl...@redhat.com> --- src/amd/vulkan/radv_image.c | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/src/amd/vulkan/radv_image.c b/src/amd/vulkan/radv_image.c index c254228..b57162c 100644 --- a/src/amd/vulkan/radv_image.c +++ b/src/amd/vulkan/radv_image.c @@ -459,21 +459,14 @@ radv_image_get_fmask_info(struct radv_device *device, struct radv_fmask_info *out) { /* FMASK is allocated like an ordinary texture. */ - struct radeon_surf fmask = image->surface; + struct radeon_surf fmask = {}; struct ac_surf_info info = image->info; memset(out, 0, sizeof(*out)); - fmask.surf_alignment = 0; - fmask.surf_size = 0; - fmask.flags |= RADEON_SURF_FMASK; + fmask.blk_w = image->surface.blk_w; + fmask.blk_h = image->surface.blk_h; info.samples = 1; - /* Force 2D tiling if it wasn't set. This may occur when creating - * FMASK for MSAA resolve on R6xx. On R6xx, the single-sample - * destination buffer must have an FMASK too. */ - fmask.flags = RADEON_SURF_CLR(fmask.flags, MODE); - fmask.flags |= RADEON_SURF_SET(RADEON_SURF_MODE_2D, MODE); - - fmask.flags |= RADEON_SURF_HAS_TILE_MODE_INDEX; + fmask.flags = image->surface.flags | RADEON_SURF_FMASK; switch (nr_samples) { case 2: -- 2.9.3 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev