From 592aa9375c52d76f7d91b8b73080e156c021882a Mon Sep 17 00:00:00 2001 From: Joshua Ashton Date: Tue, 14 Sep 2021 04:07:35 +0100 Subject: [PATCH] radv: Expose modifiers that support DCC image stores with STORAGE_IMAGE_BIT MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Some games, ie. Doom Eternal, present from compute following compute post-fx and would benefit from having DCC image stores available. Signed-off-by: Joshua Ashton Reviewed-by: Marek Olšák Reviewed-by: Bas Nieuwenhhuizen Part-of: --- src/amd/vulkan/radv_formats.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/amd/vulkan/radv_formats.c b/src/amd/vulkan/radv_formats.c index 6253e6c96d4..267364a0bfe 100644 --- a/src/amd/vulkan/radv_formats.c +++ b/src/amd/vulkan/radv_formats.c @@ -1133,7 +1133,11 @@ radv_get_modifier_flags(struct radv_physical_device *dev, VkFormat format, uint6 features = props->optimalTilingFeatures; if (ac_modifier_has_dcc(modifier)) { - features &= ~VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT; + /* Only disable support for STORAGE_IMAGE on modifiers that + * do not support DCC image stores. + */ + if (!ac_modifier_supports_dcc_image_stores(modifier) || radv_is_atomic_format_supported(format)) + features &= ~VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT; if (dev->instance->debug_flags & (RADV_DEBUG_NO_DCC | RADV_DEBUG_NO_DISPLAY_DCC)) return 0;