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>
This commit is contained in:
Faith Ekstrand 2025-10-21 10:38:32 -04:00
parent acd00c07f6
commit 4909af6bae
4 changed files with 34 additions and 0 deletions

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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,