diff options
| author | Faith Ekstrand <faith.ekstrand@collabora.com> | 2025-10-21 10:38:32 -0400 |
|---|---|---|
| committer | Faith Ekstrand <faith.ekstrand@collabora.com> | 2025-11-06 11:33:55 -0500 |
| commit | 4909af6baeb4f62f597384bf775eb9e27aa8d46b (patch) | |
| tree | 83d212a62e0dfdeda344a9916e1ef37af4e9c19d | |
| parent | acd00c07f68aea0f5ab4641f4749c8f49b8927b0 (diff) | |
panvk: Advertise VK_KHR_pipeline_binary
Closes: https://gitlab.freedesktop.org/panfrost/mesa/-/issues/216
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38284>
| -rw-r--r-- | src/panfrost/ci/panfrost-g52-fails.txt | 7 | ||||
| -rw-r--r-- | src/panfrost/ci/panfrost-g610-fails.txt | 7 | ||||
| -rw-r--r-- | src/panfrost/ci/panfrost-g925-fails.txt | 7 | ||||
| -rw-r--r-- | src/panfrost/vulkan/panvk_vX_physical_device.c | 13 |
4 files changed, 34 insertions, 0 deletions
diff --git a/src/panfrost/ci/panfrost-g52-fails.txt b/src/panfrost/ci/panfrost-g52-fails.txt index 8ff0de7dd72..ed7649602a8 100644 --- a/src/panfrost/ci/panfrost-g52-fails.txt +++ b/src/panfrost/ci/panfrost-g52-fails.txt @@ -426,3 +426,10 @@ dEQP-VK.rasterization.rasterization_order_attachment_access.stencil.samples_4.mu dEQP-VK.pipeline.fast_linked_library.empty_fs.masked_samples,Fail dEQP-VK.pipeline.monolithic.empty_fs.masked_samples,Fail dEQP-VK.pipeline.pipeline_library.empty_fs.masked_samples,Fail + +# https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/5926 +dEQP-VK.pipeline.pipeline_library.pipeline_binary.creation_feedback.graphics_tests.vertex_stage_fragment_stage_delayed_destroy,Crash +dEQP-VK.pipeline.pipeline_library.pipeline_binary.graphics_tests.vertex_stage_fragment_stage,Crash +dEQP-VK.pipeline.pipeline_library.pipeline_binary.creation_feedback.graphics_tests.vertex_stage_fragment_stage,Crash +dEQP-VK.pipeline.pipeline_library.pipeline_binary.pipeline_from_get_data.vertex_stage_fragment_stage,Crash +dEQP-VK.pipeline.pipeline_library.pipeline_binary.creation_feedback.graphics_tests.vertex_stage_fragment_stage_zero_out_feedback_cout,Crash diff --git a/src/panfrost/ci/panfrost-g610-fails.txt b/src/panfrost/ci/panfrost-g610-fails.txt index 619cb9d9787..52b8b992f71 100644 --- a/src/panfrost/ci/panfrost-g610-fails.txt +++ b/src/panfrost/ci/panfrost-g610-fails.txt @@ -6,6 +6,13 @@ dEQP-VK.image.load_store.without_any_format.buffer.b8g8r8_srgb_minalign_uniform_ dEQP-VK.image.load_store.without_any_format.buffer.r8g8b8_srgb_minalign_uniform,Fail dEQP-VK.image.load_store.without_any_format.buffer.r8g8b8_srgb_minalign_uniform_linear,Fail +# https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/5926 +dEQP-VK.pipeline.pipeline_library.pipeline_binary.creation_feedback.graphics_tests.vertex_stage_fragment_stage,Crash +dEQP-VK.pipeline.pipeline_library.pipeline_binary.graphics_tests.vertex_stage_fragment_stage,Crash +dEQP-VK.pipeline.pipeline_library.pipeline_binary.pipeline_from_get_data.vertex_stage_fragment_stage,Crash +dEQP-VK.pipeline.pipeline_library.pipeline_binary.creation_feedback.graphics_tests.vertex_stage_fragment_stage_delayed_destroy,Crash +dEQP-VK.pipeline.pipeline_library.pipeline_binary.creation_feedback.graphics_tests.vertex_stage_fragment_stage_zero_out_feedback_cout,Crash + afbcp-spec@arb_direct_state_access@gettextureimage-formats,Fail afbcp-spec@arb_direct_state_access@gettextureimage-formats init-by-rendering,Fail afbcp-spec@arb_shader_texture_lod@execution@arb_shader_texture_lod-texgradcube,Fail diff --git a/src/panfrost/ci/panfrost-g925-fails.txt b/src/panfrost/ci/panfrost-g925-fails.txt index d92ad0bb893..3786676d601 100644 --- a/src/panfrost/ci/panfrost-g925-fails.txt +++ b/src/panfrost/ci/panfrost-g925-fails.txt @@ -4,6 +4,13 @@ dEQP-VK.image.load_store.without_any_format.buffer.b8g8r8_srgb_minalign_uniform_ dEQP-VK.image.load_store.without_any_format.buffer.r8g8b8_srgb_minalign_uniform,Fail dEQP-VK.image.load_store.without_any_format.buffer.r8g8b8_srgb_minalign_uniform_linear,Fail +# https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/5926 +dEQP-VK.pipeline.pipeline_library.pipeline_binary.graphics_tests.vertex_stage_fragment_stage,Crash +dEQP-VK.pipeline.pipeline_library.pipeline_binary.creation_feedback.graphics_tests.vertex_stage_fragment_stage,Crash +dEQP-VK.pipeline.pipeline_library.pipeline_binary.pipeline_from_get_data.vertex_stage_fragment_stage,Crash +dEQP-VK.pipeline.pipeline_library.pipeline_binary.creation_feedback.graphics_tests.vertex_stage_fragment_stage_zero_out_feedback_cout,Crash +dEQP-VK.pipeline.pipeline_library.pipeline_binary.creation_feedback.graphics_tests.vertex_stage_fragment_stage_delayed_destroy,Crash + # deqp-vk: ../src/panfrost/vulkan/panvk_image.c:346: panvk_image_get_mod_from_list: Assertion `!"Invalid modifier"' failed. dEQP-VK.wsi.wayland.swapchain.create.image_extent,Crash diff --git a/src/panfrost/vulkan/panvk_vX_physical_device.c b/src/panfrost/vulkan/panvk_vX_physical_device.c index bfed7e22ed7..37941c8a1f8 100644 --- a/src/panfrost/vulkan/panvk_vX_physical_device.c +++ b/src/panfrost/vulkan/panvk_vX_physical_device.c @@ -86,6 +86,7 @@ panvk_per_arch(get_physical_device_extensions)( .KHR_maintenance9 = true, .KHR_map_memory2 = true, .KHR_multiview = true, + .KHR_pipeline_binary = true, .KHR_pipeline_executable_properties = true, .KHR_pipeline_library = true, .KHR_push_descriptor = true, @@ -478,6 +479,9 @@ panvk_per_arch(get_physical_device_features)( */ .customBorderColorWithoutFormat = PAN_ARCH != 7, + /* VK_KHR_pipeline_binary */ + .pipelineBinaries = true, + /* VK_KHR_pipeline_executable_properties */ .pipelineExecutableInfo = true, @@ -582,6 +586,8 @@ panvk_per_arch(get_physical_device_properties)( uint64_t os_page_size = 4096; os_get_page_size(&os_page_size); + const bool has_disk_cache = device->vk.disk_cache != NULL; + /* Ensure that the max threads count per workgroup is valid for Bifrost */ assert(PAN_ARCH > 8 || device->kmod.props.max_threads_per_wg <= 1024); @@ -990,6 +996,13 @@ panvk_per_arch(get_physical_device_properties)( VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS_EXT, .identicalMemoryTypeRequirements = true, + /* VK_KHR_pipeline_binary */ + .pipelineBinaryInternalCache = has_disk_cache, + .pipelineBinaryInternalCacheControl = has_disk_cache, + .pipelineBinaryPrefersInternalCache = has_disk_cache, + .pipelineBinaryPrecompiledInternalCache = has_disk_cache, + .pipelineBinaryCompressedData = false, + /* VK_EXT_robustness2 */ .robustStorageBufferAccessSizeAlignment = 1, .robustUniformBufferAccessSizeAlignment = 1, |