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;
sType
is a VkStructureType value identifying this structure.pNext
isNULL
or a pointer to a structure extending this structure.waitSemaphoreValuesCount
is the number of semaphore wait values specified inpWaitSemaphoreValues
.pWaitSemaphoreValues
is a pointer to an array ofwaitSemaphoreValuesCount
values for the corresponding semaphores in VkSubmitInfo::pWaitSemaphores
to wait for.signalSemaphoreValuesCount
is the number of semaphore signal values specified inpSignalSemaphoreValues
.pSignalSemaphoreValues
is a pointer to an array ofsignalSemaphoreValuesCount
values for the corresponding semaphores in VkSubmitInfo::pSignalSemaphores
to 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