VkPresentTimesInfoGOOGLE
When the VK_GOOGLE_display_timing extension is enabled, additional
fields can be specified that allow an application to specify the earliest
time that an image should be displayed.
This allows an application to avoid stutter that is caused by an image being
displayed earlier than planned.
Such stuttering can occur with both fixed and variable-refresh-rate
displays, because stuttering occurs when the geometry is not correctly
positioned for when the image is displayed.
An application can instruct the presentation engine that an image should
not be displayed earlier than a specified time by adding a
VkPresentTimesInfoGOOGLE
structure to the pNext
chain of the
VkPresentInfoKHR
structure.
The VkPresentTimesInfoGOOGLE
structure is defined as:
typedef struct VkPresentTimesInfoGOOGLE {
VkStructureType sType;
const void* pNext;
uint32_t swapchainCount;
const VkPresentTimeGOOGLE* pTimes;
} VkPresentTimesInfoGOOGLE;
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 by this command.pTimes
isNULL
or a pointer to an array ofVkPresentTimeGOOGLE
elements withswapchainCount
entries. If notNULL
, each element ofpTimes
contains the earliest time to present the image corresponding to the entry in theVkPresentInfoKHR
::pImageIndices
array.
Valid Usage
VUID-VkPresentTimesInfoGOOGLE-swapchainCount-01247
swapchainCount
must be the same value as
VkPresentInfoKHR
::swapchainCount
, where
VkPresentInfoKHR
is included in the pNext
chain of this
VkPresentTimesInfoGOOGLE
structure
Valid Usage (Implicit)
VUID-VkPresentTimesInfoGOOGLE-sType-sType
sType
must be VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE
VUID-VkPresentTimesInfoGOOGLE-pTimes-parameter
If pTimes
is not NULL
, pTimes
must be a valid pointer to an array of swapchainCount
VkPresentTimeGOOGLE structures
VUID-VkPresentTimesInfoGOOGLE-swapchainCount-arraylength
swapchainCount
must be greater than 0