C Specification
The implementation will maintain a limited amount of history of timing
information about previous presents.
Because of the asynchronous nature of the presentation engine, the timing
information for a given vkQueuePresentKHR command will become
available some time later.
These time values can be asynchronously queried, and will be returned if
available.
All time values are in nanoseconds, relative to a monotonically-increasing
clock (e.g. CLOCK_MONOTONIC (see clock_gettime(2)) on Android and Linux).
To asynchronously query the presentation engine, for newly-available timing information about one or more previous presents to a given swapchain, call:
VkResult vkGetPastPresentationTimingGOOGLE(
VkDevice device,
VkSwapchainKHR swapchain,
uint32_t* pPresentationTimingCount,
VkPastPresentationTimingGOOGLE* pPresentationTimings);
Parameters
-
deviceis the device associated withswapchain. -
swapchainis the swapchain to obtain presentation timing information duration for. -
pPresentationTimingCountis a pointer to an integer related to the number ofVkPastPresentationTimingGOOGLEstructures to query, as described below. -
pPresentationTimingsis eitherNULLor a pointer to an array ofVkPastPresentationTimingGOOGLEstructures.
Description
If pPresentationTimings is NULL, then the number of newly-available
timing records for the given swapchain is returned in
pPresentationTimingCount.
Otherwise, pPresentationTimingCount must point to a variable set by
the user to the number of elements in the pPresentationTimings array,
and on return the variable is overwritten with the number of structures
actually written to pPresentationTimings.
If the value of pPresentationTimingCount is less than the number of
newly-available timing records, at most pPresentationTimingCount
structures will be written.
If pPresentationTimingCount is smaller than the number of
newly-available timing records for the given swapchain,
VK_INCOMPLETE will be returned instead of VK_SUCCESS to indicate
that not all the available values were returned.
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.
Copyright
Copyright (c) 2014-2020 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.