---
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
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-dev