aboutsummaryrefslogtreecommitdiff
path: root/test_conformance/common/vulkan_wrapper/vulkan_utility.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test_conformance/common/vulkan_wrapper/vulkan_utility.cpp')
-rw-r--r--test_conformance/common/vulkan_wrapper/vulkan_utility.cpp31
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)