VK_GOOGLE_display_timing
Other Extension Metadata
Last Modified Date
2017-02-14
IP Status
No known IP claims.
Contributors
- Ian Elliott, Google
- Jesse Hall, Google
Description
This device extension allows an application that uses the VK_KHR_swapchain extension to obtain information about the presentation engine’s display, to obtain timing information about each present, and to schedule a present to happen no earlier than a desired time. An application can use this to minimize various visual anomalies (e.g. stuttering).
Traditional game and real-time animation applications need to correctly position their geometry for when the presentable image will be presented to the user. To accomplish this, applications need various timing information about the presentation engine’s display. They need to know when presentable images were actually presented, and when they could have been presented. Applications also need to tell the presentation engine to display an image no sooner than a given time. This allows the application to avoid stuttering, so the animation looks smooth to the user.
This extension treats variable-refresh-rate (VRR) displays as if they are fixed-refresh-rate (FRR) displays.
New Commands
New Structures
- VkPastPresentationTimingGOOGLE
- VkPresentTimeGOOGLE
- VkRefreshCycleDurationGOOGLE
- Extending VkPresentInfoKHR:
New Enum Constants
VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME
VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION
- Extending VkStructureType:
VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE
Examples
The example code for the this extension (like the VK_KHR_surface
and VK_GOOGLE_display_timing
extensions) is contained in the cube demo
that is shipped with the official Khronos SDK, and is being kept up-to-date
in that location (see:
https://github.com/KhronosGroup/Vulkan-Tools/blob/main/cube/cube.c ).
Version History
- Revision 1, 2017-02-14 (Ian Elliott)
- Internal revisions