/ appendices / VK_KHR_create_renderpass2.txt
VK_KHR_create_renderpass2.txt
1 // Copyright (c) 2016-2019 Khronos Group. This work is licensed under a 2 // Creative Commons Attribution 4.0 International License; see 3 // http://creativecommons.org/licenses/by/4.0/ 4 5 include::meta/VK_KHR_create_renderpass2.txt[] 6 7 Last Modified Date:: 8 2018-02-07 9 Contributors:: 10 - Tobias Hector 11 - Jeff Bolz 12 13 This extension provides a new entry point to create render passes in a way 14 that can be easily extended by other extensions through the substructures of 15 render pass creation. 16 The Vulkan 1.0 render pass creation sub-structures do not include 17 ptext:sType/ptext:pNext members. 18 Additionally, the renderpass begin/next/end commands have been augmented 19 with new extensible structures for passing additional subpass information. 20 21 The slink:VkRenderPassMultiviewCreateInfo and 22 slink:VkInputAttachmentAspectReference structures that extended the original 23 slink:VkRenderPassCreateInfo are not accepted into the new creation 24 functions, and instead their parameters are folded into this extension as 25 follows: 26 27 * Elements of slink:VkRenderPassMultiviewCreateInfo::pname:pViewMasks are 28 now specified in slink:VkSubpassDescription2KHR::pname:viewMask. 29 * Elements of slink:VkRenderPassMultiviewCreateInfo::pname:pViewOffsets 30 are now specified in slink:VkSubpassDependency2KHR::pname:viewOffset. 31 * slink:VkRenderPassMultiviewCreateInfo::pname:correlationMaskCount and 32 slink:VkRenderPassMultiviewCreateInfo::pname:pCorrelationMasks are 33 directly specified in slink:VkRenderPassCreateInfo2KHR. 34 * slink:VkInputAttachmentAspectReference::pname:aspectMask is now 35 specified in the relevant input attachment description in 36 slink:VkAttachmentDescription2KHR::pname:aspectMask 37 38 The details of these mappings are explained fully in the new structures. 39 40 === New Enum Constants 41 42 * Extending elink:VkStructureType: 43 ** ename:VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR 44 ** ename:VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR 45 ** ename:VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR 46 ** ename:VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR 47 ** ename:VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR 48 ** ename:VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR 49 ** ename:VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR 50 51 === New Structures 52 53 * slink:VkAttachmentDescription2KHR 54 * slink:VkAttachmentReference2KHR 55 * slink:VkSubpassDescription2KHR 56 * slink:VkSubpassDependency2KHR 57 * slink:VkRenderPassCreateInfo2KHR 58 * slink:VkSubpassBeginInfoKHR 59 * slink:VkSubpassEndInfoKHR 60 61 === New Functions 62 63 * flink:vkCreateRenderPass2KHR 64 * flink:vkCmdBeginRenderPass2KHR 65 * flink:vkCmdNextSubpass2KHR 66 * flink:vkCmdEndRenderPass2KHR 67 68 === Version History 69 70 * Revision 1, 2018-02-07 (Tobias Hector) 71 - Internal revisions