| // Copyright 2014-2021 The Khronos Group, Inc. |
| // |
| // SPDX-License-Identifier: CC-BY-4.0 |
| |
| include::{generated}/meta/{refprefix}VK_GOOGLE_display_timing.txt[] |
| |
| === 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 |
| `apiext: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. |
| |
| include::{generated}/interfaces/VK_GOOGLE_display_timing.txt[] |
| |
| === Examples |
| |
| [NOTE] |
| .Note |
| ==== |
| The example code for the this extension (like the `apiext: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/master/cube/cube.c ). |
| ==== |
| |
| === Version History |
| |
| * Revision 1, 2017-02-14 (Ian Elliott) |
| - Internal revisions |