From 75e369335f9c287a882bfe0ba53392a3422658aa Mon Sep 17 00:00:00 2001 From: Juston Li Date: Mon, 9 Jan 2023 14:06:31 -0800 Subject: [PATCH] venus: require importable external semaphores for WSI Semaphore sync fd import required for WSI to skip scrubbing the wsi/external wait semaphores. Signed-off-by: Juston Li Part-of: --- src/virtio/vulkan/vn_physical_device.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/virtio/vulkan/vn_physical_device.c b/src/virtio/vulkan/vn_physical_device.c index 500866b64ce..c16c080cf31 100644 --- a/src/virtio/vulkan/vn_physical_device.c +++ b/src/virtio/vulkan/vn_physical_device.c @@ -971,9 +971,14 @@ vn_physical_device_get_native_extensions( exts->EXT_external_memory_dma_buf = true; } + /* Semaphore sync fd import required for WSI to skip scrubbing + * the wsi/external wait semaphores. + */ #ifdef VN_USE_WSI_PLATFORM if (renderer_exts->EXT_image_drm_format_modifier && - renderer_exts->EXT_queue_family_foreign) { + renderer_exts->EXT_queue_family_foreign && + (physical_dev->renderer_sync_fd_semaphore_features & + VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT)) { exts->KHR_incremental_present = true; exts->KHR_swapchain = true; exts->KHR_swapchain_mutable_format = true;