pvr: Implement VK_KHR_external_fence
authorVlad Schiller <vlad-radu.schiller@imgtec.com>
Mon, 11 Sep 2023 06:42:22 +0000 (07:42 +0100)
committerMarge Bot <emma+marge@anholt.net>
Fri, 20 Oct 2023 13:58:06 +0000 (13:58 +0000)
In order for the tests to pass, this commit also enables
the VK_KHR_external_fence_fd extension.

Signed-off-by: Vlad Schiller <vlad-radu.schiller@imgtec.com>
Reviewed-by: Matt Coster <matt.coster@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25784>

docs/features.txt
src/imagination/vulkan/pvr_device.c

index b1e334f..0873ac3 100644 (file)
@@ -428,8 +428,8 @@ Vulkan 1.1 -- all DONE: anv, lvp, radv, tu, vn
   VK_KHR_descriptor_update_template                     DONE (anv, dzn, hasvk, lvp, nvk, panvk, radv, tu, v3dv, vn)
   VK_KHR_device_group                                   DONE (anv, dzn, hasvk, lvp, nvk, tu, v3dv, vn)
   VK_KHR_device_group_creation                          DONE (anv, hasvk, nvk, dzn, lvp, tu, v3dv, vn)
-  VK_KHR_external_fence                                 DONE (anv, hasvk, lvp, nvk, radv, tu, v3dv, vn)
-  VK_KHR_external_fence_capabilities                    DONE (anv, hasvk, lvp, nvk, radv, tu, v3dv, vn)
+  VK_KHR_external_fence                                 DONE (anv, hasvk, lvp, nvk, pvr, radv, tu, v3dv, vn)
+  VK_KHR_external_fence_capabilities                    DONE (anv, hasvk, lvp, nvk, pvr, radv, tu, v3dv, vn)
   VK_KHR_external_memory                                DONE (anv, dzn, hasvk, lvp, nvk, pvr, radv, tu, v3dv, vn)
   VK_KHR_external_memory_capabilities                   DONE (anv, dzn, hasvk, lvp, nvk, pvr, radv, tu, v3dv, vn)
   VK_KHR_external_semaphore                             DONE (anv, dzn, hasvk, lvp, nvk, radv, tu, v3dv, vn)
@@ -506,7 +506,7 @@ Khronos extensions that are not part of any Vulkan version:
   VK_KHR_deferred_host_operations                       DONE (anv, hasvk, radv)
   VK_KHR_display                                        DONE (anv, pvr, radv, tu, v3dv)
   VK_KHR_display_swapchain                              not started
-  VK_KHR_external_fence_fd                              DONE (anv, hasvk, nvk, radv, tu, v3dv, vn)
+  VK_KHR_external_fence_fd                              DONE (anv, hasvk, nvk, pvr, radv, tu, v3dv, vn)
   VK_KHR_external_fence_win32                           not started
   VK_KHR_external_memory_fd                             DONE (anv, dzn, hasvk, lvp, nvk, pvr, radv, tu, v3dv, vn)
   VK_KHR_external_memory_win32                          DONE (dzn)
index cff665f..5f06cbb 100644 (file)
@@ -148,6 +148,7 @@ static const struct pvr_drm_device_config pvr_drm_configs[] = {
 
 static const struct vk_instance_extension_table pvr_instance_extensions = {
    .KHR_display = PVR_USE_WSI_PLATFORM_DISPLAY,
+   .KHR_external_fence_capabilities = true,
    .KHR_external_memory_capabilities = true,
    .KHR_get_display_properties2 = PVR_USE_WSI_PLATFORM_DISPLAY,
    .KHR_get_physical_device_properties2 = true,
@@ -168,6 +169,8 @@ static void pvr_physical_device_get_supported_extensions(
        * test fail
        */
       .KHR_driver_properties = false,
+      .KHR_external_fence = true,
+      .KHR_external_fence_fd = true,
       .KHR_external_memory = true,
       .KHR_external_memory_fd = true,
       .KHR_format_feature_flags2 = true,