radv: enable VK_EXT_graphics_pipeline_library by default

You won't get your money back!

It's been a very long time but everything should be working great now.

This replaces RADV_PERFTEST=gpl by RADV_DEBUG=nogpl to disable the
extension for debugging purposes.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22362>
This commit is contained in:
Samuel Pitoiset
2023-03-31 17:48:04 +02:00
committed by Marge Bot
parent 719a0e269e
commit 6476abd821
8 changed files with 21 additions and 10 deletions

View File

@@ -1098,6 +1098,8 @@ RADV driver environment variables
disable fast color/depthstencil clears
``nofmask``
disable FMASK compression on MSAA images (GFX6-GFX10.3)
``nogpl``
disable VK_EXT_graphics_pipeline_library
``nohiz``
disable HIZ for depthstencil images
``noibs``
@@ -1170,8 +1172,6 @@ RADV driver environment variables
rt extensions with older hardware.
``gewave32``
enable wave32 for vertex/tess/geometry shaders (GFX10+)
``gpl``
enable graphics pipeline library
``localbos``
enable local BOs
``nosam``

View File

@@ -564,7 +564,7 @@ Khronos extensions that are not part of any Vulkan version:
VK_EXT_fragment_shader_interlock DONE (anv/gen9+)
VK_EXT_global_priority DONE (anv, radv, tu)
VK_EXT_global_priority_query DONE (anv, radv, tu)
VK_EXT_graphics_pipeline_library DONE (lvp, tu)
VK_EXT_graphics_pipeline_library DONE (lvp, radv, tu)
VK_EXT_image_2d_view_of_3d DONE (anv, radv, tu, lvp)
VK_EXT_image_drm_format_modifier DONE (anv, radv/gfx9+, tu, v3dv, vn)
VK_EXT_image_sliced_view_of_3d DONE (anv, radv/gfx10+)

View File

@@ -3,3 +3,4 @@ VK_EXT_image_sliced_view_of_3d on RADV/GFX10+
VK_KHR_map_memory2 on ANV and RADV
fullyCoveredFragmentShaderInputVariable on RADV/GFX9+
VK_EXT_discard_rectangles version 2 on RADV
VK_EXT_graphics_pipeline_library on RADV

View File

@@ -280,7 +280,6 @@ radeonsi-raven-va:amd64:
- .deqp-test-valve
variables:
DEQP_VER: vk
RADV_PERFTEST: gpl
# VKCTS never finishes on gfx7 due to all the GPU resets and hangs.
# Hence, disable it for now.

View File

@@ -101,3 +101,14 @@ dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_32_32.samples_2.d32_sfloat_s8
dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_32_32.samples_2.d32_sfloat_s8_uint.depth_none_stencil_min_testing_stencil,Fail
dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_32_32.samples_2.d32_sfloat_s8_uint.depth_none_stencil_zero_testing_stencil,Fail
dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_49_13.samples_8.d32_sfloat_s8_uint.depth_none_stencil_max_testing_stencil,Fail
# Test bugs with GPL (all of them should be fixed with recent CTS).
dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_fragment_stage,Crash
dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_fragment_stage_delayed_destroy,Crash
dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_fragment_stage_no_cache,Crash
dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_geometry_stage_fragment_stage,Crash
dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_geometry_stage_fragment_stage_delayed_destroy,Crash
dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_geometry_stage_fragment_stage_no_cache,Crash
dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_tessellation_control_stage_tessellation_evaluation_stage_fragment_stage,Crash
dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_tessellation_control_stage_tessellation_evaluation_stage_fragment_stage_delayed_destroy,Crash
dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.vertex_stage_tessellation_control_stage_tessellation_evaluation_stage_fragment_stage_no_cache,Crash

View File

@@ -69,6 +69,7 @@ enum {
RADV_DEBUG_NO_FMASK = 1ull << 38,
RADV_DEBUG_SHADOW_REGS = 1ull << 39,
RADV_DEBUG_EXTRA_MD = 1ull << 40,
RADV_DEBUG_NO_GPL = 1ull << 41,
};
enum {
@@ -84,10 +85,9 @@ enum {
RADV_PERFTEST_NGGC = 1u << 9,
RADV_PERFTEST_EMULATE_RT = 1u << 10,
RADV_PERFTEST_RT_WAVE_64 = 1u << 11,
RADV_PERFTEST_GPL = 1u << 12,
RADV_PERFTEST_NGG_STREAMOUT = 1u << 13,
RADV_PERFTEST_VIDEO_DECODE = 1u << 14,
RADV_PERFTEST_DMA_SHADERS = 1u << 15,
RADV_PERFTEST_NGG_STREAMOUT = 1u << 12,
RADV_PERFTEST_VIDEO_DECODE = 1u << 13,
RADV_PERFTEST_DMA_SHADERS = 1u << 14,
};
bool radv_init_trace(struct radv_device *device);

View File

@@ -75,6 +75,7 @@ static const struct debug_control radv_debug_options[] = {
{"nofmask", RADV_DEBUG_NO_FMASK},
{"shadowregs", RADV_DEBUG_SHADOW_REGS},
{"extra_md", RADV_DEBUG_EXTRA_MD},
{"nogpl", RADV_DEBUG_NO_GPL},
{NULL, 0}};
const char *
@@ -97,7 +98,6 @@ static const struct debug_control radv_perftest_options[] = {
{"nggc", RADV_PERFTEST_NGGC},
{"emulate_rt", RADV_PERFTEST_EMULATE_RT},
{"rtwave64", RADV_PERFTEST_RT_WAVE_64},
{"gpl", RADV_PERFTEST_GPL},
{"ngg_streamout", RADV_PERFTEST_NGG_STREAMOUT},
{"video_decode", RADV_PERFTEST_VIDEO_DECODE},
{"dmashaders", RADV_PERFTEST_DMA_SHADERS},

View File

@@ -522,7 +522,7 @@ radv_physical_device_get_supported_extensions(const struct radv_physical_device
.EXT_global_priority = true,
.EXT_global_priority_query = true,
.EXT_graphics_pipeline_library =
!device->use_llvm && !!(device->instance->perftest_flags & RADV_PERFTEST_GPL),
!device->use_llvm && !(device->instance->debug_flags & RADV_DEBUG_NO_GPL),
.EXT_host_query_reset = true,
.EXT_image_2d_view_of_3d = true,
.EXT_image_drm_format_modifier = device->rad_info.gfx_level >= GFX9,