2017-03-11 01:39:29 +00:00
|
|
|
|
|
|
|
// 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
|
|
|
|
****
|
Change log for May 20, 2017 Vulkan 1.0.50 spec update:
* Bump API patch number and header version number to 50 for this update.
Github Issues:
* Fix numerous minor issues with the VK_EXT_debug_report extension (public
issues 478, 483, 486, 489, 490).
Internal Issues:
* Update flink:vkAllocateDescriptorSets to specify conditions under which
to return ename:VK_ERROR_FRAGMENTED_POOL or
ename:VK_ERROR_OUT_OF_POOL_MEMORY instead of
out-of-host/out-of-device-memory, and improve the
<<fundamentals-errorcodes, description of those errors (internal issue
654).
* Add a NOTE documenting that flink:vkAcquireNextImageKHR can only signal
a single semaphore, and how to deal with that when multiple physical
devices in a logical device need to wait on it (internal issue 730).
* Improve description of pname:pNext chains of
slink:VkPhysicalDeviceImageFormatInfo2KHR and
slink:VkImageFormatProperties2KHR (internal issue 814).
* Clean up math markup issues in the <<textures, Image Operations>>
chapter (internal issue 818).
* Update validusage target to use more robust code for preprocessing, by
making direct use of Asciidoctor's preprocessor. Added uniqueItems check
to JSON vu schema and add clean_validusage target (internal issue 826).
* Update style guide to prohibit writing non-self-contained (on a single
bullet point) Valid Usage statements, and modify offending Valid Usage
statements in the Specification to match, to assist with automatic
extraction for the validation layers (internal issue 828).
* Add ename:VK_VALIDATION_CHECK_SHADERS_EXT to elink:VkValidationCheckEXT
of the `VK_EXT_validation_flags` extension, to selectively disable
shader validation.
* Remove duplicate valid usage statement for slink:VkImageMemoryBarrier.
* Modify reflow.py script to place VUID tag anchors standalone on a line
following their corresponding bullet point, and reflow the spec text
accordingly (this had been pending since the initial tag deployment).
New Extensions:
* `VK_AMD_texture_gather_bias_lod`
2017-05-21 00:00:50 +00:00
|
|
|
* [[VUID-VkPresentTimesInfoGOOGLE-swapchainCount-01247]]
|
|
|
|
pname:swapchainCount must: be the same value as
|
2017-03-11 01:39:29 +00:00
|
|
|
sname:VkPresentInfoKHR::pname:swapchainCount, where
|
2017-03-25 08:46:58 +00:00
|
|
|
sname:VkPresentInfoKHR is in the pname:pNext chain of this
|
2017-03-11 01:39:29 +00:00
|
|
|
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
|