diff --git a/docs/features.txt b/docs/features.txt index e26a0df3b90..68c8574805d 100644 --- a/docs/features.txt +++ b/docs/features.txt @@ -510,7 +510,7 @@ Khronos extensions that are not part of any Vulkan version: VK_KHR_get_surface_capabilities2 DONE (anv, lvp, radv, tu, v3dv, vn) VK_KHR_incremental_present DONE (anv, lvp, radv, tu, v3dv, vn) VK_KHR_performance_query DONE (anv/gen8+, tu) - VK_KHR_pipeline_executable_properties DONE (anv, radv, tu) + VK_KHR_pipeline_executable_properties DONE (anv, radv, tu, v3dv) VK_KHR_pipeline_library DONE (lvp, radv) VK_KHR_push_descriptor DONE (anv, lvp, radv, tu) VK_KHR_ray_query in progress diff --git a/src/broadcom/vulkan/v3dv_device.c b/src/broadcom/vulkan/v3dv_device.c index 4e4a56cd270..b01b7264d48 100644 --- a/src/broadcom/vulkan/v3dv_device.c +++ b/src/broadcom/vulkan/v3dv_device.c @@ -137,6 +137,7 @@ get_device_extensions(const struct v3dv_physical_device *device, .KHR_maintenance2 = true, .KHR_maintenance3 = true, .KHR_multiview = true, + .KHR_pipeline_executable_properties = true, .KHR_separate_depth_stencil_layouts = true, .KHR_shader_non_semantic_info = true, .KHR_sampler_mirror_clamp_to_edge = true, @@ -1257,6 +1258,13 @@ v3dv_GetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice, break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR: { + VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR *features = + (VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR *) ext; + features->pipelineExecutableInfo = true; + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT: { VkPhysicalDeviceProvokingVertexFeaturesEXT *features = (void *) ext; features->provokingVertexLast = true;