Structures

VkPresentTimingsInfoEXT

Array of VkPresentTimingInfoEXT to chain with VkPresentInfoKHR

When the presentAtAbsoluteTime or presentAtRelativeTime feature is enabled, an application can instruct the presentation engine to attempt to display an image at a specified time, or for a minimum duration, by including the VkPresentTimingsInfoEXT structure in the pNext chain of the VkPresentInfoKHR structure.

The VkPresentTimingsInfoEXT structure is defined as:

typedef struct VkPresentTimingsInfoEXT {
    VkStructureType sType;
    const void* pNext;
    uint32_t swapchainCount;
    const VkPresentTimingInfoEXT* pTimingInfos;
} VkPresentTimingsInfoEXT;
  • sType is a VkStructureType value identifying this structure.
  • pNext is NULL or a pointer to a structure extending this structure.
  • swapchainCount is the number of swapchains being presented to by this command.
  • pTimingInfos is NULL or a pointer to an array of VkPresentTimingInfoEXT elements with swapchainCount entries. If not NULL, each element of pTimingInfos contains timing information for the presentation of the image corresponding to the entry in the VkPresentInfoKHR::pImageIndices array.

Valid Usage

VUID-VkPresentTimingsInfoEXT-swapchainCount-12233

swapchainCount must be equal to VkPresentInfoKHR::swapchainCount

VUID-VkPresentTimingsInfoEXT-pSwapchains-12234

All swapchains in VkPresentInfoKHR::pSwapchains must have been created with the VkSwapchainCreateInfoKHR::flags field containing VK_SWAPCHAIN_CREATE_PRESENT_TIMING_BIT_EXT

VUID-VkPresentTimingsInfoEXT-pSwapchains-12235

For each member of VkPresentInfoKHR::pSwapchains, if the associated VkPresentTimingInfoEXT::targetTime is not zero, the swapchain’s current present mode must be VK_PRESENT_MODE_FIFO_LATEST_READY_KHR, VK_PRESENT_MODE_FIFO_KHR or VK_PRESENT_MODE_FIFO_RELAXED_KHR

Valid Usage (Implicit)

VUID-VkPresentTimingsInfoEXT-sType-sType

sType must be VK_STRUCTURE_TYPE_PRESENT_TIMINGS_INFO_EXT

VUID-VkPresentTimingsInfoEXT-pTimingInfos-parameter

If pTimingInfos is not NULL, pTimingInfos must be a valid pointer to an array of swapchainCount valid VkPresentTimingInfoEXT structures

VUID-VkPresentTimingsInfoEXT-swapchainCount-arraylength

swapchainCount must be greater than 0