Vk-khr-create-renderpass-2-extension-name
If you are writing a Vulkan renderer today, the version 2 render pass functions unless you are strictly maintaining a legacy codebase.
VkResult vkCreateRenderPass2KHR( VkDevice device, const VkRenderPassCreateInfo2KHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass ); void vkCmdBeginRenderPass2KHR( VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfoKHR* pSubpassBeginInfo ); vk-khr-create-renderpass-2-extension-name
During command buffer recording:
void vkCmdEndRenderPass2KHR( VkCommandBuffer commandBuffer, const VkSubpassEndInfoKHR* pSubpassEndInfo ); If you are writing a Vulkan renderer today,
vkCreateRenderPass2KHR(device, &rpInfo, nullptr, &renderPass); It introduces new structures and entry points that
Here’s a technical write-up on the extension, focusing on its purpose, key features, and why it replaces the original vkCreateRenderPass . VK_KHR_create_renderpass2 – Write-Up Overview Extension Name: VK_KHR_create_renderpass2 Date of Promotion: 2018 (originally an extension, later promoted to Vulkan 1.2 core) Dependencies: Vulkan 1.0, VK_KHR_get_physical_device_properties2 (for some features) Associated Core Version: Vulkan 1.2 (functionality included as core)
VK_KHR_create_renderpass2 provides an enhanced version of the original render pass creation mechanism ( vkCreateRenderPass ). It introduces new structures and entry points that allow applications to specify more detailed information about subpass dependencies, attachment references, and—crucially—fragment density maps and fragment shader interlock features.

