Vulkan-Docs/appendices/VK_KHR_create_renderpass2.txt

72 lines
2.7 KiB
Plaintext
Raw Normal View History

Change log for January 13, 2019 Vulkan 1.1.98 spec update: * Update release number to 98. Public Issues: * Fix missing markup in flink:vkDestroyPipelineLayout valid usage statement (pull request 882). * Add missing contributors for `<<VK_EXT_buffer_device_address>>` (public pull request 891). Internal Issues: * Detect nested bullet points in valid usage blocks and warn about them during VUID assignment (internal issue 1382). * Update the style guide to document the process for reserving new bits in bitmask types (internal issue 1411). * Clarify for slink:VkApplicationInfo::pname:apiVersion and in the <<fundamentals-validusage-versions, Valid Usage for Newer Core Versions>> section when it is valid for an application to use a certain version of Vulkan API functionality (for an instance and for a device/physical device); and when the validation layers must generate an error (internal issue 1412). * Add optional <<memory-model-availability-visibility, transitive availability/visibility operations to the memory model, including a new pname:vulkanMemoryModelAvailabilityVisibilityChains feature for slink:VkPhysicalDeviceVulkanMemoryModelFeaturesKHR (internal issue 1460). * Add the code:StorageBuffer storage class to those in the <<interfaces-resources-descset, Descriptor Set Interface>> (internal issue 1480). * Add missing `returnedonly` tags for a number of returned extension structures that can be passed in pname:pNext chains (internal issue 1515). * Clean up and rearrange some spec language for slink:VkRenderPassCreateInfo and slink:VkAttachmentReference.txt (internal issue 1522). * Correctly round the code:OpVectorTimesScalar and code:OpMatrixTimesScalar SPIR-V operations in the <<Precision of core SPIR-V Instructions>> table (internal merge request 2996). * Work around cases in flink:vkCmdBeginTransformFeedbackEXT, flink:vkCmdEndTransformFeedbackEXT, and slink:VkPipelineCoverageModulationStateCreateInfoNV where an array parameter is `optional` but the length is not in `vk.xml`. This is an interim fix using `noautovalidity` + handcoded VU replacing those that should be autogenerated (internal issue 2944 and https://github.com/KhronosGroup/Vulkan-ValidationLayers/issues/480). * Remove redundant capability validation of the code:float16 and code:int8 SPIR-V capabilities from the <<spirvenv-capabilities, Capabilities>> section, since they are already covered in the preceding table. * Update check_spec_links script, including validation for reference page open blocks. Fix errors identified by the script.
2019-01-13 13:53:27 +00:00
// Copyright (c) 2016-2019 Khronos Group. This work is licensed under a
// Creative Commons Attribution 4.0 International License; see
// http://creativecommons.org/licenses/by/4.0/
include::meta/VK_KHR_create_renderpass2.txt[]
Last Modified Date::
2018-02-07
Contributors::
- Tobias Hector
- Jeff Bolz
This extension provides a new entry point to create render passes in a way
that can be easily extended by other extensions through the substructures of
render pass creation.
The Vulkan 1.0 render pass creation sub-structures do not include
ptext:sType/ptext:pNext members.
Additionally, the renderpass begin/next/end commands have been augmented
with new extensible structures for passing additional subpass information.
The slink:VkRenderPassMultiviewCreateInfo and
Change log for September 19, 2018 Vulkan 1.1.85 spec update: * Update release number to 85. Public Issues: * Add self-dependency ename:VK_DEPENDENCY_BY_REGION_BIT valid usage statements for slink:VkSubpassDependency(public pull request 778). * Apply fix from pull request 742 to slink:VkSubpassDependency and slink:VkSubpassDependency2 (public pull request 779). * Specify the units of slink:VkBufferImageCopy::pname:bufferRowLength and pname:bufferImageHeight as texels (public pull request 781). * Better specify promoted parameter mapping in the `<<VK_KHR_create_renderpass2>>` appendix (public pull request 782). Internal Issues: * Only include the <<fundamentals-validusage-versions, Valid Usage for Newer Core Versions>> section in Vulkan 1.1 or later (internal issue 1381). Other Issues: * Clean up redundant valid usage language for the `VK_ANDROID_external_memory_android_hardware_buffer` extension interaction with slink:VkImageCreateInfo. * Fix error in a flag name within valid usage statements for slink:VkMemoryAllocateInfo. * Clarify that memory types are not totally ordered in slink:VkPhysicalDeviceMemoryProperties. * For slink:VkWriteDescriptorSetInlineUniformBlockEXT, set structextends="VkWriteDescriptorSet" in `vk.xml`, and make slink:VkDescriptorSetLayoutBindingFlagsCreateInfoEXT::pname:pBindingFlags optional. * Add documentation of 'provisional' XML attribute to registry.txt. New Extensions: * `VK_NV_compute_shader_derivatives` * `VK_NV_corner_sampled_image` * `VK_NV_fragment_shader_barycentric` * `VK_NV_mesh_shader` * `VK_NV_representative_fragment_test` * `VK_NV_scissor_exclusive` * `VK_NV_shader_image_footprint` * `VK_NV_shading_rate_image` * `VK_NVX_raytracing`
2018-09-16 01:35:16 +00:00
slink:VkInputAttachmentAspectReference structures that extended the original
slink:VkRenderPassCreateInfo are not accepted into the new creation
functions, and instead their parameters are folded into this extension as
follows:
* Elements of slink:VkRenderPassMultiviewCreateInfo::pname:pViewMasks are
now specified in slink:VkSubpassDescription2KHR::pname:viewMask.
* Elements of slink:VkRenderPassMultiviewCreateInfo::pname:pViewOffsets
are now specified in slink:VkSubpassDependency2KHR::pname:viewOffset.
* slink:VkRenderPassMultiviewCreateInfo::pname:correlationMaskCount and
slink:VkRenderPassMultiviewCreateInfo::pname:pCorrelationMasks are
2018-10-08 22:50:25 +00:00
directly specified in slink:VkRenderPassCreateInfo2KHR.
* slink:VkInputAttachmentAspectReference::pname:aspectMask is now
specified in the relevant input attachment description in
slink:VkAttachmentDescription2KHR::pname:aspectMask
The details of these mappings are explained fully in the new structures.
=== New Enum Constants
* Extending elink:VkStructureType:
** ename:VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR
** ename:VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR
** ename:VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR
** ename:VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR
** ename:VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR
** ename:VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR
** ename:VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR
=== New Structures
* slink:VkAttachmentDescription2KHR
* slink:VkAttachmentReference2KHR
* slink:VkSubpassDescription2KHR
* slink:VkSubpassDependency2KHR
* slink:VkRenderPassCreateInfo2KHR
* slink:VkSubpassBeginInfoKHR
* slink:VkSubpassEndInfoKHR
=== New Functions
* flink:vkCreateRenderPass2KHR
* flink:vkCmdBeginRenderPass2KHR
* flink:vkCmdNextSubpass2KHR
* flink:vkCmdEndRenderPass2KHR
=== Version History
* Revision 1, 2018-02-07 (Tobias Hector)
- Internal revisions