VkSemaphoreGetWin32HandleInfoKHR
The VkSemaphoreGetWin32HandleInfoKHR
structure is defined as:
typedef struct VkSemaphoreGetWin32HandleInfoKHR {
VkStructureType sType;
const void* pNext;
VkSemaphore semaphore;
VkExternalSemaphoreHandleTypeFlagBits handleType;
} VkSemaphoreGetWin32HandleInfoKHR;
sType
is a VkStructureType value identifying this structure.pNext
isNULL
or a pointer to a structure extending this structure.semaphore
is the semaphore from which state will be exported.handleType
is 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