1// Copyright 2014-2021 The Khronos Group, Inc. 2// 3// SPDX-License-Identifier: CC-BY-4.0 4 5include::{generated}/meta/{refprefix}VK_GOOGLE_display_timing.txt[] 6 7=== Other Extension Metadata 8 9*Last Modified Date*:: 10 2017-02-14 11*IP Status*:: 12 No known IP claims. 13*Contributors*:: 14 - Ian Elliott, Google 15 - Jesse Hall, Google 16 17=== Description 18 19This device extension allows an application that uses the 20`apiext:VK_KHR_swapchain` extension to obtain information about the 21presentation engine's display, to obtain timing information about each 22present, and to schedule a present to happen no earlier than a desired time. 23An application can use this to minimize various visual anomalies (e.g. 24stuttering). 25 26Traditional game and real-time animation applications need to correctly 27position their geometry for when the presentable image will be presented to 28the user. 29To accomplish this, applications need various timing information about the 30presentation engine's display. 31They need to know when presentable images were actually presented, and when 32they could have been presented. 33Applications also need to tell the presentation engine to display an image 34no sooner than a given time. 35This allows the application to avoid stuttering, so the animation looks 36smooth to the user. 37 38This extension treats variable-refresh-rate (VRR) displays as if they are 39fixed-refresh-rate (FRR) displays. 40 41include::{generated}/interfaces/VK_GOOGLE_display_timing.txt[] 42 43=== Examples 44 45[NOTE] 46.Note 47==== 48The example code for the this extension (like the `apiext:VK_KHR_surface` 49and `VK_GOOGLE_display_timing` extensions) is contained in the cube demo 50that is shipped with the official Khronos SDK, and is being kept up-to-date 51in that location (see: 52https://github.com/KhronosGroup/Vulkan-Tools/blob/master/cube/cube.c ). 53==== 54 55=== Version History 56 57 * Revision 1, 2017-02-14 (Ian Elliott) 58 - Internal revisions 59