summaryrefslogtreecommitdiffstats
path: root/tools/gfx/vulkan/vk-device.cpp
diff options
context:
space:
mode:
authorskallweitNV <64953474+skallweitNV@users.noreply.github.com>2023-09-06 01:07:29 +0200
committerGitHub <noreply@github.com>2023-09-06 07:07:29 +0800
commitf80e01c8288e09aeac73c9f91bbfd8d1298a47ba (patch)
tree673c7fd73b22f9965eba2f319f86aac23924a4f7 /tools/gfx/vulkan/vk-device.cpp
parent2c2294d3310b24fd73cd41ec51338a736f3a2886 (diff)
Add support for getting external semaphore handles (#3181)
* Add support for getting external semaphore handles * Fixes * Linux fix * Address reviewer comments --------- Co-authored-by: Yong He <yonghe@outlook.com>
Diffstat (limited to 'tools/gfx/vulkan/vk-device.cpp')
-rw-r--r--tools/gfx/vulkan/vk-device.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/tools/gfx/vulkan/vk-device.cpp b/tools/gfx/vulkan/vk-device.cpp
index 8f7a88886..015be5f15 100644
--- a/tools/gfx/vulkan/vk-device.cpp
+++ b/tools/gfx/vulkan/vk-device.cpp
@@ -607,6 +607,22 @@ Result DeviceImpl::initVulkanInstanceAndDevice(
#endif
m_features.add("external-memory");
}
+ if (extensionNames.contains(VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME))
+ {
+ deviceExtensions.add(VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME);
+#if SLANG_WINDOWS_FAMILY
+ if (extensionNames.contains(VK_KHR_EXTERNAL_SEMAPHORE_WIN32_EXTENSION_NAME))
+ {
+ deviceExtensions.add(VK_KHR_EXTERNAL_SEMAPHORE_WIN32_EXTENSION_NAME);
+ }
+#else
+ if (extensionNames.contains(VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME))
+ {
+ deviceExtensions.add(VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME);
+ }
+#endif
+ m_features.add("external-semaphore");
+ }
if (extensionNames.contains(VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME))
{
deviceExtensions.add(VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME);