// Copyright 2019-2022 The Khronos Group Inc. // // SPDX-License-Identifier: CC-BY-4.0 [open,refpage='VkPresentIdKHR',desc='The list of presentation identifiers',type='structs'] -- The sname:VkPresentIdKHR structure is defined as: include::{generated}/api/structs/VkPresentIdKHR.adoc[] * pname:sType is the type of this structure. * pname:pNext is `NULL` or a pointer to a structure extending this structure. * pname:swapchainCount is the number of swapchains being presented to the fname:vkQueuePresentKHR command. * pname:pPresentIds is `NULL` or a pointer to an array of uint64_t with pname:swapchainCount entries. If not `NULL`, each non-zero value in pname:pPresentIds specifies the present id to be associated with the presentation of the swapchain with the same index in the flink:vkQueuePresentKHR call. For applications to be able to reference specific presentation events queued by a call to fname:vkQueuePresentKHR, an identifier needs to be associated with them. When the <> feature is enabled, applications can: include the sname:VkPresentIdKHR structure in the pname:pNext chain of the slink:VkPresentInfoKHR structure to supply identifiers. Each sname:VkSwapchainKHR has a presentId associated with it. This value is initially set to zero when the sname:VkSwapchainKHR is created. When a sname:VkPresentIdKHR structure with a non-NULL pname:pPresentIds is included in the pname:pNext chain of a slink:VkPresentInfoKHR structure, each pname:pSwapchains entry has a presentId associated in the pname:pPresentIds array at the same index as the swapchain in the pname: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]] pname:swapchainCount must: be the same value as sname:VkPresentInfoKHR::pname:swapchainCount, where this sname:VkPresentIdKHR is in the pname:pNext chain of the sname:VkPresentInfoKHR structure * [[VUID-VkPresentIdKHR-presentIds-04999]] Each pname:presentIds entry must: be greater than any previous pname:presentIds entry passed for the associated pname:pSwapchains entry **** include::{generated}/validity/structs/VkPresentIdKHR.adoc[] -- ifdef::VK_KHR_present_wait[] include::{chapters}/VK_KHR_present_wait/WaitForPresent.adoc[] endif::VK_KHR_present_wait[]