mirror of
https://github.com/status-im/Vulkan-Docs.git
synced 2025-02-20 18:18:06 +00:00
* Bump API patch number and header version number to 43 for this update. Github Issues: * Make clearer that color write mask is applied regardless of whether blending is enabled, by referring to the <<framebuffer-color-write-mask,Color Write Mask>> section (public issue 241). * Fix public issue 414: ** Added two new command buffer states (invalid, pending), and an explicit "command buffer lifecycle" section to explain them. ** Replaced "pending execution" with "in the pending state". ** Replaced a bunch of "this will invalidate the command buffer" language with "this will move the command buffer to the invalid state", and added validation language for what state those command buffers should be in. ** Added additional validation language about what state a command buffer should be in for various commands that affect it. ** Added invalidation language to destroy commands in the lifetimes section of fundamentals. ** Added command buffers to list of objects which must not be deleted whilst a (primary) command buffer is in the recording or pending state. * Update `GL_KHR_vulkan_glsl` extension to allow anonymous push constant blocks (public issue 428). Internal Issues: * Document rules about extension interactions in the style guide (internal issue 579). * Require ename:VK_PRESENT_MODE_MAILBOX_KHR support in queries of surfaces created with flink:vkCreateWaylandSurfaceKHR using the VK_KHR_wayland_surface extension (internal issue 666). * Remove Valid Usage constraints for flink:vkAllocateDescriptorSets when the `VK_KHR_maintainance1` extension is present (internal issue 686). * Remove undocumented KHX-variants of vkGetPhysicalDeviceProperties2KHR and vkGetPhysicalDeviceImageFormatProperties2KHR from the <<VK_KHX_external_memory_capabilities>> and <<VK_KHX_external_semaphore_capabilities>> extensions. New Extensions: * `VK_EXT_hdr_metadata` * `VK_GOOGLE_display_timing`
64 lines
2.8 KiB
Plaintext
64 lines
2.8 KiB
Plaintext
|
|
// refBegin VkPresentTimesInfoGOOGLE - The earliest time each image should be presented
|
|
|
|
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
|
|
****
|
|
* pname:swapchainCount must: be the same value as
|
|
sname:VkPresentInfoKHR::pname:swapchainCount, where
|
|
sname:VkPresentInfoKHR is in the pNext-chain of this
|
|
sname:VkPresentTimesInfoGOOGLE structure.
|
|
****
|
|
|
|
include::../../validity/structs/VkPresentTimesInfoGOOGLE.txt[]
|
|
|
|
// refBegin VkPresentTimeGOOGLE - The earliest time image should be presented
|
|
|
|
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 indicates 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 indicates 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.
|
|
|
|
// refEnd VkPresentTimeGOOGLE
|