VkPresentIdKHR
The VkPresentIdKHR
structure is defined as:
typedef struct VkPresentIdKHR {
VkStructureType sType;
const void* pNext;
uint32_t swapchainCount;
const uint64_t* pPresentIds;
} VkPresentIdKHR;
sType
is a VkStructureType value identifying this structure.pNext
isNULL
or a pointer to a structure extending this structure.swapchainCount
is the number of swapchains being presented to thevkQueuePresentKHR
command.pPresentIds
isNULL
or a pointer to an array ofuint64_t
withswapchainCount
entries. If notNULL
, each non-zero value inpPresentIds
specifies the present id to be associated with the presentation of the swapchain with the same index in the vkQueuePresentKHR call.
For applications to be able to reference specific presentation events queued
by a call to vkQueuePresentKHR
, an identifier needs to be associated
with them.
When the presentId
feature is enabled,
applications can include the VkPresentIdKHR
structure in the
pNext
chain of the VkPresentInfoKHR structure to supply
identifiers.
Each VkSwapchainKHR
has a presentId associated with it.
This value is initially zero when the VkSwapchainKHR
is created.
When a VkPresentIdKHR
structure with a non-NULL pPresentIds
is
included in the pNext
chain of a VkPresentInfoKHR structure,
each pSwapchains
entry has a presentId associated in the
pPresentIds
array at the same index as the swapchain in the
pSwapchains
array.
If this presentId is non-zero, then the application can later use this
value to refer to that image presentation.
A value of zero indicates that this presentation has no associated
presentId.
A non-zero presentId must be greater than any non-zero presentId passed
previously by the application for the same swapchain.
There is no requirement for any precise timing relationship between the presentation of the image to the user and the update of the presentId value, but implementations should make this as close as possible to the presentation of the first pixel in the new image to the user.
Valid Usage
VUID-VkPresentIdKHR-swapchainCount-04998
swapchainCount
must be the same value as
VkPresentInfoKHR
::swapchainCount
, where this
VkPresentIdKHR
is in the pNext
chain of the
VkPresentInfoKHR
structure
VUID-VkPresentIdKHR-presentIds-04999
Each presentIds
entry must be greater than any previous
presentIds
entry passed for the associated pSwapchains
entry
Valid Usage (Implicit)
VUID-VkPresentIdKHR-sType-sType
sType
must be VK_STRUCTURE_TYPE_PRESENT_ID_KHR
VUID-VkPresentIdKHR-pPresentIds-parameter
If pPresentIds
is not NULL
, pPresentIds
must be a valid pointer to an array of swapchainCount
uint64_t
values
VUID-VkPresentIdKHR-swapchainCount-arraylength
swapchainCount
must be greater than 0