1// Copyright (c) 2016-2018 Khronos Group. This work is licensed under a 2// Creative Commons Attribution 4.0 International License; see 3// http://creativecommons.org/licenses/by/4.0/ 4 5include::meta/VK_KHR_external_fence_win32.txt[] 6 7*Last Modified Date*:: 8 2017-05-08 9*IP Status*:: 10 No known IP claims. 11*Contributors*:: 12 - Jesse Hall, Google 13 - James Jones, NVIDIA 14 - Jeff Juliano, NVIDIA 15 - Cass Everitt, Oculus 16 - Contributors to `<<VK_KHR_external_semaphore_win32>>` 17 18An application using external memory may wish to synchronize access to that 19memory using fences. 20This extension enables an application to export fence payload to and import 21fence payload from Windows handles. 22 23=== New Object Types 24 25None. 26 27=== New Enum Constants 28 29 * ename:VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR 30 * ename:VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR 31 * ename:VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR 32 33=== New Enums 34 35None. 36 37=== New Structs 38 39 * slink:VkImportFenceWin32HandleInfoKHR 40 * slink:VkExportFenceWin32HandleInfoKHR 41 * slink:VkFenceGetWin32HandleInfoKHR 42 43=== New Functions 44 45 * flink:vkImportFenceWin32HandleKHR 46 * flink:vkGetFenceWin32HandleKHR 47 48=== Issues 49 50This extension borrows concepts, semantics, and language from 51`<<VK_KHR_external_semaphore_win32>>`. 52That extension's issues apply equally to this extension. 53 541) Should D3D12 fence handle types be supported, like they are for 55semaphores? 56 57*RESOLVED*: No. 58Doing so would require extending the fence signal and wait operations to 59provide values to signal / wait for, like sname:VkD3D12FenceSubmitInfoKHR 60does. 61A D3D12 fence can be signaled by importing it into a elink:VkSemaphore 62instead of a elink:VkFence, and applications can check status or wait on the 63D3D12 fence using non-Vulkan APIs. 64The convenience of being able to do these operations on sname:VkFence 65objects doesn't justify the extra API complexity. 66