Class VkRenderPassCreateInfo2KHR

  • All Implemented Interfaces:
    java.lang.AutoCloseable, NativeResource, Pointer

    public class VkRenderPassCreateInfo2KHR
    extends Struct
    implements NativeResource
    Structure specifying parameters of a newly created render pass.
    Description

    Parameters defined by this structure with the same name as those in VkRenderPassCreateInfo have the identical effect to those parameters; the child structures are variants of those used in VkRenderPassCreateInfo which include sType and pNext parameters, allowing them to be extended.

    If the VkSubpassDescription2KHR::viewMask member of any element of pSubpasses is not zero, multiview functionality is considered to be enabled for this render pass.

    correlatedViewMaskCount and pCorrelatedViewMasks have the same effect as VkRenderPassMultiviewCreateInfo::correlationMaskCount and VkRenderPassMultiviewCreateInfo::pCorrelationMasks, respectively.

    Valid Usage
    • If any two subpasses operate on attachments with overlapping ranges of the same VkDeviceMemory object, and at least one subpass writes to that area of VkDeviceMemory, a subpass dependency must be included (either directly or via some intermediate subpasses) between them
    • If the attachment member of any element of pInputAttachments, pColorAttachments, pResolveAttachments or pDepthStencilAttachment, or the attachment indexed by any element of pPreserveAttachments in any given element of pSubpasses is bound to a range of a VkDeviceMemory object that overlaps with any other attachment in any subpass (including the same subpass), the VkAttachmentDescription2KHR structures describing them must include ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT in flags
    • If the attachment member of any element of pInputAttachments, pColorAttachments, pResolveAttachments or pDepthStencilAttachment, or any element of pPreserveAttachments in any given element of pSubpasses is not ATTACHMENT_UNUSED, it must be less than attachmentCount
    • The value of any element of the pPreserveAttachments member in any given element of pSubpasses must not be ATTACHMENT_UNUSED
    • For any member of pAttachments with a loadOp equal to ATTACHMENT_LOAD_OP_CLEAR, the first use of that attachment must not specify a layout equal to VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL or VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL.
    • For any element of pDependencies, if the srcSubpass is not SUBPASS_EXTERNAL, all stage flags included in the srcStageMask member of that dependency must be a pipeline stage supported by the pipeline identified by the pipelineBindPoint member of the source subpass.
    • For any element of pDependencies, if the dstSubpass is not SUBPASS_EXTERNAL, all stage flags included in the dstStageMask member of that dependency must be a pipeline stage supported by the pipeline identified by the pipelineBindPoint member of the source subpass.
    • The set of bits included in any element of pCorrelatedViewMasks must not overlap with the set of bits included in any other element of pCorrelatedViewMasks
    • If the VkSubpassDescription2KHR::viewMask member of all elements of pSubpasses is 0, correlatedViewMaskCount must be 0
    • The VkSubpassDescription2KHR::viewMask member of all elements of pSubpasses must either all be 0, or all not be 0
    • If the VkSubpassDescription2KHR::viewMask member of all elements of pSubpasses is 0, the dependencyFlags member of any element of pDependencies must not include DEPENDENCY_VIEW_LOCAL_BIT
    • For any element of pDependencies where its srcSubpass member equals its dstSubpass member, if the viewMask member of the corresponding element of pSubpasses includes more than one bit, its dependencyFlags member must include DEPENDENCY_VIEW_LOCAL_BIT
    Valid Usage (Implicit)
    • sType must be STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR
    • pNext must be NULL
    • flags must be a valid combination of VkRenderPassCreateFlagBits values
    • If attachmentCount is not 0, pAttachments must be a valid pointer to an array of attachmentCount valid VkAttachmentDescription2KHR structures
    • pSubpasses must be a valid pointer to an array of subpassCount valid VkSubpassDescription2KHR structures
    • If dependencyCount is not 0, pDependencies must be a valid pointer to an array of dependencyCount valid VkSubpassDependency2KHR structures
    • If correlatedViewMaskCount is not 0, pCorrelatedViewMasks must be a valid pointer to an array of correlatedViewMaskCount uint32_t values
    • subpassCount must be greater than 0
    See Also

    VkAttachmentDescription2KHR, VkSubpassDependency2KHR, VkSubpassDescription2KHR, CreateRenderPass2KHR

    Member documentation

    • sType – the type of this structure.
    • pNextNULL or a pointer to an extension-specific structure.
    • flags – reserved for future use.
    • attachmentCount – the number of attachments used by this render pass.
    • pAttachments – points to an array of attachmentCount VkAttachmentDescription2KHR structures describing the attachments used by the render pass.
    • subpassCount – the number of subpasses to create.
    • pSubpasses – points to an array of subpassCount VkSubpassDescription2KHR structures describing each subpass.
    • dependencyCount – the number of dependencies between pairs of subpasses.
    • pDependencies – points to an array of dependencyCount VkSubpassDependency2KHR structures describing dependencies between pairs of subpasses.
    • correlatedViewMaskCount – the number of correlation masks.
    • pCorrelatedViewMasks – an array of view masks indicating sets of views that may be more efficient to render concurrently.

    Layout

    
     struct VkRenderPassCreateInfo2KHR {
         VkStructureType sType;
         void const * pNext;
         VkRenderPassCreateFlags flags;
         uint32_t attachmentCount;
         VkAttachmentDescription2KHR const * pAttachments;
         uint32_t subpassCount;
         VkSubpassDescription2KHR const * pSubpasses;
         uint32_t dependencyCount;
         VkSubpassDependency2KHR const * pDependencies;
         uint32_t correlatedViewMaskCount;
         uint32_t const * pCorrelatedViewMasks;
     }