Add testing for sync_fd (#1747)

Modify the external semaphore extension test
to use SYNC_FD, if available on the device.

Deleted tests that are not compatible with blocking
semaphores.
This commit is contained in:
Sreelakshmi Haridas Maruthur
2023-08-01 12:03:00 -06:00
committed by GitHub
parent e29d0fd3a1
commit aa23f345c3
6 changed files with 87 additions and 435 deletions

View File

@@ -248,6 +248,9 @@ getSupportedVulkanExternalSemaphoreHandleTypeList()
}
externalSemaphoreHandleTypeList.push_back(
VULKAN_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT);
#elif defined(__ANDROID__)
externalSemaphoreHandleTypeList.push_back(
VULKAN_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD);
#else
externalSemaphoreHandleTypeList.push_back(
VULKAN_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD);
@@ -480,6 +483,33 @@ const std::vector<VulkanFormat> getSupportedVulkanFormatList()
return formatList;
}
cl_external_semaphore_handle_type_khr getCLSemaphoreTypeFromVulkanType(
VulkanExternalSemaphoreHandleType vulkanExternalSemaphoreHandleType)
{
cl_external_semaphore_handle_type_khr clExternalSemaphoreHandleTypeKhr = 0;
switch (vulkanExternalSemaphoreHandleType)
{
case VULKAN_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD:
clExternalSemaphoreHandleTypeKhr =
CL_SEMAPHORE_HANDLE_OPAQUE_FD_KHR;
break;
case VULKAN_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_NT:
clExternalSemaphoreHandleTypeKhr =
CL_SEMAPHORE_HANDLE_OPAQUE_WIN32_KHR;
break;
case VULKAN_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_NT_KMT:
case VULKAN_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT:
clExternalSemaphoreHandleTypeKhr =
CL_SEMAPHORE_HANDLE_OPAQUE_WIN32_KMT_KHR;
break;
case VULKAN_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD:
clExternalSemaphoreHandleTypeKhr = CL_SEMAPHORE_HANDLE_SYNC_FD_KHR;
break;
default: break;
}
return clExternalSemaphoreHandleTypeKhr;
}
uint32_t getVulkanFormatElementSize(VulkanFormat format)
{
switch (format)