summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason Ekstrand <jason.ekstrand@intel.com>2017-07-13 11:40:46 -0700
committerJason Ekstrand <jason.ekstrand@intel.com>2017-07-15 08:58:51 -0700
commitdc179aa1231bdc503ceeedba705cdb1fb2df36e2 (patch)
tree06f7e7273357b0d5f398ce20aa3be832099ce7a9
parent4ac94d0deed2c1bf1b47f512340c66cf9bde80c7 (diff)
anv: Drop support for VK_KHX_external_semaphore_*
These have been formally deprecated by Khronos never to be shipped again. The KHR versions should be implemented/used instead. Reviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
-rw-r--r--src/intel/vulkan/anv_device.c12
-rw-r--r--src/intel/vulkan/anv_entrypoints_gen.py3
-rw-r--r--src/intel/vulkan/anv_queue.c115
3 files changed, 5 insertions, 125 deletions
diff --git a/src/intel/vulkan/anv_device.c b/src/intel/vulkan/anv_device.c
index 7c269608202..f99f2cd1cdd 100644
--- a/src/intel/vulkan/anv_device.c
+++ b/src/intel/vulkan/anv_device.c
@@ -437,10 +437,6 @@ static const VkExtensionProperties global_extensions[] = {
.specVersion = 6,
},
#endif
- {
- .extensionName = VK_KHX_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME,
- .specVersion = 1,
- },
};
static const VkExtensionProperties device_extensions[] = {
@@ -473,14 +469,6 @@ static const VkExtensionProperties device_extensions[] = {
.specVersion = 68,
},
{
- .extensionName = VK_KHX_EXTERNAL_SEMAPHORE_EXTENSION_NAME,
- .specVersion = 1,
- },
- {
- .extensionName = VK_KHX_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME,
- .specVersion = 1,
- },
- {
.extensionName = VK_KHX_MULTIVIEW_EXTENSION_NAME,
.specVersion = 1,
},
diff --git a/src/intel/vulkan/anv_entrypoints_gen.py b/src/intel/vulkan/anv_entrypoints_gen.py
index 0de83fabd60..c2d35b72330 100644
--- a/src/intel/vulkan/anv_entrypoints_gen.py
+++ b/src/intel/vulkan/anv_entrypoints_gen.py
@@ -46,9 +46,6 @@ SUPPORTED_EXTENSIONS = [
'VK_KHR_wayland_surface',
'VK_KHR_xcb_surface',
'VK_KHR_xlib_surface',
- 'VK_KHX_external_semaphore',
- 'VK_KHX_external_semaphore_capabilities',
- 'VK_KHX_external_semaphore_fd',
'VK_KHX_multiview',
]
diff --git a/src/intel/vulkan/anv_queue.c b/src/intel/vulkan/anv_queue.c
index b12b2e076cd..2c10e9d2f69 100644
--- a/src/intel/vulkan/anv_queue.c
+++ b/src/intel/vulkan/anv_queue.c
@@ -528,38 +528,11 @@ 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;
-
- if (handleTypes == 0) {
- /* The DRM execbuffer ioctl always execute in-oder so long as you stay
- * on the same ring. Since we don't expose the blit engine as a DMA
- * queue, a dummy no-op semaphore is a perfectly valid implementation.
- */
- semaphore->permanent.type = ANV_SEMAPHORE_TYPE_DUMMY;
- } else if (handleTypes & VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHX) {
- assert(handleTypes == VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHX);
-
- semaphore->permanent.type = ANV_SEMAPHORE_TYPE_BO;
- VkResult result = anv_bo_cache_alloc(device, &device->bo_cache,
- 4096, &semaphore->permanent.bo);
- if (result != VK_SUCCESS) {
- vk_free2(&device->alloc, pAllocator, semaphore);
- return result;
- }
-
- /* If we're going to use this as a fence, we need to *not* have the
- * EXEC_OBJECT_ASYNC bit set.
- */
- assert(!(semaphore->permanent.bo->flags & EXEC_OBJECT_ASYNC));
- } else {
- assert(!"Unknown handle type");
- vk_free2(&device->alloc, pAllocator, semaphore);
- return vk_error(VK_ERROR_INVALID_EXTERNAL_HANDLE_KHX);
- }
-
+ /* The DRM execbuffer ioctl always execute in-oder so long as you stay
+ * on the same ring. Since we don't expose the blit engine as a DMA
+ * queue, a dummy no-op semaphore is a perfectly valid implementation.
+ */
+ semaphore->permanent.type = ANV_SEMAPHORE_TYPE_DUMMY;
semaphore->temporary.type = ANV_SEMAPHORE_TYPE_NONE;
*pSemaphore = anv_semaphore_to_handle(semaphore);
@@ -601,81 +574,3 @@ void anv_DestroySemaphore(
vk_free2(&device->alloc, pAllocator, semaphore);
}
-
-void anv_GetPhysicalDeviceExternalSemaphorePropertiesKHX(
- VkPhysicalDevice physicalDevice,
- const VkPhysicalDeviceExternalSemaphoreInfoKHX* pExternalSemaphoreInfo,
- VkExternalSemaphorePropertiesKHX* pExternalSemaphoreProperties)
-{
- switch (pExternalSemaphoreInfo->handleType) {
- case VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHX:
- pExternalSemaphoreProperties->exportFromImportedHandleTypes =
- VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHX;
- pExternalSemaphoreProperties->compatibleHandleTypes =
- VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHX;
- pExternalSemaphoreProperties->externalSemaphoreFeatures =
- VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHX |
- VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHX;
- break;
-
- default:
- pExternalSemaphoreProperties->exportFromImportedHandleTypes = 0;
- pExternalSemaphoreProperties->compatibleHandleTypes = 0;
- pExternalSemaphoreProperties->externalSemaphoreFeatures = 0;
- }
-}
-
-VkResult anv_ImportSemaphoreFdKHX(
- VkDevice _device,
- const VkImportSemaphoreFdInfoKHX* pImportSemaphoreFdInfo)
-{
- ANV_FROM_HANDLE(anv_device, device, _device);
- ANV_FROM_HANDLE(anv_semaphore, semaphore, pImportSemaphoreFdInfo->semaphore);
-
- switch (pImportSemaphoreFdInfo->handleType) {
- case VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHX: {
- struct anv_bo *bo;
- VkResult result = anv_bo_cache_import(device, &device->bo_cache,
- pImportSemaphoreFdInfo->fd, 4096,
- &bo);
- if (result != VK_SUCCESS)
- return result;
-
- /* If we're going to use this as a fence, we need to *not* have the
- * EXEC_OBJECT_ASYNC bit set.
- */
- assert(!(bo->flags & EXEC_OBJECT_ASYNC));
-
- anv_semaphore_impl_cleanup(device, &semaphore->permanent);
-
- semaphore->permanent.type = ANV_SEMAPHORE_TYPE_BO;
- semaphore->permanent.bo = bo;
-
- return VK_SUCCESS;
- }
-
- default:
- return vk_error(VK_ERROR_INVALID_EXTERNAL_HANDLE_KHX);
- }
-}
-
-VkResult anv_GetSemaphoreFdKHX(
- VkDevice _device,
- VkSemaphore _semaphore,
- VkExternalSemaphoreHandleTypeFlagBitsKHX handleType,
- int* pFd)
-{
- ANV_FROM_HANDLE(anv_device, device, _device);
- ANV_FROM_HANDLE(anv_semaphore, semaphore, _semaphore);
-
- switch (semaphore->permanent.type) {
- case ANV_SEMAPHORE_TYPE_BO:
- return anv_bo_cache_export(device, &device->bo_cache,
- semaphore->permanent.bo, pFd);
-
- default:
- return vk_error(VK_ERROR_INVALID_EXTERNAL_HANDLE_KHX);
- }
-
- return VK_SUCCESS;
-}