C Specification

The VkFenceGetWin32HandleInfoKHR structure is defined as:

// Provided by VK_KHR_external_fence_win32
typedef struct VkFenceGetWin32HandleInfoKHR {
VkStructureType                      sType;
const void*                          pNext;
VkFence                              fence;
VkExternalFenceHandleTypeFlagBits    handleType;
} VkFenceGetWin32HandleInfoKHR;

Members

• sType is the type of this structure.

• pNext is NULL or a pointer to a structure extending this structure.

• fence is the fence from which state will be exported.

• handleType is a VkExternalFenceHandleTypeFlagBits value specifying the type of handle requested.

Description

The properties of the handle returned depend on the value of handleType. See VkExternalFenceHandleTypeFlagBits for a description of the properties of the defined external fence handle types.

Valid Usage
• VUID-VkFenceGetWin32HandleInfoKHR-handleType-01448
handleType must have been included in VkExportFenceCreateInfo::handleTypes when the fence’s current payload was created

• VUID-VkFenceGetWin32HandleInfoKHR-handleType-01449
If handleType is defined as an NT handle, vkGetFenceWin32HandleKHR must be called no more than once for each valid unique combination of fence and handleType

• VUID-VkFenceGetWin32HandleInfoKHR-fence-01450
fence must not currently have its payload replaced by an imported payload as described below in Importing Fence Payloads unless that imported payload’s handle type was included in VkExternalFenceProperties::exportFromImportedHandleTypes for handleType

• VUID-VkFenceGetWin32HandleInfoKHR-handleType-01451
If handleType refers to a handle type with copy payload transference semantics, fence must be signaled, or have an associated fence signal operation pending execution

• VUID-VkFenceGetWin32HandleInfoKHR-handleType-01452
handleType must be defined as an NT handle or a global share handle

Valid Usage (Implicit)
• VUID-VkFenceGetWin32HandleInfoKHR-sType-sType
sType must be VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR

• VUID-VkFenceGetWin32HandleInfoKHR-pNext-pNext
pNext must be NULL

• VUID-VkFenceGetWin32HandleInfoKHR-fence-parameter
fence must be a valid VkFence handle

• VUID-VkFenceGetWin32HandleInfoKHR-handleType-parameter
handleType must be a valid VkExternalFenceHandleTypeFlagBits value