Class KHRExternalSemaphoreFd
- Name String
VK_KHR_external_semaphore_fd- Extension Type
- Device extension
- Registered Extension Number
- 80
- Revision
- 1
- Extension and Version Dependencies
VK_KHR_external_semaphoreor Version 1.1- Contact
- James Jones cubanismo
Other Extension Metadata
- 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
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringThe extension name.static final intThe extension specification version.static final intExtendsVkStructureType.static final intExtendsVkStructureType. -
Method Summary
Modifier and TypeMethodDescriptionstatic intnvkGetSemaphoreFdKHR(org.lwjgl.vulkan.VkDevice device, long pGetFdInfo, long pFd) Unsafe version of:GetSemaphoreFdKHRstatic intnvkImportSemaphoreFdKHR(org.lwjgl.vulkan.VkDevice device, long pImportSemaphoreFdInfo) Unsafe version of:ImportSemaphoreFdKHRstatic intvkGetSemaphoreFdKHR(org.lwjgl.vulkan.VkDevice device, VkSemaphoreGetFdInfoKHR pGetFdInfo, int[] pFd) Array version of:GetSemaphoreFdKHRstatic intvkGetSemaphoreFdKHR(org.lwjgl.vulkan.VkDevice device, VkSemaphoreGetFdInfoKHR pGetFdInfo, IntBuffer pFd) Get a POSIX file descriptor handle for a semaphore.static intvkImportSemaphoreFdKHR(org.lwjgl.vulkan.VkDevice device, VkImportSemaphoreFdInfoKHR pImportSemaphoreFdInfo) Import a semaphore from a POSIX file descriptor.
-
Field Details
-
VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION
public static final int VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSIONThe extension specification version.- See Also:
-
VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME
The extension name.- See Also:
-
VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR
public static final int VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHRExtendsVkStructureType.Enum values:
- See Also:
-
VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR
public static final int VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHRExtendsVkStructureType.Enum values:
- See Also:
-
-
Method Details
-
nvkImportSemaphoreFdKHR
public static int nvkImportSemaphoreFdKHR(org.lwjgl.vulkan.VkDevice device, long pImportSemaphoreFdInfo) Unsafe version of:ImportSemaphoreFdKHR -
vkImportSemaphoreFdKHR
public static int vkImportSemaphoreFdKHR(org.lwjgl.vulkan.VkDevice device, VkImportSemaphoreFdInfoKHR pImportSemaphoreFdInfo) Import a semaphore from a POSIX file descriptor.C Specification
To import a semaphore payload from a POSIX file descriptor, call:
VkResult vkImportSemaphoreFdKHR( VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo);Description
Importing a semaphore payload from a file descriptor transfers ownership of the file descriptor from the application to the Vulkan implementation. The application must not perform any operations on the file descriptor after a successful import.
Applications can import the same semaphore payload into multiple instances of Vulkan, into the same instance from which it was exported, and multiple times into a given Vulkan instance.
Valid Usage
semaphoremust not be associated with any queue command that has not yet completed execution on that queue
Valid Usage (Implicit)
devicemust be a validVkDevicehandlepImportSemaphoreFdInfomust be a valid pointer to a validVkImportSemaphoreFdInfoKHRstructure
Return Codes
- On success, this command returns
- On failure, this command returns
See Also
- Parameters:
device- the logical device that created the semaphore.pImportSemaphoreFdInfo- a pointer to aVkImportSemaphoreFdInfoKHRstructure specifying the semaphore and import parameters.
-
nvkGetSemaphoreFdKHR
public static int nvkGetSemaphoreFdKHR(org.lwjgl.vulkan.VkDevice device, long pGetFdInfo, long pFd) Unsafe version of:GetSemaphoreFdKHR -
vkGetSemaphoreFdKHR
public static int vkGetSemaphoreFdKHR(org.lwjgl.vulkan.VkDevice device, VkSemaphoreGetFdInfoKHR pGetFdInfo, IntBuffer pFd) Get a POSIX file descriptor handle for a semaphore.C Specification
To export a POSIX file descriptor representing the payload of a semaphore, call:
VkResult vkGetSemaphoreFdKHR( VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd);Description
Each call to
vkGetSemaphoreFdKHRmust create a new file descriptor and transfer ownership of it to the application. To avoid leaking resources, the application must release ownership of the file descriptor when it is no longer needed.Note
Ownership can be released in many ways. For example, the application can call
close() on the file descriptor, or transfer ownership back to Vulkan by using the file descriptor to import a semaphore payload.Where supported by the operating system, the implementation must set the file descriptor to be closed automatically when an
execvesystem call is made.Exporting a file descriptor from a semaphore may have side effects depending on the transference of the specified handle type, as described in Importing Semaphore State.
Valid Usage (Implicit)
devicemust be a validVkDevicehandlepGetFdInfomust be a valid pointer to a validVkSemaphoreGetFdInfoKHRstructurepFdmust be a valid pointer to anintvalue
Return Codes
- On success, this command returns
- On failure, this command returns
See Also
- Parameters:
device- the logical device that created the semaphore being exported.pGetFdInfo- a pointer to aVkSemaphoreGetFdInfoKHRstructure containing parameters of the export operation.pFd- will return the file descriptor representing the semaphore payload.
-
vkGetSemaphoreFdKHR
public static int vkGetSemaphoreFdKHR(org.lwjgl.vulkan.VkDevice device, VkSemaphoreGetFdInfoKHR pGetFdInfo, int[] pFd) Array version of:GetSemaphoreFdKHR
-