mirror of
https://github.com/status-im/Vulkan-Docs.git
synced 2025-02-05 02:53:57 +00:00
b9e9296cd8
* Bump API patch number and header version number to 53 for this update. Github Issues: Internal Issues: * Clarify mappings of coordinates for mutable, compatible image views in slink:VkImageViewCreateInfo (internal issue 815). * Make ename:VK_BIND_SFR_BIT require a logical device with multiple physical devices, so that standard sparse image block dimensions are only required on systems that support multi-GPU (internal issue 835). * Convert all files from use of // refBegin .. // refEnd comments to delimit ref pages, to use of open blocks, and update style guide accordingly (internal issue 839). * Add valid usage for slink:VkWriteDescriptorSet when performing updates to a ename:VK_STORAGE_IMAGE descriptor with layout ename:VK_IMAGE_LAYOUT_GENERAL. * Add a hack to the validity generator script to support an odd interaction between flink:vkCmdFillBuffer and an extension (internal issue 853). * Remove redundant text describing slink:VkBufferCreateInfo::pname:usage, which was already covered by implicit valid usage (internal issue 854). * Update implicit validity generator script to properly handle the pname:sType and pname:pNext members of "returnedonly" structures (internal issue 874). * Note that slink:VkApplicationInfo::pname:pApplicationName & slink:VkApplicationInfo::pname:pEngineName are optional, and add missing implicit valid usage statements for flink:vkDestroyInstance. * Added missing valid usage for flink:vkCmdWriteTimestamp to require a timestamp query pool. * Simplify and/or split "`non-atomic`" valid usage statements. New Extensions: * `VK_AMD_gpu_shader_int16` * `VK_EXT_blend_operation_advanced` * `VK_EXT_sampler_filter_minmax` * `VK_NV_framebuffer_mixed_samples` ----------------------------------------------------- Note: the 1.0.52 spec wasn't published on github, so the 1.0.53 release combines both change sets. ----------------------------------------------------- Change log for June 13, 2017 Vulkan 1.0.52 spec update: * Bump API patch number and header version number to 52 for this update. Github Issues: Internal Issues: * Clarify behavior when non-coherent memory has <<memory-device-unmap-does-not-flush, not been flushed before being unmapped>> (internal issue 819). * Fix description of code:WorkgroupSize builtin to note it decorates an object, not a variable (internal issue 836). * Fix asciidoc attributes so that trailing '{plus}' symbols in [eq] style equations are rendered properly (internal issue 845). * Add language to the "`Extension Handles, Objects, Enums, and Typedefs`" section of the Procedures and Conventions document stating that any new handle type requires a corresponding entry in the elink:VkObjectType enumerated type (internal issue 856). * Update style guide to use slink macro for Vulkan handle type names, and define narrow conditions under which to use the *name and *text macros instead of *link (internal issue 886). * Add a dependency of the <<VK_KHX_device_group,VK_KHX_device_group>> extension on VK_KHX_device_group_creation to +vk.xml+ and the extension appendix. * Change the copyright on Vulkan specification asciidoc *source* files to CC-BY 4.0, and update the proprietary Khronos copyright applied to the generated *output* formats (internal issue 327). This enables broader re-use and modification of the Vulkan specification sources, while not affecting the Reciprocal IP License between Vulkan Adopters and Working Group Members. New Extensions: * `VK_NV_fill_rectangle` * `VK_NV_fragment_coverage_to_color`
101 lines
4.1 KiB
Plaintext
101 lines
4.1 KiB
Plaintext
// 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/
|
|
|
|
[open,refpage='VkPresentRegionsKHR',desc='Structure hint of rectangular regions changed by vkQueuePresentKHR',type='structs']
|
|
--
|
|
|
|
When the +VK_KHR_incremental_present+ extension is enabled, additional
|
|
fields can: be specified that allow an application to specify that only
|
|
certain rectangular regions of the presentable images of a swapchain are
|
|
changed.
|
|
This is an optimization hint that a presentation engine may: use to only
|
|
update the region of a surface that is actually changing.
|
|
The application still must: ensure that all pixels of a presented image
|
|
contain the desired values, in case the presentation engine ignores this
|
|
hint.
|
|
An application can: provide this hint by including the
|
|
sname:VkPresentRegionsKHR structure in the pname:pNext chain of the
|
|
sname:VkPresentInfoKHR structure.
|
|
|
|
The sname:VkPresentRegionsKHR structure is defined as:
|
|
|
|
include::../../api/structs/VkPresentRegionsKHR.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:pRegions is `NULL` or a pointer to an array of
|
|
sname:VkPresentRegionKHR elements with pname:swapchainCount entries.
|
|
If not `NULL`, each element of pname:pRegions contains the region that
|
|
has changed since the last present to the swapchain in the corresponding
|
|
entry in the sname:VkPresentInfoKHR::pname:pSwapchains array.
|
|
|
|
.Valid Usage
|
|
****
|
|
* [[VUID-VkPresentRegionsKHR-swapchainCount-01260]]
|
|
pname:swapchainCount must: be the same value as
|
|
sname:VkPresentInfoKHR::pname:swapchainCount, where
|
|
sname:VkPresentInfoKHR is in the pNext-chain of this
|
|
sname:VkPresentRegionsKHR structure.
|
|
****
|
|
|
|
include::../../validity/structs/VkPresentRegionsKHR.txt[]
|
|
--
|
|
|
|
[open,refpage='VkPresentRegionKHR',desc='Structure containing rectangular region changed by vkQueuePresentKHR for a given VkImage',type='structs']
|
|
--
|
|
|
|
For a given image and swapchain, the region to present is specified by the
|
|
sname:VkPresentRegionKHR structure, which is defined as:
|
|
|
|
include::../../api/structs/VkPresentRegionKHR.txt[]
|
|
|
|
* pname:rectangleCount is the number of rectangles in pname:pRectangles,
|
|
or zero if the entire image has changed and should be presented.
|
|
* pname:pRectangles is either `NULL` or a pointer to an array of
|
|
sname:VkRectLayerKHR structures.
|
|
The sname:VkRectLayerKHR structure is the framebuffer coordinates, plus
|
|
layer, of a portion of a presentable image that has changed and must: be
|
|
presented.
|
|
If non-`NULL`, each entry in pname:pRectangles is a rectangle of the
|
|
given image that has changed since the last image was presented to the
|
|
given swapchain.
|
|
|
|
include::../../validity/structs/VkPresentRegionKHR.txt[]
|
|
--
|
|
|
|
[open,refpage='VkRectLayerKHR',desc='Structure containing a rectangle, including layer, changed by vkQueuePresentKHR for a given VkImage',type='structs']
|
|
--
|
|
|
|
The sname:VkRectLayerKHR structure is defined as:
|
|
|
|
include::../../api/structs/VkRectLayerKHR.txt[]
|
|
|
|
* pname:offset is the origin of the rectangle, in pixels.
|
|
* pname:extent is the size of the rectangle, in pixels.
|
|
* pname:layer is the layer of the image.
|
|
For images with only one layer, the value of pname:layer must: be 0.
|
|
|
|
.Valid Usage
|
|
****
|
|
* [[VUID-VkRectLayerKHR-offset-01261]]
|
|
The sum of pname:offset and pname:extent must: be no greater than the
|
|
pname:imageExtent member of the sname:VkSwapchainCreateInfoKHR structure
|
|
given to flink:vkCreateSwapchainKHR.
|
|
* [[VUID-VkRectLayerKHR-layer-01262]]
|
|
pname:layer must: be less than pname:imageArrayLayers member of the
|
|
sname:VkSwapchainCreateInfoKHR structure given to
|
|
flink:vkCreateSwapchainKHR.
|
|
****
|
|
|
|
include::../../validity/structs/VkRectLayerKHR.txt[]
|
|
|
|
Some platforms allow the size of a surface to change, and then scale the
|
|
pixels of the image to fit the surface.
|
|
VkRectLayerKHR specifies pixels of the swapchain's image(s), which will be
|
|
constant for the life of the swapchain.
|
|
|
|
--
|