From fd02ddc81bd0605eceafe0b1d0b198e9f1e67eb8 Mon Sep 17 00:00:00 2001 From: Iago Toral Quiroga Date: Fri, 6 May 2022 12:01:09 +0200 Subject: [PATCH] v3dv: expose VK_KHR_pipeline_executable_properties MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reviewed-by: Alejandro PiƱeiro Part-of: --- docs/features.txt | 2 +- src/broadcom/vulkan/v3dv_device.c | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) 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;