Vulkan-Docs/appendices/VK_GOOGLE_display_timing.txt
Jon Leech 0d5f92c7fa Change log for June 10, 2018 Vulkan 1.1.77 spec update:
* Update release number to 77.

Public Issues:

  * Remove redundant asciidoctor ifdef in slink:VkDeviceCreateInfo valid
    usage statement (public pull request 718).

Internal Issues:

  * Require that the returned slink:VkMemoryRequirements::pname:alignment
    reflect the minimum alignment requirements for the buffer's usages, and
    make dynamic offset alignment valid usage more explicit for
    flink:vkBindBufferMemory and flink:vkCmdBindDescriptorSets (internal
    issue 1170).
  * Explicitly state that objects of type code:OpTypeImage,
    code:OpTypeSampler, and code:OpTypeSampledImage must not be stored to in
    the <<spirvenv-module-validation, Validation Rules within a Module>>
    section (internal issue 1262).
  * Clarify rules about validating descriptor set/binding against storage
    class and descriptor type in the <<spirvenv-module-validation,
    Validation Rules within a Module>> section, and add an anchor for and
    references to the <<interfaces-resources-storage-class-correspondence,
    Shader Resource and Storage Class Correspondence>> table (internal issue
    1266).
  * Use correct spelling of SPIR-V decoration code:NonWritable in several
    places (internal issue 1298).

Other Issues:

  * Update specification links to files in the old
    KhronosGroup/Vulkan-LoaderAndValidationLayers repository with
    corresponding links into the new repositories that replace it.
  * Move validity requirement for slink:VkSamplerCreateInfo into the valid
    usage block instead of the body text, and give it a VUID.
  * Use the full name of the "`style guide`" in a reference in the
    description of slink:vkGetPhysicalDeviceProperties, update the
    <<vulkan-styleguide, link to that document>>, and use the the full name
    in the registry index page.
2018-06-10 19:43:40 -07:00

82 lines
2.2 KiB
Plaintext

// Copyright (c) 2014-2018 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 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 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-Tools/blob/master/cube/cube.c ).
====
=== Version History
* Revision 1, 2017-02-14 (Ian Elliott)
- Internal revisions