radv: Enable ray tracing pipelines by default

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23603>
This commit is contained in:
Friedrich Vock 2023-06-12 19:50:55 +02:00 committed by Marge Bot
parent fa7c7791ee
commit 374bd4e1be
9 changed files with 10 additions and 34 deletions

View file

@ -1235,8 +1235,6 @@ RADV driver environment variables
enable NGG streamout
``nggc``
enable NGG culling on GPUs where it's not enabled by default (GFX10.1 only).
``rt``
enable rt pipelines whose implementation is still experimental.
``sam``
enable optimizations to move more driver internal objects to VRAM.
``rtwave64``

View file

@ -525,7 +525,7 @@ Khronos extensions that are not part of any Vulkan version:
VK_KHR_push_descriptor DONE (anv, lvp, radv, tu, vn)
VK_KHR_ray_query DONE (anv/gfx12.5+, radv/gfx10.3+)
VK_KHR_ray_tracing_maintenance1 DONE (anv/gfx12.5+, radv/gfx10.3+)
VK_KHR_ray_tracing_pipeline DONE (anv/gfx12.5+)
VK_KHR_ray_tracing_pipeline DONE (anv/gfx12.5+, radv/gfx10.3+)
VK_KHR_shader_clock DONE (anv, lvp, radv, vn)
VK_KHR_shader_subgroup_uniform_control_flow DONE (anv, radv)
VK_KHR_shared_presentable_image not started

View file

@ -5,3 +5,4 @@ VK_EXT_mesh_shader on lavapipe
OpenGL 3.1 on Asahi
OpenGL ES 3.0 on Asahi
VK_KHR_fragment_shader_barycentric on RADV/GFX10.3+
VK_KHR_ray_tracing_pipeline on RADV/GFX10.3+

View file

@ -373,7 +373,6 @@ vkcts-navi21-valve:
- .navi21-test-valve
variables:
GPU_VERSION: radv-navi21-aco
RADV_PERFTEST: rt
# Disabled due to its extremelly-broken nature
.vkcts-navi21-llvm-valve:
@ -492,7 +491,6 @@ vkd3d-navi21-valve:
- .radv-valve-manual-rules
variables:
VKD3D_PROTON_RESULTS: radv-navi21-vkd3d
RADV_PERFTEST: rt
VKD3D_CONFIG: dxr11
vkd3d-vangogh-valve:

View file

@ -83,13 +83,12 @@ enum {
RADV_PERFTEST_GE_WAVE_32 = 1u << 5,
RADV_PERFTEST_NO_SAM = 1u << 6,
RADV_PERFTEST_SAM = 1u << 7,
RADV_PERFTEST_RT = 1u << 8,
RADV_PERFTEST_NGGC = 1u << 9,
RADV_PERFTEST_EMULATE_RT = 1u << 10,
RADV_PERFTEST_RT_WAVE_64 = 1u << 11,
RADV_PERFTEST_NGG_STREAMOUT = 1u << 12,
RADV_PERFTEST_VIDEO_DECODE = 1u << 13,
RADV_PERFTEST_DMA_SHADERS = 1u << 14,
RADV_PERFTEST_NGGC = 1u << 8,
RADV_PERFTEST_EMULATE_RT = 1u << 9,
RADV_PERFTEST_RT_WAVE_64 = 1u << 10,
RADV_PERFTEST_NGG_STREAMOUT = 1u << 11,
RADV_PERFTEST_VIDEO_DECODE = 1u << 12,
RADV_PERFTEST_DMA_SHADERS = 1u << 13,
};
bool radv_init_trace(struct radv_device *device);

View file

@ -96,7 +96,6 @@ static const struct debug_control radv_perftest_options[] = {
{"gewave32", RADV_PERFTEST_GE_WAVE_32},
{"nosam", RADV_PERFTEST_NO_SAM},
{"sam", RADV_PERFTEST_SAM},
{"rt", RADV_PERFTEST_RT},
{"nggc", RADV_PERFTEST_NGGC},
{"emulate_rt", RADV_PERFTEST_EMULATE_RT},
{"rtwave64", RADV_PERFTEST_RT_WAVE_64},
@ -145,7 +144,6 @@ static const driOptionDescription radv_dri_options[] = {
DRI_CONF_RADV_FLUSH_BEFORE_QUERY_COPY(false)
DRI_CONF_RADV_ENABLE_UNIFIED_HEAP_ON_APU(false)
DRI_CONF_RADV_TEX_NON_UNIFORM(false)
DRI_CONF_RADV_RT(false)
DRI_CONF_RADV_FLUSH_BEFORE_TIMESTAMP_WRITE(false)
DRI_CONF_RADV_RT_WAVE64(false)
DRI_CONF_RADV_APP_LAYER()

View file

@ -38,13 +38,8 @@ radv_enable_rt(const struct radv_physical_device *pdevice, bool rt_pipelines)
if (pdevice->rad_info.gfx_level < GFX10_3 && !radv_emulate_rt(pdevice))
return false;
if (rt_pipelines) {
if (pdevice->use_llvm)
return false;
return (pdevice->instance->perftest_flags & RADV_PERFTEST_RT) ||
driQueryOptionb(&pdevice->instance->dri_options, "radv_rt");
}
if (rt_pipelines && pdevice->use_llvm)
return false;
return true;
}

View file

@ -113,7 +113,6 @@ 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_rt" value="true" />
</application>
<application name="No Man's Sky" application_name_match="No Man's Sky">
@ -144,14 +143,6 @@ Application bugs worked around in this file:
<option name="radv_enable_unified_heap_on_apu" value="true" />
</application>
<application name="Quake II RTX" application_name_match="quake 2 pathtracing">
<option name="radv_rt" value="true" />
</application>
<application name="Control (DX12)" application_name_match="Control_DX12.exe">
<option name="radv_rt" value="true" />
</application>
<application name="Metro Exodus (Linux native)" application_name_match="metroexodus">
<option name="radv_app_layer" value="metroexodus" />
</application>

View file

@ -637,10 +637,6 @@
DRI_CONF_OPT_B(radv_tex_non_uniform, def, \
"Always mark texture sample operations as non-uniform.")
#define DRI_CONF_RADV_RT(def) \
DRI_CONF_OPT_B(radv_rt, def, \
"Expose support for VK_KHR_ray_tracing_pipeline")
#define DRI_CONF_RADV_FLUSH_BEFORE_TIMESTAMP_WRITE(def) \
DRI_CONF_OPT_B(radv_flush_before_timestamp_write, def, \
"Wait for previous commands to finish before writing timestamps")