Vulkan-Docs/appendices/VK_KHR_create_renderpass2.txt

72 lines
2.7 KiB
Plaintext
Raw Normal View History

// Copyright (c) 2016-2017 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
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