radv: switch to the full HiZ workaround by default on GFX12

The full HiZ workaround is the only one that fixes the issue reliably.

Sadly, the performance results are mixed and sometimes it hurts. To
maintain performance, RADV will opt-in by selecting which workarounds
to apply from drirc.

As we can't know the full list of games that will be affected by a
potential performance regression, users are encouraged to try with
RADV_GFX12_HIZ_WA (see Mesa documentation for more explanations).

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36174>
This commit is contained in:
Samuel Pitoiset 2025-07-14 15:26:16 +02:00 committed by Marge Bot
parent 5f8f4686bf
commit ec09ac1501
2 changed files with 3 additions and 2 deletions

View file

@ -1658,9 +1658,10 @@ RADV driver environment variables
no HiZ workaround is enabled, use at your own risk but optimal for performance
``partial``
mitigate the issue partially, potentially risky but performance should be
mostly optimal (default value)
mostly optimal
``full``
mitigate the issue completely, no risk but performance might be decreased
(default value)
RadeonSI driver environment variables
-------------------------------------

View file

@ -2315,7 +2315,7 @@ radv_physical_device_try_create(struct radv_instance *instance, drmDevicePtr drm
if (pdev->info.gfx_level == GFX12) {
const char *gfx12_hiz_wa_str = instance->drirc.performance.gfx12_hiz_wa;
pdev->gfx12_hiz_wa = RADV_GFX12_HIZ_WA_PARTIAL; /* Default */
pdev->gfx12_hiz_wa = RADV_GFX12_HIZ_WA_FULL; /* Default */
if (strlen(gfx12_hiz_wa_str) > 0) {
if (!strcmp(gfx12_hiz_wa_str, "disabled")) {