radv: enable VK_EXT_graphics_pipeline_library by default
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Fri, 31 Mar 2023 15:48:04 +0000 (17:48 +0200)
committerMarge Bot <emma+marge@anholt.net>
Mon, 10 Apr 2023 10:02:32 +0000 (10:02 +0000)
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>

docs/envvars.rst
docs/features.txt
docs/relnotes/new_features.txt
src/amd/ci/gitlab-ci.yml
src/amd/ci/radv-stoney-aco-fails.txt
src/amd/vulkan/radv_debug.h
src/amd/vulkan/radv_instance.c
src/amd/vulkan/radv_physical_device.c

index 47ff864..78f2ec4 100644 (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``
index c0bac07..2fb145c 100644 (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+)
index 872e504..ed2c7ed 100644 (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
index 15d89ad..4fb208a 100644 (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.
index 4d05940..e08fd2b 100644 (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
index 7d336d6..b15149d 100644 (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);
index 78f145c..e2431e0 100644 (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},
index 86df9f8..b1b7ec0 100644 (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,