--- src/intel/vulkan/anv_device.c | 4 ++++ src/intel/vulkan/anv_entrypoints_gen.py | 1 + src/intel/vulkan/anv_queue.c | 8 ++++++++ 3 files changed, 13 insertions(+)
diff --git a/src/intel/vulkan/anv_device.c b/src/intel/vulkan/anv_device.c index 41e0fb3..b85cd40 100644 --- a/src/intel/vulkan/anv_device.c +++ b/src/intel/vulkan/anv_device.c @@ -374,6 +374,10 @@ static const VkExtensionProperties device_extensions[] = { .extensionName = VK_KHX_EXTERNAL_MEMORY_FD_EXTENSION_NAME, .specVersion = 1, }, + { + .extensionName = VK_KHX_EXTERNAL_SEMAPHORE_EXTENSION_NAME, + .specVersion = 1, + }, }; static void * diff --git a/src/intel/vulkan/anv_entrypoints_gen.py b/src/intel/vulkan/anv_entrypoints_gen.py index 5ad0f26..cfa9d68 100644 --- a/src/intel/vulkan/anv_entrypoints_gen.py +++ b/src/intel/vulkan/anv_entrypoints_gen.py @@ -48,6 +48,7 @@ SUPPORTED_EXTENSIONS = [ 'VK_KHX_external_memory', 'VK_KHX_external_memory_capabilities', 'VK_KHX_external_memory_fd', + 'VK_KHX_external_semaphore', 'VK_KHX_external_semaphore_capabilities', ] diff --git a/src/intel/vulkan/anv_queue.c b/src/intel/vulkan/anv_queue.c index 906eb25..64c5900 100644 --- a/src/intel/vulkan/anv_queue.c +++ b/src/intel/vulkan/anv_queue.c @@ -508,6 +508,14 @@ VkResult anv_CreateSemaphore( if (semaphore == NULL) return vk_error(VK_ERROR_OUT_OF_HOST_MEMORY); + const VkExportSemaphoreCreateInfoKHX *export = + vk_find_struct_const(pCreateInfo->pNext, EXPORT_SEMAPHORE_CREATE_INFO_KHX); + VkExternalSemaphoreHandleTypeFlagsKHX handleTypes = + export ? export->handleTypes : 0; + + /* External semaphores are not yet supported */ + assert(handleTypes == 0); + /* The DRM execbuffer ioctl always execute in-oder, even between * different rings. As such, a dummy no-op semaphore is a perfectly * valid implementation. -- 2.5.0.400.gff86faf _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev