Jon Leech 56e0289318 Change log for January 05, 2019 Vulkan 1.1.97 spec update:
* Update release number to 97.

Public Issues:

  * Add a special case to the <<renderpass-compatibility, Render Pass
    Compatibility>> rules allowing single-subpass renderpasses to be
    compatible even if they have different resolve attachment references
    (public issue 835).
  * Fix the miss shader binding table record address rule in the
    <<shader-binding-table-indexing-rules, Miss Shaders>> section to index
    by code:missIndex, not code:sbtOffset (public issue 875).

Internal Issues:

  * Add a missing anchor to the elink:VkSamplerCreateFlagBits language
    (internal issue 1483).
  * Add missing implicit valid usage include for slink:VkHdrMetadataEXT and
    corresponding `noautovalidity` attributes in `vk.xml` for the
    externally-defined metadata properties (internal issue 1514).
  * Remove restrictions on the `mask` parameter of SPIR-V's
    code:OpGroupNonUniformXor in the <<spirvenv-module-validation,
    Validation Rules within a Module>> appendix (internal merge request
    2971).
  * Restore `noautovalidity` attribute for
    slink:VkPipelineViewportWScalingStateCreateInfoNV::pname:pViewportWScalings
    in `vk.xml` (internal merge request 2975).
  * Update copyright dates on Khronos-copyrighted files to 2019 (internal
    merge request 2980).

New Extensions:

  * `VK_KHR_depth_stencil_resolve`
  * `VK_EXT_buffer_device_address`
  * `VK_EXT_memory_budget`
  * `VK_EXT_memory_priority`
  * `VK_EXT_validation_features`
2019-01-05 19:40:12 -08:00

101 lines
4.1 KiB
Plaintext

// Copyright (c) 2014-2019 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.
sname:VkRectLayerKHR specifies pixels of the swapchain's image(s), which
will be constant for the life of the swapchain.
--