diff --git a/docs/features.txt b/docs/features.txt index 7b3ea4779ca..8396b266c20 100644 --- a/docs/features.txt +++ b/docs/features.txt @@ -585,7 +585,7 @@ Khronos extensions that are not part of any Vulkan version: VK_EXT_fragment_shader_interlock DONE (anv, radv/gfx9+, vn) VK_EXT_global_priority DONE (anv, hasvk, radv, tu) VK_EXT_global_priority_query DONE (anv, hasvk, radv, tu) - VK_EXT_graphics_pipeline_library DONE (anv, lvp, radv, tu, vn) + VK_EXT_graphics_pipeline_library DONE (anv, lvp, nvk, radv, tu, vn) VK_EXT_headless_surface DONE (anv, dzn, hasvk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn) VK_EXT_image_2d_view_of_3d DONE (anv, hasvk, lvp, nvk, radv, tu, vn) VK_EXT_image_compression_control DONE (radv) diff --git a/src/nouveau/vulkan/nvk_physical_device.c b/src/nouveau/vulkan/nvk_physical_device.c index dc79f0fc4fb..cf6fc0056ed 100644 --- a/src/nouveau/vulkan/nvk_physical_device.c +++ b/src/nouveau/vulkan/nvk_physical_device.c @@ -177,6 +177,7 @@ nvk_get_device_extensions(const struct nvk_instance *instance, .EXT_extended_dynamic_state2 = true, .EXT_extended_dynamic_state3 = true, .EXT_external_memory_dma_buf = true, + .EXT_graphics_pipeline_library = true, .EXT_host_query_reset = true, .EXT_image_2d_view_of_3d = true, .EXT_image_robustness = true, @@ -464,6 +465,9 @@ nvk_get_device_features(const struct nv_device_info *info, .extendedDynamicState3RepresentativeFragmentTestEnable = false, .extendedDynamicState3ShadingRateImageEnable = false, + /* VK_EXT_graphics_pipeline_library */ + .graphicsPipelineLibrary = true, + /* VK_EXT_image_2d_view_of_3d */ .image2DViewOf3D = true, .sampler2DViewOf3D = true, @@ -805,6 +809,10 @@ nvk_get_device_properties(const struct nvk_instance *instance, /* VK_EXT_extended_dynamic_state3 */ .dynamicPrimitiveTopologyUnrestricted = true, + /* VK_EXT_graphics_pipeline_library */ + .graphicsPipelineLibraryFastLinking = true, + .graphicsPipelineLibraryIndependentInterpolationDecoration = true, + /* VK_KHR_line_rasterization */ .lineSubPixelPrecisionBits = 8,