From 374bd4e1bef25ba2aeef6016ac35b41df07f3a99 Mon Sep 17 00:00:00 2001 From: Friedrich Vock Date: Mon, 12 Jun 2023 19:50:55 +0200 Subject: [PATCH] radv: Enable ray tracing pipelines by default Part-of: --- docs/envvars.rst | 2 -- docs/features.txt | 2 +- docs/relnotes/new_features.txt | 1 + src/amd/ci/gitlab-ci.yml | 2 -- src/amd/vulkan/radv_debug.h | 13 ++++++------- src/amd/vulkan/radv_instance.c | 2 -- src/amd/vulkan/radv_rt_common.c | 9 ++------- src/util/00-radv-defaults.conf | 9 --------- src/util/driconf.h | 4 ---- 9 files changed, 10 insertions(+), 34 deletions(-) diff --git a/docs/envvars.rst b/docs/envvars.rst index fece46e..26faf2c 100644 --- a/docs/envvars.rst +++ b/docs/envvars.rst @@ -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`` diff --git a/docs/features.txt b/docs/features.txt index ea71af4..9a94741 100644 --- a/docs/features.txt +++ b/docs/features.txt @@ -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 diff --git a/docs/relnotes/new_features.txt b/docs/relnotes/new_features.txt index 0d53cfd..67a03bf 100644 --- a/docs/relnotes/new_features.txt +++ b/docs/relnotes/new_features.txt @@ -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+ diff --git a/src/amd/ci/gitlab-ci.yml b/src/amd/ci/gitlab-ci.yml index 6a44ac8..d9f29fe 100644 --- a/src/amd/ci/gitlab-ci.yml +++ b/src/amd/ci/gitlab-ci.yml @@ -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: diff --git a/src/amd/vulkan/radv_debug.h b/src/amd/vulkan/radv_debug.h index ea85539..dc78eda 100644 --- a/src/amd/vulkan/radv_debug.h +++ b/src/amd/vulkan/radv_debug.h @@ -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); diff --git a/src/amd/vulkan/radv_instance.c b/src/amd/vulkan/radv_instance.c index 7be8b5a..716241f 100644 --- a/src/amd/vulkan/radv_instance.c +++ b/src/amd/vulkan/radv_instance.c @@ -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() diff --git a/src/amd/vulkan/radv_rt_common.c b/src/amd/vulkan/radv_rt_common.c index 6478350..e5eee2c 100644 --- a/src/amd/vulkan/radv_rt_common.c +++ b/src/amd/vulkan/radv_rt_common.c @@ -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; } diff --git a/src/util/00-radv-defaults.conf b/src/util/00-radv-defaults.conf index 7ff99aa..9040034 100644 --- a/src/util/00-radv-defaults.conf +++ b/src/util/00-radv-defaults.conf @@ -113,7 +113,6 @@ Application bugs worked around in this file: @@ -144,14 +143,6 @@ Application bugs worked around in this file: - - - - - - diff --git a/src/util/driconf.h b/src/util/driconf.h index fa6fb75..d10864d 100644 --- a/src/util/driconf.h +++ b/src/util/driconf.h @@ -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") -- 2.7.4