VkPastPresentationTimingEXT(3)
Name
VkPastPresentationTimingEXT - Structure containing timing information about a previously-presented image
C Specification
The VkPastPresentationTimingEXT structure is defined as:
// Provided by VK_EXT_present_timing
typedef struct VkPastPresentationTimingEXT {
VkStructureType sType;
void* pNext;
uint64_t presentId;
uint64_t targetTime;
uint32_t presentStageCount;
VkPresentStageTimeEXT* pPresentStages;
VkTimeDomainKHR timeDomain;
uint64_t timeDomainId;
VkBool32 reportComplete;
} VkPastPresentationTimingEXT;
Members
-
sTypeis a VkStructureType value identifying this structure. -
pNextisNULLor a pointer to a structure extending this structure. -
presentIdis zero or a value that was given to a previousvkQueuePresentKHRcommand via VkPresentId2KHR::pPresentIds. -
targetTimeis the application-provided target absolute time or duration of the associated presentation request in VkPresentTimingInfoEXT::targetTime. -
presentStageCountis a count of items contained inpPresentStages. -
pPresentStagesa pointer to an array of VkPresentStageTimeEXT providing timing information for the presentation request associated withpresentId. -
timeDomainis the time domain used by the presentation engine to report times inpPresentStages. -
timeDomainIdis the id associated withtimeDomain. -
reportCompleteisVK_TRUEif the presentation engine has reported all the requested results inpPresentStages.
Description
When calling vkGetPastPresentationTimingEXT, the implementation sets
presentStageCount to the number of present stages it has written
results for.
If VK_PAST_PRESENTATION_TIMING_ALLOW_PARTIAL_RESULTS_BIT_EXT was
specified in VkPastPresentationTimingInfoEXT::flags, the
implementation may return an incomplete report containing fewer present
stage results than were queried by the associated presentation request.
Otherwise, results for all the present stages queried by the presentation
request are written by the implementation.
Timing information for some present stages may have a time value of 0, indicating that results for that present stage are not available.
For systems with multiple entities operating within the presentation engine,
such as multiple displays, pPresentStages will return timing results
for one entity which has been affected by the presentation.
timeDomainId may be different than the time domain that was specified
in VkPresentTimingInfoEXT::timeDomainId if the requirements for
using this time domain could not be met at the time the presentation engine
processed the presentation request.
In such a case, the presentation engine may pick a time domain to fall back
to, if one is available, and report results in that domain.
Applications can continue to use this fallback time domain in future
vkQueuePresentKHR calls, or they can call
vkGetSwapchainTimeDomainPropertiesEXT to choose from the currently
supported time domains.
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.