diff options
author | Jason Ekstrand <[email protected]> | 2017-07-13 11:40:46 -0700 |
---|---|---|
committer | Jason Ekstrand <[email protected]> | 2017-07-15 08:58:51 -0700 |
commit | dc179aa1231bdc503ceeedba705cdb1fb2df36e2 (patch) | |
tree | 06f7e7273357b0d5f398ce20aa3be832099ce7a9 /src/intel/vulkan/anv_queue.c | |
parent | 4ac94d0deed2c1bf1b47f512340c66cf9bde80c7 (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 <[email protected]>
Reviewed-by: Lionel Landwerlin <[email protected]>
Diffstat (limited to 'src/intel/vulkan/anv_queue.c')
-rw-r--r-- | src/intel/vulkan/anv_queue.c | 115 |
1 files changed, 5 insertions, 110 deletions
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; -} |