// Copyright (c) 2014-2017 Khronos Group. This work is licensed under a // Creative Commons Attribution 4.0 International License; see // http://creativecommons.org/licenses/by/4.0/ include::meta/VK_GOOGLE_display_timing.txt[] *Last Modified Date*:: 2017-02-14 *IP Status*:: No known IP claims. *Contributors*:: - Ian Elliott, Google - Jesse Hall, Google 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 can allow the application's animation to look smooth to the user, with no stuttering. This extension treats variable-refresh-rate (VRR) displays as if they are fixed-refresh-rate (FRR) displays. === New Object Types None. === New Enum Constants * Extending elink:VkStructureType: ** ename:VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE === New Enums None. === New Structures * slink:VkRefreshCycleDurationGOOGLE * slink:VkPastPresentationTimingGOOGLE * slink:VkPresentTimesInfoGOOGLE * slink:VkPresentTimeGOOGLE === New Functions * flink:vkGetRefreshCycleDurationGOOGLE * flink:vkGetPastPresentationTimingGOOGLE === Issues None. === Examples [NOTE] .Note ==== 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-LoaderAndValidationLayers/blob/master/demos/cube.c). ==== === Version History * Revision 1, 2017-02-14 (Ian Elliott) - Internal revisions