radv: ignore radv_disable_dcc_stores on GFX12
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run

It's not necessary because DCC is completely transparent to the
userspace driver. Also it's causing issues with scanout.

This fixes rendering issues with scanout in Indiana Jones.

Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12924
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34859>
This commit is contained in:
Samuel Pitoiset 2025-05-07 14:31:27 +02:00
parent 154c3934d6
commit b7d2cdd2b4
3 changed files with 5 additions and 3 deletions

View file

@ -632,7 +632,8 @@ radv_get_modifier_flags(struct radv_physical_device *pdev, VkFormat format, uint
* do not support DCC image stores or when explicitly disabled.
*/
if (!ac_modifier_supports_dcc_image_stores(pdev->info.gfx_level, modifier) ||
radv_is_atomic_format_supported(format) || instance->drirc.disable_dcc_stores)
radv_is_atomic_format_supported(format) ||
(instance->drirc.disable_dcc_stores && pdev->info.gfx_level < GFX12))
features &= ~VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT;
if (instance->debug_flags & (RADV_DEBUG_NO_DCC | RADV_DEBUG_NO_DISPLAY_DCC))

View file

@ -298,7 +298,8 @@ radv_use_dcc_for_image_early(struct radv_device *device, struct radv_image *imag
return false;
/* Force disable DCC for stores to workaround game bugs. */
if (instance->drirc.disable_dcc_stores && (pCreateInfo->usage & VK_IMAGE_USAGE_STORAGE_BIT))
if (instance->drirc.disable_dcc_stores && pdev->info.gfx_level < GFX12 &&
(pCreateInfo->usage & VK_IMAGE_USAGE_STORAGE_BIT))
return false;
/* DCC MSAA can't work on GFX10.3 and earlier without FMASK. */

View file

@ -757,7 +757,7 @@
#define DRI_CONF_RADV_DISABLE_DCC_STORES(def) \
DRI_CONF_OPT_B(radv_disable_dcc_stores, def, \
"Disable DCC for color storage images")
"Disable DCC for color storage images on GFX10-GFX11.5")
#define DRI_CONF_RADV_LOWER_TERMINATE_TO_DISCARD(def) \
DRI_CONF_OPT_B(radv_lower_terminate_to_discard, def, \