pvr: Implement VK_KHR_external_semaphore
authorVlad Schiller <vlad-radu.schiller@imgtec.com>
Mon, 11 Sep 2023 06:19:39 +0000 (07:19 +0100)
committerMarge Bot <emma+marge@anholt.net>
Fri, 20 Oct 2023 13:58:07 +0000 (13:58 +0000)
In order for the tests to pass, this commit also enables
the VK_KHR_external_semaphore_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 0873ac3..e607048 100644 (file)
@@ -432,8 +432,8 @@ Vulkan 1.1 -- all DONE: anv, lvp, radv, tu, 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)
-  VK_KHR_external_semaphore_capabilities                DONE (anv, dzn, hasvk, lvp, nvk, radv, tu, v3dv, vn)
+  VK_KHR_external_semaphore                             DONE (anv, dzn, hasvk, lvp, nvk, pvr, radv, tu, v3dv, vn)
+  VK_KHR_external_semaphore_capabilities                DONE (anv, dzn, hasvk, lvp, nvk, pvr, radv, tu, v3dv, vn)
   VK_KHR_get_memory_requirements2                       DONE (anv, dzn, hasvk, lvp, nvk, pvr, radv, tu, v3dv, vn)
   VK_KHR_get_physical_device_properties2                DONE (anv, dzn, hasvk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
   VK_KHR_maintenance1                                   DONE (anv, dzn, hasvk, lvp, nvk, radv, tu, v3dv, vn)
@@ -510,7 +510,7 @@ Khronos extensions that are not part of any Vulkan version:
   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)
-  VK_KHR_external_semaphore_fd                          DONE (anv, dzn, hasvk, nvk, radv, tu, v3dv, vn)
+  VK_KHR_external_semaphore_fd                          DONE (anv, dzn, hasvk, nvk, pvr, radv, tu, v3dv, vn)
   VK_KHR_external_semaphore_win32                       DONE (dzn)
   VK_KHR_fragment_shader_barycentric                    DONE (radv/gfx10.3+)
   VK_KHR_fragment_shading_rate                          DONE (anv/gen11+, radv/gfx10.3+)
index 5f06cbb..7f64610 100644 (file)
@@ -150,6 +150,7 @@ 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_external_semaphore_capabilities = true,
    .KHR_get_display_properties2 = PVR_USE_WSI_PLATFORM_DISPLAY,
    .KHR_get_physical_device_properties2 = true,
    .KHR_get_surface_capabilities2 = PVR_USE_WSI_PLATFORM,
@@ -174,6 +175,8 @@ static void pvr_physical_device_get_supported_extensions(
       .KHR_external_memory = true,
       .KHR_external_memory_fd = true,
       .KHR_format_feature_flags2 = true,
+      .KHR_external_semaphore = PVR_USE_WSI_PLATFORM,
+      .KHR_external_semaphore_fd = PVR_USE_WSI_PLATFORM,
       .KHR_get_memory_requirements2 = true,
       .KHR_image_format_list = true,
       .KHR_swapchain = PVR_USE_WSI_PLATFORM,