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

Parameters from the <<VK_KHR_multiview>> and <<VK_KHR_maintenance2>>
extensions which previously extended slink:VkRenderPassCreateInfo are folded
into the new structures in more appropriate locations.

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