Vulkan-Docs/appendices/VK_KHR_create_renderpass2.txt

72 lines
2.7 KiB
Plaintext

// 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
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