mirror of
https://github.com/status-im/Vulkan-Docs.git
synced 2025-02-22 11:08:19 +00:00
* First public update for Vulkan 1.1. Github Issues: * Refer to standard sparse image block shape format tables explicitly in the <<sparsememory-standard-shapes, Standard Sparse Image Block Shapes>> section (public issue 93). * Add the missing definition of the code:LocalInvocationIndex decoration in the <<interfaces-builtin-variables, Built-In Variables>> section (public issue 532). * Clarify dynamic state definition in the introduction to the <<pipelines, Pipelines>> section and the new <<pipelines-dynamic-state, Dynamic State>> subsection (public issue 620). * Clarified deprecation statement in the `VK_AMD_negative_viewport_height` appendix (public issue 674). * Fix parameter descriptions for flink:vkCreateIndirectCommandsLayoutNVX (public issue 677). Internal Issues: * Remove description of <<primsrast-points, rasterization point size>> being taken from the tessellation control shader, since there are no circumstances under which you can have TCS without TES (internal issue 522). * Define <<copies-images-format-size-compatibility, _size-compatible_ image formats>> for flink:vkCmdCopyImage, add it to the glossary, and use that definition for slink:VkImageViewCreateInfo (internal issue 771). * Change brief descriptions of enumerant names, and of parameters which are enumerants, from "`enum *indicates*`" to "`enum *specifies*`" for consistency, and add a markup style guide rule (internal issue 862). * Clarify how execution dependencies interact with <<synchronization-submission-order, submission order>> at numerous places in the <<renderpass, Render Pass>> and <<synchronization, Synchronization>> chapters (internal issue 1062). * Clarify statement in the <<interfaces-resources-setandbinding, DescriptorSet and Binding Assignment>> section that only interface variables statically used by the entry point used in a pipeline must be present in the descriptor set layout (internal issue 1172). * Flip sparse image diagrams with partially full mip levels vertically, to match graph origins of other image diagrams (internal issue 1176). * Update new SVG diagrams to have consistent style and base font size, increase consistency of primitive topology diagrams, and add a section to the style guide on creating and editing images in a consistent style (internal issue 1177). * Resolve problems with valid usage statement extraction by fixing existing VUID tags for interfaces promoted to version 1.1 and fixing conditional directives around VUID-VkMemoryDedicatedAllocateInfo-image-01797 (internal issue 1184). * Strip `KHR` suffixes from a few interfaces promoted to Vulkan 1.1 that were missed previously (internal issue 1185). * Restrict code:OpImageQuerySizeLod and code:OpImageQueryLevels to only work on code:Image operands with their code:Sampled operand set to 1. In other words, these operations are not defined to work with storage images (internal issue 1193). * Recycle extension slot for extension #82 in `vk.xml`. This extension was never published (internal issue 1195). * Add an issue to the `VK_KHR_maintenance1` appendix noting that zero height viewports are allowed when this extension is enabled (internal issue 1202). * Fix slink:VkDescriptorSetLayoutBinding description so that shader stages always use descriptor bindings, not the other way around (internal issue 1206). * Fix field name for slink:VkInputAttachmentAspectReference::pname:inputAttachmentIndex (internal issue 1210). Other Issues: * Fix a few broken links in the <<versions-1.1, Version 1.1>> appendix. * Replace a few old refBegin/refEnd tags with open block markup around interfaces, and remove old KHX VUID tags that were breaking the valid usage statement extraction. * Fix error codes accidentally tagged as success codes in `vk.xml` for flink:vkGetSwapchainCounterEXT. * Added valid usage statements for ftext:vkBind*Memory2 input structures stext:VkBind*MemoryInfo, and fix a pname:image -> pname:buffer typo in a couple of places. * Fix swapped descriptions of elink:VkDescriptorType enums ename:VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE and ename:VK_DESCRIPTOR_TYPE_STORAGE_IMAGE (reported via tweet). New Extensions: * `VK_ANDROID_external_memory_android_hardware_buffer`
68 lines
2.9 KiB
Plaintext
68 lines
2.9 KiB
Plaintext
|
|
[open,refpage='VkPresentTimesInfoGOOGLE',desc='The earliest time each image should be presented',type='structs']
|
|
--
|
|
|
|
When the `<<VK_GOOGLE_display_timing>>` extension is enabled, additional
|
|
fields can: be specified that allow an application to specify the earliest
|
|
time that an image should be displayed.
|
|
This allows an application to avoid stutter that is caused by an image being
|
|
displayed earlier than planned.
|
|
Such stuttering can occur with both fixed and variable-refresh-rate
|
|
displays, because stuttering occurs when the geometry is not correctly
|
|
positioned for when the image is displayed.
|
|
An application can: instruct the presentation engine that an image should
|
|
not be displayed earlier than a specified time by including the
|
|
sname:VkPresentTimesInfoGOOGLE structure in the pname:pNext chain of the
|
|
sname:VkPresentInfoKHR structure.
|
|
|
|
The sname:VkPresentTimesInfoGOOGLE structure is defined as:
|
|
|
|
include::../../api/structs/VkPresentTimesInfoGOOGLE.txt[]
|
|
|
|
* pname:sType is the type of this structure.
|
|
* pname:pNext is `NULL` or a pointer to an extension-specific structure.
|
|
* pname:swapchainCount is the number of swapchains being presented to by
|
|
this command.
|
|
* pname:pTimes is `NULL` or a pointer to an array of
|
|
sname:VkPresentTimeGOOGLE elements with pname:swapchainCount entries.
|
|
If not `NULL`, each element of pname:pTimes contains the earliest time
|
|
to present the image corresponding to the entry in the
|
|
sname:VkPresentInfoKHR::pname:pImageIndices array.
|
|
|
|
.Valid Usage
|
|
****
|
|
* [[VUID-VkPresentTimesInfoGOOGLE-swapchainCount-01247]]
|
|
pname:swapchainCount must: be the same value as
|
|
sname:VkPresentInfoKHR::pname:swapchainCount, where
|
|
sname:VkPresentInfoKHR is in the pname:pNext chain of this
|
|
sname:VkPresentTimesInfoGOOGLE structure.
|
|
****
|
|
|
|
include::../../validity/structs/VkPresentTimesInfoGOOGLE.txt[]
|
|
--
|
|
|
|
[open,refpage='VkPresentTimeGOOGLE',desc='The earliest time image should be presented',type='structs']
|
|
--
|
|
|
|
The sname:VkPresentTimeGOOGLE structure is defined as:
|
|
|
|
include::../../api/structs/VkPresentTimeGOOGLE.txt[]
|
|
|
|
* pname:presentID is an application-provided identification value, that
|
|
can: be used with the results of
|
|
flink:vkGetPastPresentationTimingGOOGLE, in order to uniquely identify
|
|
this present.
|
|
In order to be useful to the application, it should: be unique within
|
|
some period of time that is meaningful to the application.
|
|
* pname:desiredPresentTime specifies that the image given should: not be
|
|
displayed to the user any earlier than this time.
|
|
pname:desiredPresentTime is a time in nanoseconds, relative to a
|
|
monotonically-increasing clock (e.g. `CLOCK_MONOTONIC` (see
|
|
clock_gettime(2)) on Android and Linux).
|
|
A value of zero specifies that the presentation engine may: display the
|
|
image at any time.
|
|
This is useful when the application desires to provide pname:presentID,
|
|
but doesn't need a specific pname:desiredPresentTime.
|
|
|
|
--
|