radv: add radv_disable_ngg_gs and enable it for Persona 3 Reload

Persona 3 Reload is largely affected by the way amplification works with
NGG GS and disabling it drastically improve performance.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27518>
This commit is contained in:
Samuel Pitoiset 2024-02-08 10:42:52 +01:00 committed by Marge Bot
parent 69d734a8d5
commit 61a125647b
3 changed files with 11 additions and 0 deletions

View file

@ -134,6 +134,7 @@ static const driOptionDescription radv_dri_options[] = {
DRI_CONF_RADV_NO_DYNAMIC_BOUNDS(false)
DRI_CONF_RADV_OVERRIDE_UNIFORM_OFFSET_ALIGNMENT(0)
DRI_CONF_RADV_CLEAR_LDS(false)
DRI_CONF_RADV_DISABLE_NGG_GS(false)
DRI_CONF_SECTION_END
DRI_CONF_SECTION_DEBUG
@ -202,6 +203,9 @@ radv_init_dri_options(struct radv_instance *instance)
if (driQueryOptionb(&instance->drirc.options, "radv_disable_dcc"))
instance->debug_flags |= RADV_DEBUG_NO_DCC;
if (driQueryOptionb(&instance->drirc.options, "radv_disable_ngg_gs"))
instance->debug_flags |= RADV_DEBUG_NO_NGG_GS;
instance->drirc.clear_lds = driQueryOptionb(&instance->drirc.options, "radv_clear_lds");
instance->drirc.zero_vram = driQueryOptionb(&instance->drirc.options, "radv_zero_vram");

View file

@ -159,6 +159,10 @@ Application bugs worked around in this file:
<option name="radv_ssbo_non_uniform" value="true" />
</application>
<application name="Persona 3 Reload" executable="P3R.exe">
<option name="radv_disable_ngg_gs" value="true" />
</application>
<!-- OpenGL Game workarounds (zink) -->
<application name="Black Geyser: Couriers of Darkness" executable="BlackGeyser.x86_64">
<option name="radv_zero_vram" value="true" />

View file

@ -724,6 +724,9 @@
DRI_CONF_OPT_B(radv_force_active_accel_struct_leaves, def, \
"Force leaf nodes of acceleration structures to be marked active.")
#define DRI_CONF_RADV_DISABLE_NGG_GS(def) \
DRI_CONF_OPT_B(radv_disable_ngg_gs, def, "Disable NGG GS on GFX10/GFX10.3.")
/**
* \brief ANV specific configuration options
*/