Package org.lwjgl.vulkan
Class VkRenderPassCreateInfo
java.lang.Object
org.lwjgl.system.Pointer.Default
org.lwjgl.system.Struct<VkRenderPassCreateInfo>
org.lwjgl.vulkan.VkRenderPassCreateInfo
- All Implemented Interfaces:
AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
public class VkRenderPassCreateInfo
extends org.lwjgl.system.Struct<VkRenderPassCreateInfo>
implements org.lwjgl.system.NativeResource
Structure specifying parameters of a newly created render pass.
Description
Note
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.
Valid Usage
- If the
attachmentmember of any element ofpInputAttachments,pColorAttachments,pResolveAttachmentsorpDepthStencilAttachment, or any element ofpPreserveAttachmentsin any element ofpSubpassesis notATTACHMENT_UNUSED, then it must be less thanattachmentCount - If the pNext chain includes a
VkRenderPassFragmentDensityMapCreateInfoEXTstructure and thefragmentDensityMapAttachmentmember is notATTACHMENT_UNUSED, thenattachmentmust be less thanattachmentCount - For any member of
pAttachmentswith aloadOpequal toATTACHMENT_LOAD_OP_CLEAR, the first use of that attachment must not specify alayoutequal toIMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMALorIMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL - For any member of
pAttachmentswith astencilLoadOpequal toATTACHMENT_LOAD_OP_CLEAR, the first use of that attachment must not specify alayoutequal toIMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMALorIMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL - For any member of
pAttachmentswith aloadOpequal toATTACHMENT_LOAD_OP_CLEAR, the first use of that attachment must not specify alayoutequal toIMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL - For any member of
pAttachmentswith astencilLoadOpequal toATTACHMENT_LOAD_OP_CLEAR, the first use of that attachment must not specify alayoutequal toIMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL - If the
pNextchain includes aVkRenderPassInputAttachmentAspectCreateInfostructure, thesubpassmember of each element of itspAspectReferencesmember must be less thansubpassCount - If the
pNextchain includes aVkRenderPassInputAttachmentAspectCreateInfostructure, theinputAttachmentIndexmember of each element of itspAspectReferencesmember must be less than the value ofinputAttachmentCountin the element ofpSubpassesidentified by itssubpassmember - If the
pNextchain includes aVkRenderPassInputAttachmentAspectCreateInfostructure, for any element of thepInputAttachmentsmember of any element ofpSubpasseswhere theattachmentmember is notATTACHMENT_UNUSED, theaspectMaskmember of the corresponding element ofVkRenderPassInputAttachmentAspectCreateInfo::pAspectReferencesmust only include aspects that are present in images of the format specified by the element ofpAttachmentsatattachment - If the
pNextchain includes aVkRenderPassMultiviewCreateInfostructure, and itssubpassCountmember is not zero, that member must be equal to the value ofsubpassCount - If the
pNextchain includes aVkRenderPassMultiviewCreateInfostructure, if itsdependencyCountmember is not zero, it must be equal todependencyCount - If the
pNextchain includes aVkRenderPassMultiviewCreateInfostructure, for each non-zero element ofpViewOffsets, thesrcSubpassanddstSubpassmembers ofpDependenciesat the same index must not be equal - If the
pNextchain includes aVkRenderPassMultiviewCreateInfostructure, for any element ofpDependencieswith adependencyFlagsmember that does not includeDEPENDENCY_VIEW_LOCAL_BIT, the corresponding element of thepViewOffsetsmember of thatVkRenderPassMultiviewCreateInfoinstance must be 0 - If the
pNextchain includes aVkRenderPassMultiviewCreateInfostructure, elements of itspViewMasksmember must either all be 0, or all not be 0 - If the
pNextchain includes aVkRenderPassMultiviewCreateInfostructure, and each element of itspViewMasksmember is 0, thedependencyFlagsmember of each element ofpDependenciesmust not includeDEPENDENCY_VIEW_LOCAL_BIT - If the
pNextchain includes aVkRenderPassMultiviewCreateInfostructure, and each element of itspViewMasksmember is 0, itscorrelationMaskCountmember must be 0 - For any element of
pDependencies, if thesrcSubpassis notSUBPASS_EXTERNAL, all stage flags included in thesrcStageMaskmember of that dependency must be a pipeline stage supported by the pipeline identified by thepipelineBindPointmember of the source subpass - For any element of
pDependencies, if thedstSubpassis notSUBPASS_EXTERNAL, all stage flags included in thedstStageMaskmember of that dependency must be a pipeline stage supported by the pipeline identified by thepipelineBindPointmember of the destination subpass - For any element of
pDependencies, if itssrcSubpassis notSUBPASS_EXTERNAL, it must be less thansubpassCount - For any element of
pDependencies, if itsdstSubpassis notSUBPASS_EXTERNAL, it must be less thansubpassCount
Valid Usage (Implicit)
sTypemust beSTRUCTURE_TYPE_RENDER_PASS_CREATE_INFO- Each
pNextmember of any structure (including this one) in thepNextchain must be eitherNULLor a pointer to a valid instance ofVkRenderPassFragmentDensityMapCreateInfoEXT,VkRenderPassInputAttachmentAspectCreateInfo, orVkRenderPassMultiviewCreateInfo - The
sTypevalue of each struct in thepNextchain must be unique flagsmust be a valid combination ofVkRenderPassCreateFlagBitsvalues- If
attachmentCountis not 0,pAttachmentsmust be a valid pointer to an array ofattachmentCountvalidVkAttachmentDescriptionstructures pSubpassesmust be a valid pointer to an array ofsubpassCountvalidVkSubpassDescriptionstructures- If
dependencyCountis not 0,pDependenciesmust be a valid pointer to an array ofdependencyCountvalidVkSubpassDependencystructures subpassCountmust be greater than 0
See Also
VkAttachmentDescription, VkSubpassDependency, VkSubpassDescription, CreateRenderPass
Layout
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();
}-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class org.lwjgl.system.Struct
org.lwjgl.system.Struct.StructValidationNested classes/interfaces inherited from interface org.lwjgl.system.Pointer
org.lwjgl.system.Pointer.Default -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intThe struct alignment in bytes.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct size in bytes.static final intThe struct member offsets.static final intThe struct member offsets.Fields inherited from interface org.lwjgl.system.Pointer
BITS32, BITS64, CLONG_SHIFT, CLONG_SIZE, POINTER_SHIFT, POINTER_SIZE -
Constructor Summary
ConstructorsConstructorDescriptionVkRenderPassCreateInfo(ByteBuffer container) Creates aVkRenderPassCreateInfoinstance at the current position of the specifiedByteBuffercontainer. -
Method Summary
Modifier and TypeMethodDescriptionintthe number of attachments used by this render pass.static VkRenderPassCreateInfocalloc()Returns a newVkRenderPassCreateInfoinstance allocated withmemCalloc.calloc(int capacity) Returns a newVkRenderPassCreateInfo.Bufferinstance allocated withmemCalloc.calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkRenderPassCreateInfo.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkRenderPassCreateInfocalloc(org.lwjgl.system.MemoryStack stack) Returns a newVkRenderPassCreateInfoinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkRenderPassCreateInfoDeprecated.callocStack(int capacity) Deprecated.callocStack(int capacity, org.lwjgl.system.MemoryStack stack) Deprecated.static VkRenderPassCreateInfocallocStack(org.lwjgl.system.MemoryStack stack) Deprecated.static VkRenderPassCreateInfocreate()Returns a newVkRenderPassCreateInfoinstance allocated withBufferUtils.create(int capacity) Returns a newVkRenderPassCreateInfo.Bufferinstance allocated withBufferUtils.static VkRenderPassCreateInfocreate(long address) Returns a newVkRenderPassCreateInfoinstance for the specified memory address.create(long address, int capacity) Create aVkRenderPassCreateInfo.Bufferinstance at the specified memory.static @Nullable VkRenderPassCreateInfocreateSafe(long address) static @Nullable VkRenderPassCreateInfo.BuffercreateSafe(long address, int capacity) intthe number of memory dependencies between pairs of subpasses.intflags()a bitmask ofVkRenderPassCreateFlagBitsflags(int value) Sets the specified value to theflags()field.static VkRenderPassCreateInfomalloc()Returns a newVkRenderPassCreateInfoinstance allocated withmemAlloc.malloc(int capacity) Returns a newVkRenderPassCreateInfo.Bufferinstance allocated withmemAlloc.malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkRenderPassCreateInfo.Bufferinstance allocated on the specifiedMemoryStack.static VkRenderPassCreateInfomalloc(org.lwjgl.system.MemoryStack stack) Returns a newVkRenderPassCreateInfoinstance allocated on the specifiedMemoryStack.static VkRenderPassCreateInfoDeprecated.mallocStack(int capacity) Deprecated.mallocStack(int capacity, org.lwjgl.system.MemoryStack stack) Deprecated.static VkRenderPassCreateInfomallocStack(org.lwjgl.system.MemoryStack stack) Deprecated.static intnattachmentCount(long struct) Unsafe version ofattachmentCount().static voidnattachmentCount(long struct, int value) Sets the specified value to theattachmentCountfield of the specifiedstruct.static intndependencyCount(long struct) Unsafe version ofdependencyCount().static voidndependencyCount(long struct, int value) Sets the specified value to thedependencyCountfield of the specifiedstruct.static intnflags(long struct) Unsafe version offlags().static voidnflags(long struct, int value) Unsafe version offlags.static @Nullable VkAttachmentDescription.BuffernpAttachments(long struct) Unsafe version ofpAttachments().static voidnpAttachments(long struct, @Nullable VkAttachmentDescription.Buffer value) Unsafe version ofpAttachments.static @Nullable VkSubpassDependency.BuffernpDependencies(long struct) Unsafe version ofpDependencies().static voidnpDependencies(long struct, @Nullable VkSubpassDependency.Buffer value) Unsafe version ofpDependencies.static longnpNext(long struct) Unsafe version ofpNext().static voidnpNext(long struct, long value) Unsafe version ofpNext.static VkSubpassDescription.BuffernpSubpasses(long struct) Unsafe version ofpSubpasses().static voidnpSubpasses(long struct, VkSubpassDescription.Buffer value) Unsafe version ofpSubpasses.static intnsType(long struct) Unsafe version ofsType().static voidnsType(long struct, int value) Unsafe version ofsType.static intnsubpassCount(long struct) Unsafe version ofsubpassCount().static voidnsubpassCount(long struct, int value) Sets the specified value to thesubpassCountfield of the specifiedstruct.@Nullable VkAttachmentDescription.Buffera pointer to an array ofattachmentCountVkAttachmentDescriptionstructures describing the attachments used by the render pass.pAttachments(@Nullable VkAttachmentDescription.Buffer value) Sets the address of the specifiedVkAttachmentDescription.Bufferto thepAttachments()field.@Nullable VkSubpassDependency.Buffera pointer to an array ofdependencyCountVkSubpassDependencystructures describing dependencies between pairs of subpasses.pDependencies(@Nullable VkSubpassDependency.Buffer value) Sets the address of the specifiedVkSubpassDependency.Bufferto thepDependencies()field.longpNext()NULLor a pointer to a structure extending this structure.pNext(long value) Sets the specified value to thepNext()field.Prepends the specifiedVkRenderPassFragmentDensityMapCreateInfoEXTvalue to thepNextchain.Prepends the specifiedVkRenderPassInputAttachmentAspectCreateInfovalue to thepNextchain.Prepends the specifiedVkRenderPassInputAttachmentAspectCreateInfoKHRvalue to thepNextchain.Prepends the specifiedVkRenderPassMultiviewCreateInfovalue to thepNextchain.Prepends the specifiedVkRenderPassMultiviewCreateInfoKHRvalue to thepNextchain.a pointer to an array ofsubpassCountVkSubpassDescriptionstructures describing each subpass.Sets the address of the specifiedVkSubpassDescription.Bufferto thepSubpasses()field.set(int sType, long pNext, int flags, @Nullable VkAttachmentDescription.Buffer pAttachments, VkSubpassDescription.Buffer pSubpasses, @Nullable VkSubpassDependency.Buffer pDependencies) Initializes this struct with the specified values.Copies the specified struct data to this struct.intsizeof()intsType()aVkStructureTypevalue identifying this structure.sType(int value) Sets the specified value to thesType()field.Sets theSTRUCTURE_TYPE_RENDER_PASS_CREATE_INFOvalue to thesType()field.intthe number of subpasses to create.static voidvalidate(long struct) Validates pointer members that should not beNULL.Methods inherited from class org.lwjgl.system.Struct
clear, free, isNull, validate, validateMethods inherited from class org.lwjgl.system.Pointer.Default
address, equals, hashCode, toStringMethods inherited from interface org.lwjgl.system.NativeResource
close, free
-
Field Details
-
SIZEOF
public static final int SIZEOFThe struct size in bytes. -
ALIGNOF
public static final int ALIGNOFThe struct alignment in bytes. -
STYPE
public static final int STYPEThe struct member offsets. -
PNEXT
public static final int PNEXTThe struct member offsets. -
FLAGS
public static final int FLAGSThe struct member offsets. -
ATTACHMENTCOUNT
public static final int ATTACHMENTCOUNTThe struct member offsets. -
PATTACHMENTS
public static final int PATTACHMENTSThe struct member offsets. -
SUBPASSCOUNT
public static final int SUBPASSCOUNTThe struct member offsets. -
PSUBPASSES
public static final int PSUBPASSESThe struct member offsets. -
DEPENDENCYCOUNT
public static final int DEPENDENCYCOUNTThe struct member offsets. -
PDEPENDENCIES
public static final int PDEPENDENCIESThe struct member offsets.
-
-
Constructor Details
-
VkRenderPassCreateInfo
Creates aVkRenderPassCreateInfoinstance at the current position of the specifiedByteBuffercontainer. Changes to the buffer's content will be visible to the struct instance and vice versa.The created instance holds a strong reference to the container object.
-
-
Method Details
-
sizeof
public int sizeof()- Specified by:
sizeofin classorg.lwjgl.system.Struct<VkRenderPassCreateInfo>
-
sType
public int sType()aVkStructureTypevalue identifying this structure. -
pNext
public long pNext()NULLor a pointer to a structure extending this structure. -
flags
public int flags()a bitmask ofVkRenderPassCreateFlagBits -
attachmentCount
public int attachmentCount()the number of attachments used by this render pass. -
pAttachments
a pointer to an array ofattachmentCountVkAttachmentDescriptionstructures describing the attachments used by the render pass. -
subpassCount
public int subpassCount()the number of subpasses to create. -
pSubpasses
a pointer to an array ofsubpassCountVkSubpassDescriptionstructures describing each subpass. -
dependencyCount
public int dependencyCount()the number of memory dependencies between pairs of subpasses. -
pDependencies
a pointer to an array ofdependencyCountVkSubpassDependencystructures describing dependencies between pairs of subpasses. -
sType
Sets the specified value to thesType()field. -
sType$Default
Sets theSTRUCTURE_TYPE_RENDER_PASS_CREATE_INFOvalue to thesType()field. -
pNext
Sets the specified value to thepNext()field. -
pNext
Prepends the specifiedVkRenderPassFragmentDensityMapCreateInfoEXTvalue to thepNextchain. -
pNext
Prepends the specifiedVkRenderPassInputAttachmentAspectCreateInfovalue to thepNextchain. -
pNext
Prepends the specifiedVkRenderPassInputAttachmentAspectCreateInfoKHRvalue to thepNextchain. -
pNext
Prepends the specifiedVkRenderPassMultiviewCreateInfovalue to thepNextchain. -
pNext
Prepends the specifiedVkRenderPassMultiviewCreateInfoKHRvalue to thepNextchain. -
flags
Sets the specified value to theflags()field. -
pAttachments
Sets the address of the specifiedVkAttachmentDescription.Bufferto thepAttachments()field. -
pSubpasses
Sets the address of the specifiedVkSubpassDescription.Bufferto thepSubpasses()field. -
pDependencies
Sets the address of the specifiedVkSubpassDependency.Bufferto thepDependencies()field. -
set
public VkRenderPassCreateInfo set(int sType, long pNext, int flags, @Nullable VkAttachmentDescription.Buffer pAttachments, VkSubpassDescription.Buffer pSubpasses, @Nullable VkSubpassDependency.Buffer pDependencies) Initializes this struct with the specified values. -
set
Copies the specified struct data to this struct.- Parameters:
src- the source struct- Returns:
- this struct
-
malloc
Returns a newVkRenderPassCreateInfoinstance allocated withmemAlloc. The instance must be explicitly freed. -
calloc
Returns a newVkRenderPassCreateInfoinstance allocated withmemCalloc. The instance must be explicitly freed. -
create
Returns a newVkRenderPassCreateInfoinstance allocated withBufferUtils. -
create
Returns a newVkRenderPassCreateInfoinstance for the specified memory address. -
createSafe
-
malloc
Returns a newVkRenderPassCreateInfo.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
Returns a newVkRenderPassCreateInfo.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
Returns a newVkRenderPassCreateInfo.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
Create aVkRenderPassCreateInfo.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
-
mallocStack
Deprecated.Deprecated for removal in 3.4.0. Usemalloc(MemoryStack)instead. -
callocStack
Deprecated.Deprecated for removal in 3.4.0. Usecalloc(MemoryStack)instead. -
mallocStack
Deprecated.Deprecated for removal in 3.4.0. Usemalloc(MemoryStack)instead. -
callocStack
Deprecated.Deprecated for removal in 3.4.0. Usecalloc(MemoryStack)instead. -
mallocStack
Deprecated.Deprecated for removal in 3.4.0. Usemalloc(int, MemoryStack)instead. -
callocStack
Deprecated.Deprecated for removal in 3.4.0. Usecalloc(int, MemoryStack)instead. -
mallocStack
@Deprecated public static VkRenderPassCreateInfo.Buffer mallocStack(int capacity, org.lwjgl.system.MemoryStack stack) Deprecated.Deprecated for removal in 3.4.0. Usemalloc(int, MemoryStack)instead. -
callocStack
@Deprecated public static VkRenderPassCreateInfo.Buffer callocStack(int capacity, org.lwjgl.system.MemoryStack stack) Deprecated.Deprecated for removal in 3.4.0. Usecalloc(int, MemoryStack)instead. -
malloc
Returns a newVkRenderPassCreateInfoinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
Returns a newVkRenderPassCreateInfoinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
malloc
public static VkRenderPassCreateInfo.Buffer malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkRenderPassCreateInfo.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
calloc
public static VkRenderPassCreateInfo.Buffer calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkRenderPassCreateInfo.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
nsType
public static int nsType(long struct) Unsafe version ofsType(). -
npNext
public static long npNext(long struct) Unsafe version ofpNext(). -
nflags
public static int nflags(long struct) Unsafe version offlags(). -
nattachmentCount
public static int nattachmentCount(long struct) Unsafe version ofattachmentCount(). -
npAttachments
Unsafe version ofpAttachments(). -
nsubpassCount
public static int nsubpassCount(long struct) Unsafe version ofsubpassCount(). -
npSubpasses
Unsafe version ofpSubpasses(). -
ndependencyCount
public static int ndependencyCount(long struct) Unsafe version ofdependencyCount(). -
npDependencies
Unsafe version ofpDependencies(). -
nsType
public static void nsType(long struct, int value) Unsafe version ofsType. -
npNext
public static void npNext(long struct, long value) Unsafe version ofpNext. -
nflags
public static void nflags(long struct, int value) Unsafe version offlags. -
nattachmentCount
public static void nattachmentCount(long struct, int value) Sets the specified value to theattachmentCountfield of the specifiedstruct. -
npAttachments
Unsafe version ofpAttachments. -
nsubpassCount
public static void nsubpassCount(long struct, int value) Sets the specified value to thesubpassCountfield of the specifiedstruct. -
npSubpasses
Unsafe version ofpSubpasses. -
ndependencyCount
public static void ndependencyCount(long struct, int value) Sets the specified value to thedependencyCountfield of the specifiedstruct. -
npDependencies
Unsafe version ofpDependencies. -
validate
public static void validate(long struct) Validates pointer members that should not beNULL.- Parameters:
struct- the struct to validate
-