C Specification

To create a render pass, call:

// Provided by VK_VERSION_1_0
VkResult vkCreateRenderPass(
    VkDevice                                    device,
    const VkRenderPassCreateInfo*               pCreateInfo,
    const VkAllocationCallbacks*                pAllocator,
    VkRenderPass*                               pRenderPass);

Parameters

  • device is the logical device that creates the render pass.

  • pCreateInfo is a pointer to a VkRenderPassCreateInfo structure describing the parameters of the render pass.

  • pAllocator controls host memory allocation as described in the Memory Allocation chapter.

  • pRenderPass is a pointer to a VkRenderPass handle in which the resulting render pass object is returned.

Description

If VkPhysicalDeviceVulkanSC10Properties::deviceNoDynamicHostAllocations is VK_TRUE, vkCreateRenderPass must not return VK_ERROR_OUT_OF_HOST_MEMORY.

Valid Usage
  • VUID-vkCreateRenderPass-device-05068
    The number of render passes currently allocated from device plus 1 must be less than or equal to the total number of render passes requested via VkDeviceObjectReservationCreateInfo::renderPassRequestCount specified when device was created

  • VUID-vkCreateRenderPass-subpasses-device-05089
    The number of subpasses currently allocated from device across all VkRenderPass objects plus pCreateInfo->subpassCount must be less than or equal to the total number of subpasses requested via VkDeviceObjectReservationCreateInfo::subpassDescriptionRequestCount specified when device was created

  • VUID-vkCreateRenderPass-attachments-device-05089
    The number of attachments currently allocated from device across all VkRenderPass objects plus pCreateInfo->attachmentCount must be less than or equal to the total number of attachments requested via VkDeviceObjectReservationCreateInfo::attachmentDescriptionRequestCount specified when device was created

Valid Usage (Implicit)
  • VUID-vkCreateRenderPass-device-parameter
    device must be a valid VkDevice handle

  • VUID-vkCreateRenderPass-pCreateInfo-parameter
    pCreateInfo must be a valid pointer to a valid VkRenderPassCreateInfo structure

  • VUID-vkCreateRenderPass-pAllocator-null
    pAllocator must be NULL

  • VUID-vkCreateRenderPass-pRenderPass-parameter
    pRenderPass must be a valid pointer to a VkRenderPass handle

Return Codes
On success, this command returns
  • VK_SUCCESS

On failure, this command returns
  • VK_ERROR_OUT_OF_HOST_MEMORY

  • VK_ERROR_OUT_OF_DEVICE_MEMORY

See Also

Document Notes

For more information, see the Vulkan Specification

This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.

Copyright 2014-2023 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0