diff options
| author | skallweitNV <64953474+skallweitNV@users.noreply.github.com> | 2023-09-06 01:07:29 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-09-06 07:07:29 +0800 |
| commit | f80e01c8288e09aeac73c9f91bbfd8d1298a47ba (patch) | |
| tree | 673c7fd73b22f9965eba2f319f86aac23924a4f7 /tools/gfx/vulkan/vk-device.cpp | |
| parent | 2c2294d3310b24fd73cd41ec51338a736f3a2886 (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.cpp | 16 |
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); |
