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