diff options
| author | Faith Ekstrand <faith.ekstrand@collabora.com> | 2025-10-21 10:38:26 -0400 |
|---|---|---|
| committer | Marge Bot <marge-bot@fdo.invalid> | 2025-11-06 15:27:29 +0000 |
| commit | 60ad7e8da275a044577f9c60fff02812f0ebd9b4 (patch) | |
| tree | 25aca3184d99d6caa2bc108375c400348355449f | |
| parent | 21aafaea165734547753165f6b718f888b0f72ea (diff) | |
nvk: Advertise VK_KHR_pipeline_binary
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36647>
| -rw-r--r-- | src/nouveau/ci/nvk-ad106-fails.txt | 14 | ||||
| -rw-r--r-- | src/nouveau/ci/nvk-ga106-fails.txt | 15 | ||||
| -rw-r--r-- | src/nouveau/vulkan/nvk_physical_device.c | 19 |
3 files changed, 47 insertions, 1 deletions
diff --git a/src/nouveau/ci/nvk-ad106-fails.txt b/src/nouveau/ci/nvk-ad106-fails.txt index e69de29bb2d..a3b437549fd 100644 --- a/src/nouveau/ci/nvk-ad106-fails.txt +++ b/src/nouveau/ci/nvk-ad106-fails.txt @@ -0,0 +1,14 @@ +# 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_zero_out_feedback_cout,Crash +dEQP-VK.pipeline.pipeline_library.pipeline_binary.creation_feedback.graphics_tests.vertex_stage_geometry_stage_fragment_stage_delayed_destroy,Crash +dEQP-VK.pipeline.pipeline_library.pipeline_binary.creation_feedback.graphics_tests.vertex_stage_tessellation_control_stage_tessellation_evaluation_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.graphics_tests.vertex_stage_geometry_stage_fragment_stage,Crash +dEQP-VK.pipeline.pipeline_library.pipeline_binary.graphics_tests.vertex_stage_tessellation_control_stage_tessellation_evaluation_stage_fragment_stage,Crash +dEQP-VK.pipeline.pipeline_library.pipeline_binary.pipeline_from_get_data.vertex_stage_geometry_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.creation_feedback.graphics_tests.vertex_stage_fragment_stage_delayed_destroy,Crash +dEQP-VK.pipeline.pipeline_library.pipeline_binary.creation_feedback.graphics_tests.vertex_stage_geometry_stage_fragment_stage,Crash +dEQP-VK.pipeline.pipeline_library.pipeline_binary.creation_feedback.graphics_tests.vertex_stage_tessellation_control_stage_tessellation_evaluation_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.pipeline_from_get_data.vertex_stage_tessellation_control_stage_tessellation_evaluation_stage_fragment_stage,Crash diff --git a/src/nouveau/ci/nvk-ga106-fails.txt b/src/nouveau/ci/nvk-ga106-fails.txt index fa5a85b5988..30e9b998895 100644 --- a/src/nouveau/ci/nvk-ga106-fails.txt +++ b/src/nouveau/ci/nvk-ga106-fails.txt @@ -4,3 +4,18 @@ dEQP-VK.pipeline.shader_object_linked_binary.pipeline_cache.robustness2.storage, dEQP-VK.pipeline.shader_object_linked_spirv.pipeline_cache.robustness2.storage,Fail dEQP-VK.pipeline.shader_object_unlinked_binary.pipeline_cache.robustness2.storage,Fail dEQP-VK.pipeline.shader_object_unlinked_spirv.pipeline_cache.robustness2.storage,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.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 +dEQP-VK.pipeline.pipeline_library.pipeline_binary.creation_feedback.graphics_tests.vertex_stage_geometry_stage_fragment_stage,Crash +dEQP-VK.pipeline.pipeline_library.pipeline_binary.creation_feedback.graphics_tests.vertex_stage_geometry_stage_fragment_stage_delayed_destroy,Crash +dEQP-VK.pipeline.pipeline_library.pipeline_binary.creation_feedback.graphics_tests.vertex_stage_tessellation_control_stage_tessellation_evaluation_stage_fragment_stage,Crash +dEQP-VK.pipeline.pipeline_library.pipeline_binary.creation_feedback.graphics_tests.vertex_stage_tessellation_control_stage_tessellation_evaluation_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.graphics_tests.vertex_stage_geometry_stage_fragment_stage,Crash +dEQP-VK.pipeline.pipeline_library.pipeline_binary.graphics_tests.vertex_stage_tessellation_control_stage_tessellation_evaluation_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.pipeline_from_get_data.vertex_stage_geometry_stage_fragment_stage,Crash +dEQP-VK.pipeline.pipeline_library.pipeline_binary.pipeline_from_get_data.vertex_stage_tessellation_control_stage_tessellation_evaluation_stage_fragment_stage,Crash diff --git a/src/nouveau/vulkan/nvk_physical_device.c b/src/nouveau/vulkan/nvk_physical_device.c index 256ea41f474..96888585ac8 100644 --- a/src/nouveau/vulkan/nvk_physical_device.c +++ b/src/nouveau/vulkan/nvk_physical_device.c @@ -160,6 +160,7 @@ nvk_get_device_extensions(const struct nvk_instance *instance, .KHR_maintenance10 = true, .KHR_map_memory2 = true, .KHR_multiview = true, + .KHR_pipeline_binary = true, .KHR_pipeline_executable_properties = true, .KHR_pipeline_library = true, #ifdef NVK_USE_WSI_PLATFORM @@ -499,6 +500,9 @@ nvk_get_device_features(const struct nv_device_info *info, /* VK_KHR_maintenance10 */ .maintenance10 = true, + /* VK_KHR_pipeline_binary */ + .pipelineBinaries = true, + /* VK_KHR_pipeline_executable_properties */ .pipelineExecutableInfo = true, @@ -1041,6 +1045,13 @@ nvk_get_device_properties(const struct nvk_instance *instance, /* VK_KHR_compute_shader_derivatives */ .meshAndTaskShaderDerivatives = false, + /* VK_KHR_pipeline_binary + * + * InternalCache properties are set by + * nvk_physical_device_init_pipeline_cache() + */ + .pipelineBinaryCompressedData = false, + /* VK_EXT_conservative_rasterization */ .primitiveOverestimationSize = info->cls_eng3d >= VOLTA_A ? 1.0f / 512.0f : 0.0, .maxExtraPrimitiveOverestimationSize = 0.75, @@ -1235,7 +1246,7 @@ nvk_get_device_properties(const struct nvk_instance *instance, /* VK_EXT_host_image_copy */ - /* Not sure if there are layout specific things, so for now just reporting + /* Not sure if there are layout specific things, so for now just reporting * all layouts from extensions. */ static const VkImageLayout supported_layouts[] = { @@ -1321,6 +1332,12 @@ nvk_physical_device_init_pipeline_cache(struct nvk_physical_device *pdev) const uint64_t driver_flags = nvk_physical_device_compiler_flags(pdev); pdev->vk.disk_cache = disk_cache_create(renderer, timestamp, driver_flags); + if (pdev->vk.disk_cache != NULL) { + pdev->vk.properties.pipelineBinaryInternalCache = true; + pdev->vk.properties.pipelineBinaryInternalCacheControl = true; + pdev->vk.properties.pipelineBinaryPrefersInternalCache = true; + pdev->vk.properties.pipelineBinaryPrecompiledInternalCache = true; + } #endif } |