radv: Expose modifiers that support DCC image stores with STORAGE_IMAGE_BIT

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 <joshua@froggi.es>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Bas Nieuwenhhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12862>
This commit is contained in:
Joshua Ashton 2021-09-14 04:07:35 +01:00 committed by Marge Bot
parent 92ade3df05
commit 592aa9375c
1 changed files with 5 additions and 1 deletions

View File

@ -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;