From 373fa0b599ca3b2904433e413fd6e24fc37292b7 Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Tue, 17 Apr 2018 16:05:15 +0200 Subject: [PATCH] radv: allocate CMASK for DCC fast clear with MSAA CMASK is required because it should be cleared to 0xCCCCCCCC for MSAA textures. Signed-off-by: Samuel Pitoiset Reviewed-by: Bas Nieuwenhuizen --- src/amd/vulkan/radv_image.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/amd/vulkan/radv_image.c b/src/amd/vulkan/radv_image.c index a14e7c18b29..ba8f14d91bd 100644 --- a/src/amd/vulkan/radv_image.c +++ b/src/amd/vulkan/radv_image.c @@ -997,6 +997,13 @@ radv_image_create(VkDevice _device, /* Try to enable DCC first. */ if (radv_image_can_enable_dcc(image)) { radv_image_alloc_dcc(image); + if (image->info.samples > 1) { + /* CMASK should be enabled because DCC fast + * clear with MSAA needs it. + */ + assert(radv_image_can_enable_cmask(image)); + radv_image_alloc_cmask(device, image); + } } else { /* When DCC cannot be enabled, try CMASK. */ image->surface.dcc_size = 0; -- 2.30.2