C Specification
The VkPresentTimingInfoEXT structure is defined as:
// Provided by VK_EXT_present_timing
typedef struct VkPresentTimingInfoEXT {
VkStructureType sType;
const void* pNext;
VkPresentTimingInfoFlagsEXT flags;
uint64_t targetTime;
uint64_t timeDomainId;
VkPresentStageFlagsEXT presentStageQueries;
VkPresentStageFlagsEXT targetTimeDomainPresentStage;
} VkPresentTimingInfoEXT;
Members
-
sTypeis a VkStructureType value identifying this structure. -
pNextisNULLor a pointer to a structure extending this structure. -
flagsis a bitmask of VkPresentTimingInfoFlagBitsEXT specifying options for how to interpret the timing information. -
targetTimeis zero or a value specifying the target present time or duration, in nanoseconds, of the presentation request. -
timeDomainIdis the id of the time domain used to specify the absolute target present time and the timing results obtained in a subsequent vkGetPastPresentationTimingEXT call for the current presentation request. -
presentStageQueriesis a valid VkPresentStageFlagsEXT value indicating which present stages the presentation engine will collect timing information for. -
targetTimeDomainPresentStageis a valid VkPresentStageFlagsEXT specifying a single present stage used to interprettargetTime.
Description
If targetTime is not zero, the implementation attempts to align the
VK_PRESENT_STAGE_IMAGE_FIRST_PIXEL_VISIBLE_BIT_EXT present stage of
that presentation request with the time specified in targetTime
according to the time domain used.
If VK_PRESENT_TIMING_INFO_PRESENT_AT_NEAREST_REFRESH_CYCLE_BIT_EXT is
not set in flags, it indicates that the application would strictly
prefer the image to not be visible before targetTime has lapsed.
If targetTime is not zero and timeDomainId is associated with a
VK_TIME_DOMAIN_PRESENT_STAGE_LOCAL_EXT time domain,
targetTimeDomainPresentStage is used to specify which present stage’s
time domain targetTime is specified for.
Otherwise, targetTimeDomainPresentStage is ignored.
|
Note
|
Some platforms, due to hardware or system limitations, may not be able to
accurately time As such, the |
|
Note
|
Applications that specify an absolute present time should regularly rebase
their calculations for their next target time on the feedback from
vkGetPastPresentationTimingEXT to compensate for accumulated precision
errors or potential clock drift.
It is recommended that when targeting the time of a vertical blanking
period, applications set
|
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.