Vk-khr-create-renderpass-2-extension-name
VkResult vkCreateRenderPass2KHR( VkDevice device, const VkRenderPassCreateInfo2KHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass ); void vkCmdBeginRenderPass2KHR( VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfoKHR* pSubpassBeginInfo );
During command buffer recording:
void vkCmdEndRenderPass2KHR( VkCommandBuffer commandBuffer, const VkSubpassEndInfoKHR* pSubpassEndInfo ); vk-khr-create-renderpass-2-extension-name
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. focusing on its purpose
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
vkCreateRenderPass2KHR(device, &rpInfo, nullptr, &renderPass);
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)