C Specification
The VkPresentId2KHR
structure is defined as:
// Provided by VK_KHR_present_id2
typedef struct VkPresentId2KHR {
VkStructureType sType;
const void* pNext;
uint32_t swapchainCount;
const uint64_t* pPresentIds;
} VkPresentId2KHR;
Members
-
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 of uint64_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.
Description
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 VkSurfaceCapabilitiesPresentId2KHR surface capability is
present for a surface, applications can include the VkPresentId2KHR
structure in the pNext
chain of the VkPresentInfoKHR structure
to associate an identifier with each presentation request.
The pPresentIds
provides an identifier for the swapchain present at
the corresponding index in VkPresentInfoKHR’s 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.
If a non-zero presentId was provided, this may be used with vkWaitForPresent2KHR for the application to synchronize against the presentation engine’s processing of the presentation request.
Note
|
The ID namespace used by this extension must be shared with other extensions that allow the application to provide a 64-bit monotonically increasing presentation ID, such as the original VK_KHR_present_id. This is to allow existing extensions that depend on VK_KHR_present_id to use VK_KHR_present_id2 provided IDs without change, as well as to simplify writing future extensions that require application provided presentation IDs. |
Document Notes
For more information, see the Vulkan Specification
This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.