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;