VkSemaphoreGetWin32HandleInfoKHR
The VkSemaphoreGetWin32HandleInfoKHR structure is defined as:
typedef struct VkSemaphoreGetWin32HandleInfoKHR {
VkStructureType sType;
const void* pNext;
VkSemaphore semaphore;
VkExternalSemaphoreHandleTypeFlagBits handleType;
} VkSemaphoreGetWin32HandleInfoKHR;
sTypeis a VkStructureType value identifying this structure.pNextisNULLor a pointer to a structure extending this structure.semaphoreis the semaphore from which state will be exported.handleTypeis a VkExternalSemaphoreHandleTypeFlagBits value specifying the type of handle requested.
The properties of the handle returned depend on the value of
handleType.
See VkExternalSemaphoreHandleTypeFlagBits for a description of the
properties of the defined external semaphore handle types.
Valid Usage
VUID-VkSemaphoreGetWin32HandleInfoKHR-handleType-01126
handleType must have been included in
VkExportSemaphoreCreateInfo::handleTypes when the
semaphore’s current payload was created
VUID-VkSemaphoreGetWin32HandleInfoKHR-handleType-01127
If handleType is defined as an NT handle,
vkGetSemaphoreWin32HandleKHR must be called no more than once for
each valid unique combination of semaphore and handleType
VUID-VkSemaphoreGetWin32HandleInfoKHR-semaphore-01128
semaphore must not currently have its payload replaced by an
imported payload as described below in
Importing Semaphore Payloads
unless that imported payload’s handle type was included in
VkExternalSemaphoreProperties::exportFromImportedHandleTypes
for handleType
VUID-VkSemaphoreGetWin32HandleInfoKHR-handleType-01129
If handleType refers to a handle type with copy payload
transference semantics, as defined below in
Importing Semaphore Payloads,
there must be no queue waiting on semaphore
VUID-VkSemaphoreGetWin32HandleInfoKHR-handleType-01130
If handleType refers to a handle type with copy payload
transference semantics, semaphore must be signaled, or have an
associated semaphore signal
operation pending execution
VUID-VkSemaphoreGetWin32HandleInfoKHR-handleType-01131
handleType must be defined as an NT handle or a global share
handle
Valid Usage (Implicit)
VUID-VkSemaphoreGetWin32HandleInfoKHR-sType-sType
sType must be VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR
VUID-VkSemaphoreGetWin32HandleInfoKHR-pNext-pNext
pNext must be NULL
VUID-VkSemaphoreGetWin32HandleInfoKHR-semaphore-parameter
semaphore must be a valid VkSemaphore handle
VUID-VkSemaphoreGetWin32HandleInfoKHR-handleType-parameter
handleType must be a valid VkExternalSemaphoreHandleTypeFlagBits value