VK_KHR_external_fence_win32
Other Extension Metadata
Last Modified Date
2017-05-08
IP Status
No known IP claims.
Contributors
- Jesse Hall, Google
- James Jones, NVIDIA
- Jeff Juliano, NVIDIA
- Cass Everitt, Oculus
- Contributors to VK_KHR_external_semaphore_win32
Description
An application using external memory may wish to synchronize access to that memory using fences. This extension enables an application to export fence payload to and import fence payload from Windows handles.
New Commands
New Structures
New Enum Constants
VK_KHR_EXTERNAL_FENCE_WIN32_EXTENSION_NAME
VK_KHR_EXTERNAL_FENCE_WIN32_SPEC_VERSION
- Extending VkStructureType:
VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR
VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR
VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR
Issues
This extension borrows concepts, semantics, and language from VK_KHR_external_semaphore_win32. That extension’s issues apply equally to this extension.
1) Should D3D12 fence handle types be supported, like they are for semaphores?
RESOLVED: No.
Doing so would require extending the fence signal and wait operations to
provide values to signal / wait for, like VkD3D12FenceSubmitInfoKHR
does.
A D3D12 fence can be signaled by importing it into a VkSemaphore
instead of a VkFence, and applications can check status or wait on the
D3D12 fence using non-Vulkan APIs.
The convenience of being able to do these operations on VkFence
objects does not justify the extra API complexity.
Version History
- Revision 1, 2017-05-08 (Jesse Hall)
- Initial revision