Class KHRExternalFenceWin32
- java.lang.Object
-
- org.lwjgl.vulkan.KHRExternalFenceWin32
-
public class KHRExternalFenceWin32 extends java.lang.Object
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.- Name String
VK_KHR_external_fence_win32
- Extension Type
- Device extension
- Registered Extension Number
- 115
- Revision
- 1
- Extension and Version Dependencies
- Requires Vulkan 1.0
- Requires
VK_KHR_external_fence
- Contact
- Jesse Hall critsec
- 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
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
VK_KHR_EXTERNAL_FENCE_WIN32_EXTENSION_NAME
The extension name.static int
VK_KHR_EXTERNAL_FENCE_WIN32_SPEC_VERSION
The extension specification version.static int
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_KHRExtendsVkStructureType
.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static int
nvkGetFenceWin32HandleKHR(VkDevice device, long pGetWin32HandleInfo, long pHandle)
Unsafe version of:GetFenceWin32HandleKHR
static int
nvkImportFenceWin32HandleKHR(VkDevice device, long pImportFenceWin32HandleInfo)
Unsafe version of:ImportFenceWin32HandleKHR
static int
vkGetFenceWin32HandleKHR(VkDevice device, VkFenceGetWin32HandleInfoKHR pGetWin32HandleInfo, org.lwjgl.PointerBuffer pHandle)
Get a Windows HANDLE for a fence.static int
vkImportFenceWin32HandleKHR(VkDevice device, VkImportFenceWin32HandleInfoKHR pImportFenceWin32HandleInfo)
Import a fence from a Windows HANDLE.
-
-
-
Field Detail
-
VK_KHR_EXTERNAL_FENCE_WIN32_SPEC_VERSION
The extension specification version.
-
VK_KHR_EXTERNAL_FENCE_WIN32_EXTENSION_NAME
The extension name.
-
VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR, VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR, VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR
ExtendsVkStructureType
.Enum values:
-
-
Method Detail
-
nvkImportFenceWin32HandleKHR
public static int nvkImportFenceWin32HandleKHR(VkDevice device, long pImportFenceWin32HandleInfo)
Unsafe version of:ImportFenceWin32HandleKHR
-
vkImportFenceWin32HandleKHR
public static int vkImportFenceWin32HandleKHR(VkDevice device, VkImportFenceWin32HandleInfoKHR pImportFenceWin32HandleInfo)
Import a fence from a Windows HANDLE.C Specification
To import a fence payload from a Windows handle, call:
VkResult vkImportFenceWin32HandleKHR( VkDevice device, const VkImportFenceWin32HandleInfoKHR* pImportFenceWin32HandleInfo);
Description
Importing a fence payload from Windows handles does not transfer ownership of the handle to the Vulkan implementation. For handle types defined as NT handles, the application must release ownership using the
CloseHandle
system call when the handle is no longer needed.Applications can import the same fence 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 (Implicit)
device
must be a validVkDevice
handlepImportFenceWin32HandleInfo
must be a valid pointer to a validVkImportFenceWin32HandleInfoKHR
structure
Return Codes
- On success, this command returns
- On failure, this command returns
See Also
- Parameters:
device
- the logical device that created the fence.pImportFenceWin32HandleInfo
- points to aVkImportFenceWin32HandleInfoKHR
structure specifying the fence and import parameters.
-
nvkGetFenceWin32HandleKHR
public static int nvkGetFenceWin32HandleKHR(VkDevice device, long pGetWin32HandleInfo, long pHandle)
Unsafe version of:GetFenceWin32HandleKHR
-
vkGetFenceWin32HandleKHR
public static int vkGetFenceWin32HandleKHR(VkDevice device, VkFenceGetWin32HandleInfoKHR pGetWin32HandleInfo, org.lwjgl.PointerBuffer pHandle)
Get a Windows HANDLE for a fence.C Specification
To export a Windows handle representing the state of a fence, call:
VkResult vkGetFenceWin32HandleKHR( VkDevice device, const VkFenceGetWin32HandleInfoKHR* pGetWin32HandleInfo, HANDLE* pHandle);
Description
For handle types defined as NT handles, the handles returned by
vkGetFenceWin32HandleKHR
are owned by the application. To avoid leaking resources, the application must release ownership of them using theCloseHandle
system call when they are no longer needed.Exporting a Windows handle from a fence may have side effects depending on the transference of the specified handle type, as described in Importing Fence Payloads.
Valid Usage (Implicit)
device
must be a validVkDevice
handlepGetWin32HandleInfo
must be a valid pointer to a validVkFenceGetWin32HandleInfoKHR
structurepHandle
must be a valid pointer to aHANDLE
value
Return Codes
- On success, this command returns
- On failure, this command returns
See Also
- Parameters:
device
- the logical device that created the fence being exported.pGetWin32HandleInfo
- a pointer to an instance of theVkFenceGetWin32HandleInfoKHR
structure containing parameters of the export operation.pHandle
- will return the Windows handle representing the fence state.
-
-