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

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