VkD3D12FenceSubmitInfoKHR
To specify the values to use when waiting for and signaling semaphores whose
current payload refers to a
Direct3D 12 fence, add a VkD3D12FenceSubmitInfoKHR structure to the
pNext chain of the VkSubmitInfo structure.
The VkD3D12FenceSubmitInfoKHR structure is defined as:
typedef struct VkD3D12FenceSubmitInfoKHR {
VkStructureType sType;
const void* pNext;
uint32_t waitSemaphoreValuesCount;
const uint64_t* pWaitSemaphoreValues;
uint32_t signalSemaphoreValuesCount;
const uint64_t* pSignalSemaphoreValues;
} VkD3D12FenceSubmitInfoKHR;
sTypeis a VkStructureType value identifying this structure.pNextisNULLor a pointer to a structure extending this structure.waitSemaphoreValuesCountis the number of semaphore wait values specified inpWaitSemaphoreValues.pWaitSemaphoreValuesis a pointer to an array ofwaitSemaphoreValuesCountvalues for the corresponding semaphores in VkSubmitInfo::pWaitSemaphoresto wait for.signalSemaphoreValuesCountis the number of semaphore signal values specified inpSignalSemaphoreValues.pSignalSemaphoreValuesis a pointer to an array ofsignalSemaphoreValuesCountvalues for the corresponding semaphores in VkSubmitInfo::pSignalSemaphoresto set when signaled.
If the semaphore in VkSubmitInfo::pWaitSemaphores or
VkSubmitInfo::pSignalSemaphores corresponding to an entry in
pWaitSemaphoreValues or pSignalSemaphoreValues respectively does
not currently have a payload
referring to a Direct3D 12 fence, the implementation must ignore the value
in the pWaitSemaphoreValues or pSignalSemaphoreValues entry.
As the introduction of the external semaphore handle type
VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT predates that of
timeline semaphores, support for importing semaphore payloads from external
handles of that type into semaphores created (implicitly or explicitly) with
a VkSemaphoreType of VK_SEMAPHORE_TYPE_BINARY is preserved for
backwards compatibility.
However, applications should prefer importing such handle types into
semaphores created with a VkSemaphoreType of
VK_SEMAPHORE_TYPE_TIMELINE, and use the
VkTimelineSemaphoreSubmitInfo structure instead of the
VkD3D12FenceSubmitInfoKHR structure to specify the values to use when
waiting for and signaling such semaphores.
Valid Usage
VUID-VkD3D12FenceSubmitInfoKHR-waitSemaphoreValuesCount-00079
waitSemaphoreValuesCount must be the same value as
VkSubmitInfo::waitSemaphoreCount, where this structure is in
the pNext chain of a VkSubmitInfo structure
VUID-VkD3D12FenceSubmitInfoKHR-signalSemaphoreValuesCount-00080
signalSemaphoreValuesCount must be the same value as
VkSubmitInfo::signalSemaphoreCount, where this structure is
in the pNext chain of a VkSubmitInfo structure
Valid Usage (Implicit)
VUID-VkD3D12FenceSubmitInfoKHR-sType-sType
sType must be VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR
VUID-VkD3D12FenceSubmitInfoKHR-pWaitSemaphoreValues-parameter
If waitSemaphoreValuesCount is not 0, and pWaitSemaphoreValues is not NULL, pWaitSemaphoreValues must be a valid pointer to an array of waitSemaphoreValuesCount uint64_t values
VUID-VkD3D12FenceSubmitInfoKHR-pSignalSemaphoreValues-parameter
If signalSemaphoreValuesCount is not 0, and pSignalSemaphoreValues is not NULL, pSignalSemaphoreValues must be a valid pointer to an array of signalSemaphoreValuesCount uint64_t values