Care should be taken to avoid a data race here; if any subpasses access attachments with overlapping memory locations, and one of those accesses is a write, a subpass dependency needs to be included between them.
attachment member of any element of pInputAttachments, pColorAttachments, pResolveAttachments or pDepthStencilAttachment, or any element of pPreserveAttachments in any element of pSubpasses is not ATTACHMENT_UNUSED, then it must be less than attachmentCountVkRenderPassFragmentDensityMapCreateInfoEXT structure and the fragmentDensityMapAttachment member is not ATTACHMENT_UNUSED, then attachment must be less than attachmentCountpAttachments with a loadOp equal to ATTACHMENT_LOAD_OP_CLEAR, the first use of that attachment must not specify a layout equal to IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL or IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMALpAttachments with a stencilLoadOp equal to ATTACHMENT_LOAD_OP_CLEAR, the first use of that attachment must not specify a layout equal to IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL or IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMALpAttachments with a loadOp equal to ATTACHMENT_LOAD_OP_CLEAR, the first use of that attachment must not specify a layout equal to IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMALpAttachments with a stencilLoadOp equal to ATTACHMENT_LOAD_OP_CLEAR, the first use of that attachment must not specify a layout equal to IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMALpNext chain includes a VkRenderPassInputAttachmentAspectCreateInfo structure, the subpass member of each element of its pAspectReferences member must be less than subpassCountpNext chain includes a VkRenderPassInputAttachmentAspectCreateInfo structure, the inputAttachmentIndex member of each element of its pAspectReferences member must be less than the value of inputAttachmentCount in the element of pSubpasses identified by its subpass memberpNext chain includes a VkRenderPassInputAttachmentAspectCreateInfo structure, for any element of the pInputAttachments member of any element of pSubpasses where the attachment member is not ATTACHMENT_UNUSED, the aspectMask member of the corresponding element of VkRenderPassInputAttachmentAspectCreateInfo::pAspectReferences must only include aspects that are present in images of the format specified by the element of pAttachments at attachmentpNext chain includes a VkRenderPassMultiviewCreateInfo structure, and its subpassCount member is not zero, that member must be equal to the value of subpassCountpNext chain includes a VkRenderPassMultiviewCreateInfo structure, if its dependencyCount member is not zero, it must be equal to dependencyCountpNext chain includes a VkRenderPassMultiviewCreateInfo structure, for each non-zero element of pViewOffsets, the srcSubpass and dstSubpass members of pDependencies at the same index must not be equalpNext chain includes a VkRenderPassMultiviewCreateInfo structure, for any element of pDependencies with a dependencyFlags member that does not include DEPENDENCY_VIEW_LOCAL_BIT, the corresponding element of the pViewOffsets member of that VkRenderPassMultiviewCreateInfo instance must be 0pNext chain includes a VkRenderPassMultiviewCreateInfo structure, elements of its pViewMasks member must either all be 0, or all not be 0pNext chain includes a VkRenderPassMultiviewCreateInfo structure, and each element of its pViewMasks member is 0, the dependencyFlags member of each element of pDependencies must not include DEPENDENCY_VIEW_LOCAL_BITpNext chain includes a VkRenderPassMultiviewCreateInfo structure, and each element of its pViewMasks member is 0, its correlationMaskCount member must be 0pDependencies, 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 subpasspDependencies, 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 destination subpasspDependencies, if its srcSubpass is not SUBPASS_EXTERNAL, it must be less than subpassCountpDependencies, if its dstSubpass is not SUBPASS_EXTERNAL, it must be less than subpassCountsType must be STRUCTURE_TYPE_RENDER_PASS_CREATE_INFOpNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkRenderPassFragmentDensityMapCreateInfoEXT, VkRenderPassInputAttachmentAspectCreateInfo, or VkRenderPassMultiviewCreateInfosType value of each struct in the pNext chain must be uniqueflags must be a valid combination of VkRenderPassCreateFlagBits valuesattachmentCount is not 0, pAttachments must be a valid pointer to an array of attachmentCount valid VkAttachmentDescription structurespSubpasses must be a valid pointer to an array of subpassCount valid VkSubpassDescription structuresdependencyCount is not 0, pDependencies must be a valid pointer to an array of dependencyCount valid VkSubpassDependency structuressubpassCount must be greater than 0VkAttachmentDescription, VkSubpassDependency, VkSubpassDescription, CreateRenderPass
struct VkRenderPassCreateInfo {
VkStructureType sType;
void const * pNext;
VkRenderPassCreateFlags flags;
uint32_t attachmentCount;
VkAttachmentDescription const * pAttachments;
uint32_t subpassCount;
VkSubpassDescription const * pSubpasses;
uint32_t dependencyCount;
VkSubpassDependency const * pDependencies;
}
| Modifier and Type | Class and Description |
|---|---|
| public static class | VkRenderPassCreateInfo.
An array of |
| Modifier and Type | Field and Description |
|---|---|
| public static final int | ALIGNOF
The struct alignment in bytes. |
| public static final int | ATTACHMENTCOUNT
The struct member offsets. |
| public static final int | DEPENDENCYCOUNT
The struct member offsets. |
| public static final int | FLAGS
The struct member offsets. |
| public static final int | PATTACHMENTS
The struct member offsets. |
| public static final int | PDEPENDENCIES
The struct member offsets. |
| public static final int | PNEXT
The struct member offsets. |
| public static final int | PSUBPASSES
The struct member offsets. |
| public static final int | SIZEOF
The struct size in bytes. |
| public static final int | STYPE
The struct member offsets. |
| public static final int | SUBPASSCOUNT
The struct member offsets. |
| Access | Constructor and Description |
|---|---|
| protected | |
| public | VkRenderPassCreateInfo(ByteBuffer container)
Creates a |
| Modifier and Type | Method and Description |
|---|---|
| public int | |
| public static VkRenderPassCreateInfo | |
| public static VkRenderPassCreateInfo. | calloc(int
the buffer capacity capacity)Returns a new |
| public static VkRenderPassCreateInfo | calloc(MemoryStack
the stack from which to allocate stack)Returns a new |
| public static VkRenderPassCreateInfo. | calloc(int
the buffer capacity capacity, MemoryStack the stack from which to allocate stack)Returns a new |
| public static VkRenderPassCreateInfo | |
| public static VkRenderPassCreateInfo | |
| public static VkRenderPassCreateInfo. | |
| public static VkRenderPassCreateInfo. | |
| protected VkRenderPassCreateInfo | create(long
the struct memory address address, ByteBuffer an optional container buffer, to be referenced strongly by the struct instance. container)Implements abstract org. the constructor, but returns the exact type of the Struct subclass.
|
| public static VkRenderPassCreateInfo | |
| public static VkRenderPassCreateInfo | |
| public static VkRenderPassCreateInfo. | create(int
the buffer capacity capacity)Returns a new |
| public static VkRenderPassCreateInfo. | create(long
the memory address address, int the buffer capacity capacity)Create a |
| public static VkRenderPassCreateInfo | |
| public static VkRenderPassCreateInfo. | |
| public int | |
| public int | |
| public VkRenderPassCreateInfo | |
| public static VkRenderPassCreateInfo | |
| public static VkRenderPassCreateInfo. | malloc(int
the buffer capacity capacity)Returns a new |
| public static VkRenderPassCreateInfo | malloc(MemoryStack
the stack from which to allocate stack)Returns a new |
| public static VkRenderPassCreateInfo. | malloc(int
the buffer capacity capacity, MemoryStack the stack from which to allocate stack)Returns a new |
| public static VkRenderPassCreateInfo | |
| public static VkRenderPassCreateInfo | |
| public static VkRenderPassCreateInfo. | |
| public static VkRenderPassCreateInfo. | |
| public static int | |
| public static void | nattachmentCount(long struct, int value)
Sets the specified value to the |
| public static int | |
| public static void | ndependencyCount(long struct, int value)
Sets the specified value to the |
| public static int | |
| public static void | |
| public static VkAttachmentDescription. | |
| public static void | |
| public static VkSubpassDependency. | |
| public static void | |
| public static long | |
| public static void | |
| public static VkSubpassDescription. | |
| public static void | |
| public static int | |
| public static void | |
| public static int | |
| public static void | nsubpassCount(long struct, int value)
Sets the specified value to the |
| public VkAttachmentDescription. | pAttachments()
a pointer to an array of |
| public VkRenderPassCreateInfo | pAttachments(VkAttachmentDescription.
Sets the address of the specified |
| public VkSubpassDependency. | pDependencies()
a pointer to an array of |
| public VkRenderPassCreateInfo | pDependencies(VkSubpassDependency.
Sets the address of the specified |
| public long | |
| public VkRenderPassCreateInfo | |
| public VkRenderPassCreateInfo | pNext(VkRenderPassFragmentDensityMapCreateInfoEXT value)
Prepends the specified |
| public VkRenderPassCreateInfo | pNext(VkRenderPassInputAttachmentAspectCreateInfo value)
Prepends the specified |
| public VkRenderPassCreateInfo | pNext(VkRenderPassInputAttachmentAspectCreateInfoKHR value)
Prepends the specified |
| public VkRenderPassCreateInfo | pNext(VkRenderPassMultiviewCreateInfo value)
Prepends the specified |
| public VkRenderPassCreateInfo | pNext(VkRenderPassMultiviewCreateInfoKHR value)
Prepends the specified |
| public VkSubpassDescription. | pSubpasses()
a pointer to an array of |
| public VkRenderPassCreateInfo | pSubpasses(VkSubpassDescription.
Sets the address of the specified |
| public VkRenderPassCreateInfo | set(int sType, long pNext, int flags, VkAttachmentDescription.
Initializes this struct with the specified values. |
| public VkRenderPassCreateInfo | Returns: this structthe source struct src)Copies the specified struct data to this struct. |
| public int | |
| public int | |
| public VkRenderPassCreateInfo | |
| public VkRenderPassCreateInfo | |
| public int | |
| public static void |