diff options
Diffstat (limited to 'test_conformance/common/vulkan_wrapper/vulkan_utility.cpp')
-rw-r--r-- | test_conformance/common/vulkan_wrapper/vulkan_utility.cpp | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/test_conformance/common/vulkan_wrapper/vulkan_utility.cpp b/test_conformance/common/vulkan_wrapper/vulkan_utility.cpp index 1a313cce..2124a275 100644 --- a/test_conformance/common/vulkan_wrapper/vulkan_utility.cpp +++ b/test_conformance/common/vulkan_wrapper/vulkan_utility.cpp @@ -21,6 +21,7 @@ #include <fstream> #include <set> #include <string> +#include <algorithm> #include <CL/cl.h> #include <CL/cl_ext.h> #if defined(_WIN32) || defined(_WIN64) @@ -248,6 +249,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 +484,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) |