[Mesa-dev] [PATCH] radv: fix DCC enablement since partial MSAA implementation

Samuel Pitoiset samuel.pitoiset at gmail.com
Wed Apr 25 08:56:15 UTC 2018


dcc_msaa_allowed is always false on GFX9+ and only true on VI
if RADV_PERFTEST=dccmsaa is set. This means DCC was disabled
in some situations where it should not.

This is likely going to fix a performance regression.

Fixes: 2f63b3dd09 ("radv: enable DCC for MSAA 2x textures on VI under an option")
Cc: 18.1 <mesa-stable at lists.freedesktop.org>
Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
---
 src/amd/vulkan/radv_image.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/amd/vulkan/radv_image.c b/src/amd/vulkan/radv_image.c
index 348f4c7b34..793f861f4f 100644
--- a/src/amd/vulkan/radv_image.c
+++ b/src/amd/vulkan/radv_image.c
@@ -133,12 +133,12 @@ radv_use_dcc_for_image(struct radv_device *device,
 	if (create_info->scanout)
 		return false;
 
-	/* FIXME: DCC for MSAA with 4x and 8x samples doesn't work yet. */
-	if (pCreateInfo->samples > 2)
-		return false;
-
-	/* TODO: Enable DCC for MSAA textures. */
-	if (!device->physical_device->dcc_msaa_allowed)
+	/* FIXME: DCC for MSAA with 4x and 8x samples doesn't work yet, while
+	 * 2x can be enabled with an option.
+	 */
+	if (pCreateInfo->samples > 2 ||
+	    (pCreateInfo->samples == 2 &&
+	     !device->physical_device->dcc_msaa_allowed))
 		return false;
 
 	/* Determine if the formats are DCC compatible. */
-- 
2.17.0



More information about the mesa-dev mailing list