radv: Add radv_emulate_rt drirc and enable for Indiana Jones TGC

There have been various people successfully trying it out on GFX9-GFX10.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34114>
This commit is contained in:
Natalie Vock 2025-03-21 13:57:25 +01:00 committed by Marge Bot
parent 3d8db3cbbb
commit e385cb1750
5 changed files with 14 additions and 1 deletions

View file

@ -192,6 +192,7 @@ static const driOptionDescription radv_dri_options[] = {
DRI_CONF_RADV_SSBO_NON_UNIFORM(false)
DRI_CONF_RADV_LOWER_TERMINATE_TO_DISCARD(false)
DRI_CONF_RADV_APP_LAYER()
DRI_CONF_RADV_EMULATE_RT(false)
DRI_CONF_SECTION_END
};
// clang-format on
@ -286,6 +287,8 @@ radv_init_dri_options(struct radv_instance *instance)
instance->drirc.lower_terminate_to_discard =
driQueryOptionb(&instance->drirc.options, "radv_lower_terminate_to_discard");
instance->drirc.emulate_rt = driQueryOptionb(&instance->drirc.options, "radv_emulate_rt");
}
static const struct vk_instance_extension_table radv_instance_extensions_supported = {

View file

@ -72,6 +72,7 @@ struct radv_instance {
bool disable_dcc_mips;
bool disable_dcc_stores;
bool lower_terminate_to_discard;
bool emulate_rt;
char *app_layer;
uint8_t override_graphics_shader_version;
uint8_t override_compute_shader_version;

View file

@ -150,7 +150,11 @@ bool
radv_emulate_rt(const struct radv_physical_device *pdev)
{
const struct radv_instance *instance = radv_physical_device_instance(pdev);
return instance->perftest_flags & RADV_PERFTEST_EMULATE_RT;
if (instance->perftest_flags & RADV_PERFTEST_EMULATE_RT)
return true;
/* Do not force emulated RT on GPUs that have native support. */
return !pdev->info.has_image_bvh_intersect_ray && instance->drirc.emulate_rt;
}
static void

View file

@ -114,6 +114,7 @@ Application bugs worked around in this file:
<option name="radv_disable_dcc_stores" value="true" />
<option name="radv_invariant_geom" value="true" />
<option name="radv_lower_terminate_to_discard" value="true" />
<option name="radv_emulate_rt" value="true" />
</application>
<application name="DOOM (2016)" application_name_match="DOOM$">

View file

@ -798,6 +798,10 @@
#define DRI_CONF_RADV_DISABLE_NGG_GS(def) \
DRI_CONF_OPT_B(radv_disable_ngg_gs, def, "Disable NGG GS on GFX10/GFX10.3.")
#define DRI_CONF_RADV_EMULATE_RT(def) \
DRI_CONF_OPT_B(radv_emulate_rt, def, \
"Expose RT extensions on GFX10 and below through software emulation.")
/**
* \brief ANV specific configuration options
*/