// Copyright (c) 2016-2019 Khronos Group. This work is licensed under a // Creative Commons Attribution 4.0 International License; see // http://creativecommons.org/licenses/by/4.0/ include::meta/VK_KHR_external_semaphore_fd.txt[] *Last Modified Date*:: 2016-10-21 *IP Status*:: No known IP claims. *Contributors*:: - Jesse Hall, Google - James Jones, NVIDIA - Jeff Juliano, NVIDIA - Carsten Rohde, NVIDIA An application using external memory may wish to synchronize access to that memory using semaphores. This extension enables an application to export semaphore payload to and import semaphore payload from POSIX file descriptors. === New Object Types None. === New Enum Constants * ename:VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR * ename:VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR === New Enums None. === New Structs * slink:VkImportSemaphoreFdInfoKHR * slink:VkSemaphoreGetFdInfoKHR === New Functions * flink:vkImportSemaphoreFdKHR * flink:vkGetSemaphoreFdKHR === Issues 1) Does the application need to close the file descriptor returned by flink:vkGetSemaphoreFdKHR? *RESOLVED*: Yes, unless it is passed back in to a driver instance to import the semaphore. A successful get call transfers ownership of the file descriptor to the application, and a successful import transfers it back to the driver. Destroying the original semaphore object will not close the file descriptor or remove its reference to the underlying semaphore resource associated with it.