VkSemaphoreGetFdInfoKHR
The VkSemaphoreGetFdInfoKHR structure is defined as:
typedef struct VkSemaphoreGetFdInfoKHR {
VkStructureType sType;
const void* pNext;
VkSemaphore semaphore;
VkExternalSemaphoreHandleTypeFlagBits handleType;
} VkSemaphoreGetFdInfoKHR;
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 file descriptor 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-VkSemaphoreGetFdInfoKHR-handleType-01132
handleType must have been included in
VkExportSemaphoreCreateInfo::handleTypes when
semaphore’s current payload was created
VUID-VkSemaphoreGetFdInfoKHR-semaphore-01133
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-VkSemaphoreGetFdInfoKHR-handleType-01134
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-VkSemaphoreGetFdInfoKHR-handleType-01135
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-VkSemaphoreGetFdInfoKHR-handleType-01136
handleType must be defined as a POSIX file descriptor handle
VUID-VkSemaphoreGetFdInfoKHR-handleType-03253
If handleType refers to a handle type with copy payload
transference semantics, semaphore must have been created with a
VkSemaphoreType of VK_SEMAPHORE_TYPE_BINARY
VUID-VkSemaphoreGetFdInfoKHR-handleType-03254
If handleType refers to a handle type with copy payload
transference semantics, semaphore must have an associated
semaphore signal operation that has been submitted for execution and any
semaphore signal operations on which it depends must have also been
submitted for execution
Valid Usage (Implicit)
VUID-VkSemaphoreGetFdInfoKHR-sType-sType
sType must be VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR
VUID-VkSemaphoreGetFdInfoKHR-pNext-pNext
pNext must be NULL
VUID-VkSemaphoreGetFdInfoKHR-semaphore-parameter
semaphore must be a valid VkSemaphore handle
VUID-VkSemaphoreGetFdInfoKHR-handleType-parameter
handleType must be a valid VkExternalSemaphoreHandleTypeFlagBits value