radv: Repurpose radv_legacy_sparse_binding drirc

Rename the drirc and call it radv_disable_dedicated_sparse_queue instead,
since normal queues support sparse now anyway.
Keep the workaround for existing known games, since they might not
expect a separate SPARSE queue to pop up.

Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33166>
This commit is contained in:
Hans-Kristian Arntzen 2025-01-22 17:31:03 +01:00 committed by Marge Bot
parent f58630f07c
commit 1fcb494054
5 changed files with 9 additions and 9 deletions

View file

@ -184,7 +184,7 @@ static const driOptionDescription radv_dri_options[] = {
DRI_CONF_RADV_TEX_NON_UNIFORM(false)
DRI_CONF_RADV_FLUSH_BEFORE_TIMESTAMP_WRITE(false)
DRI_CONF_RADV_RT_WAVE64(false)
DRI_CONF_RADV_LEGACY_SPARSE_BINDING(false)
DRI_CONF_RADV_DISABLE_DEDICATED_SPARSE_QUEUE(false)
DRI_CONF_RADV_FORCE_PSTATE_PEAK_GFX11_DGPU(false)
DRI_CONF_RADV_OVERRIDE_GRAPHICS_SHADER_VERSION(0)
DRI_CONF_RADV_OVERRIDE_COMPUTE_SHADER_VERSION(0)
@ -258,7 +258,7 @@ radv_init_dri_options(struct radv_instance *instance)
instance->drirc.force_rt_wave64 = driQueryOptionb(&instance->drirc.options, "radv_rt_wave64");
instance->drirc.legacy_sparse_binding = driQueryOptionb(&instance->drirc.options, "radv_legacy_sparse_binding");
instance->drirc.disable_dedicated_sparse_queue = driQueryOptionb(&instance->drirc.options, "radv_disable_dedicated_sparse_queue");
instance->drirc.force_pstate_peak_gfx11_dgpu =
driQueryOptionb(&instance->drirc.options, "radv_force_pstate_peak_gfx11_dgpu");

View file

@ -64,7 +64,7 @@ struct radv_instance {
bool ssbo_non_uniform;
bool flush_before_timestamp_write;
bool force_rt_wave64;
bool legacy_sparse_binding;
bool disable_dedicated_sparse_queue;
bool force_pstate_peak_gfx11_dgpu;
bool clear_lds;
bool enable_khr_present_wait;

View file

@ -201,7 +201,7 @@ radv_dedicated_sparse_queue_enabled(const struct radv_physical_device *pdev)
/* Dedicated sparse queue requires VK_QUEUE_SUBMIT_MODE_THREADED, which is incompatible with
* VK_DEVICE_TIMELINE_MODE_EMULATED. */
return pdev->info.has_timeline_syncobj && !instance->drirc.legacy_sparse_binding;
return pdev->info.has_timeline_syncobj && !instance->drirc.disable_dedicated_sparse_queue;
}
static inline bool

View file

@ -105,12 +105,12 @@ Application bugs worked around in this file:
<application name="DOOM Eternal" application_name_match="DOOMEternal">
<option name="radv_zero_vram" value="true" />
<option name="radv_legacy_sparse_binding" value="true" />
<option name="radv_disable_dedicated_sparse_queue" value="true" />
</application>
<application name="Indiana Jones: The Great Circle" application_name_match="TheGreatCircle">
<option name="radv_zero_vram" value="true" />
<option name="radv_legacy_sparse_binding" value="true" />
<option name="radv_disable_dedicated_sparse_queue" value="true" />
<option name="radv_disable_dcc_stores" value="true" />
<option name="radv_invariant_geom" value="true" />
<option name="radv_lower_terminate_to_discard" value="true" />

View file

@ -749,9 +749,9 @@
DRI_CONF_OPT_B(radv_rt_wave64, def, \
"Force wave64 in RT shaders")
#define DRI_CONF_RADV_LEGACY_SPARSE_BINDING(def) \
DRI_CONF_OPT_B(radv_legacy_sparse_binding, def, \
"Enable legacy sparse binding (with implicit synchronization) on the graphics and compute queue")
#define DRI_CONF_RADV_DISABLE_DEDICATED_SPARSE_QUEUE(def) \
DRI_CONF_OPT_B(radv_disable_dedicated_sparse_queue, def, \
"Disables the dedicated sparse queue. This replaces radv_legacy_sparse_binding as a compatible drirc workaround for games that might not expect a separate SPARSE queue")
#define DRI_CONF_RADV_FORCE_PSTATE_PEAK_GFX11_DGPU(def) \
DRI_CONF_OPT_B(radv_force_pstate_peak_gfx11_dgpu, def, \