Mesa (master): radv: Allow DCC for images with modifiers that are read-only.

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Mar 24 00:37:22 UTC 2021


Module: Mesa
Branch: master
Commit: d248c911624e33fdf66d703a38ad9ae8626294a6
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d248c911624e33fdf66d703a38ad9ae8626294a6

Author: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Date:   Tue Feb  2 04:19:54 2021 +0100

radv: Allow DCC for images with modifiers that are read-only.

If we avoid writing anything or decompressing this should be fine,
and allows gamescope to work without nodcc for radeonsi.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8817>

---

 src/amd/vulkan/radv_formats.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/amd/vulkan/radv_formats.c b/src/amd/vulkan/radv_formats.c
index cb45af34082..cb2e4c34da8 100644
--- a/src/amd/vulkan/radv_formats.c
+++ b/src/amd/vulkan/radv_formats.c
@@ -1128,8 +1128,8 @@ void radv_GetPhysicalDeviceFormatProperties(
 }
 
 static const struct ac_modifier_options radv_modifier_options = {
-	.dcc = false,
-	.dcc_retile = false,
+	.dcc = true,
+	.dcc_retile = true,
 };
 
 static VkFormatFeatureFlags
@@ -1151,7 +1151,10 @@ radv_get_modifier_flags(struct radv_physical_device *dev,
 		return 0;
 
 	if (ac_modifier_has_dcc(modifier)) {
-		features &= ~VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT;
+		features &= ~(VK_FORMAT_FEATURE_TRANSFER_DST_BIT |
+	                      VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT |
+	                      VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT |
+	                      VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT);
 
 		if (dev->instance->debug_flags & (RADV_DEBUG_NO_DCC | RADV_DEBUG_NO_DISPLAY_DCC))
 			return 0;



More information about the mesa-commit mailing list