Class VkSubpassDescription
- All Implemented Interfaces:
AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
Description
Each element of the pInputAttachments array corresponds to an input attachment index in a fragment shader, i.e. if a shader declares an image variable decorated with a InputAttachmentIndex value of X, then it uses the attachment provided in pInputAttachments[X]. Input attachments must also be bound to the pipeline in a descriptor set. If the attachment member of any element of pInputAttachments is ATTACHMENT_UNUSED, the application must not read from the corresponding input attachment index. Fragment shaders can use subpass input variables to access the contents of an input attachment at the fragment’s (xf,yf) framebuffer coordinates and layer. Input attachments must not be used by any subpasses within a render pass that enables render pass transform.
Each element of the pColorAttachments array corresponds to an output location in the shader, i.e. if the shader declares an output variable decorated with a Location value of X, then it uses the attachment provided in pColorAttachments[X]. If the attachment member of any element of pColorAttachments is ATTACHMENT_UNUSED, or if Color Write Enable has been disabled for the corresponding attachment index, then writes to the corresponding location by a fragment shader are discarded.
If flags does not include SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM, and if pResolveAttachments is not NULL, each of its elements corresponds to a color attachment (the element in pColorAttachments at the same index), and a multisample resolve operation is defined for each attachment unless the resolve attachment index is ATTACHMENT_UNUSED.
Similarly, if flags does not include SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM, and VkSubpassDescriptionDepthStencilResolve::pDepthStencilResolveAttachment is not NULL and does not have the value ATTACHMENT_UNUSED, it corresponds to the depth/stencil attachment in pDepthStencilAttachment, and multisample resolve operation for depth and stencil are defined by VkSubpassDescriptionDepthStencilResolve::depthResolveMode and VkSubpassDescriptionDepthStencilResolve::stencilResolveMode, respectively. If VkSubpassDescriptionDepthStencilResolve::depthResolveMode is RESOLVE_MODE_NONE or the pDepthStencilResolveAttachment does not have a depth aspect, no resolve operation is performed for the depth attachment. If VkSubpassDescriptionDepthStencilResolve::stencilResolveMode is RESOLVE_MODE_NONE or the pDepthStencilResolveAttachment does not have a stencil aspect, no resolve operation is performed for the stencil attachment.
If the image subresource range referenced by the depth/stencil attachment is created with IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT, then the multisample resolve operation uses the sample locations state specified in the sampleLocationsInfo member of the element of the VkRenderPassSampleLocationsBeginInfoEXT::pPostSubpassSampleLocations for the subpass.
If pDepthStencilAttachment is NULL, or if its attachment index is ATTACHMENT_UNUSED, it indicates that no depth/stencil attachment will be used in the subpass.
The contents of an attachment within the render area become undefined at the start of a subpass S if all of the following conditions are true:
- The attachment is used as a color, depth/stencil, or resolve attachment in any subpass in the render pass.
- There is a subpass S1 that uses or preserves the attachment, and a subpass dependency from S1 to S.
- The attachment is not used or preserved in subpass S.
In addition, the contents of an attachment within the render area become undefined at the start of a subpass S if all of the following conditions are true:
SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOMis set.- The attachment is used as a color or depth/stencil in the subpass.
Once the contents of an attachment become undefined in subpass S, they remain undefined for subpasses in subpass dependency chains starting with subpass S until they are written again. However, they remain valid for subpasses in other subpass dependency chains starting with subpass S1 if those subpasses use or preserve the attachment.
Valid Usage
- If the
attachmentmember of an element ofpInputAttachmentsis notATTACHMENT_UNUSED, itslayoutmember must not beIMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMALorIMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL - If the
attachmentmember of an element ofpColorAttachmentsis notATTACHMENT_UNUSED, itslayoutmember must not beIMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMALorIMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL - If the
attachmentmember of an element ofpResolveAttachmentsis notATTACHMENT_UNUSED, itslayoutmember must not beIMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMALorIMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL - If the
attachmentmember ofpDepthStencilAttachmentis notATTACHMENT_UNUSED, tslayoutmember must not beIMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMALorIMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL - If the
attachmentmember of an element ofpColorAttachmentsis notATTACHMENT_UNUSED, itslayoutmember must not beIMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMALorIMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL - If the
attachmentmember of an element ofpResolveAttachmentsis notATTACHMENT_UNUSED, itslayoutmember must not beIMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMALorIMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL - If the
attachmentmember of an element ofpInputAttachmentsis notATTACHMENT_UNUSED, itslayoutmember must not beIMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMALorIMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL - If the
attachmentmember of an element ofpColorAttachmentsis notATTACHMENT_UNUSED, itslayoutmember must not beIMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL,IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL,IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL, orIMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL - If the
attachmentmember of an element ofpResolveAttachmentsis notATTACHMENT_UNUSED, itslayoutmember must not beIMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL,IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL,IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL, orIMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL - If the
attachmentmember of an element ofpInputAttachmentsis notATTACHMENT_UNUSED, itslayoutmember must not beIMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR - If the
attachmentmember of an element ofpColorAttachmentsis notATTACHMENT_UNUSED, itslayoutmember must not beIMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR - If the
attachmentmember of an element ofpResolveAttachmentsis notATTACHMENT_UNUSED, itslayoutmember must not beIMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR pipelineBindPointmust bePIPELINE_BIND_POINT_GRAPHICSorPIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEIcolorAttachmentCountmust be less than or equal toVkPhysicalDeviceLimits::maxColorAttachments- If the first use of an attachment in this render pass is as an input attachment, and the attachment is not also used as a color or depth/stencil attachment in the same subpass, then
loadOpmust not beATTACHMENT_LOAD_OP_CLEAR - If
pResolveAttachmentsis notNULL, for each resolve attachment that is notATTACHMENT_UNUSED, the corresponding color attachment must not beATTACHMENT_UNUSED - If
pResolveAttachmentsis notNULL, for each resolve attachment that is notATTACHMENT_UNUSED, the corresponding color attachment must not have a sample count ofSAMPLE_COUNT_1_BIT - If
pResolveAttachmentsis notNULL, each resolve attachment that is notATTACHMENT_UNUSEDmust have a sample count ofSAMPLE_COUNT_1_BIT - If
pResolveAttachmentsis notNULL, each resolve attachment that is notATTACHMENT_UNUSEDmust have the sameVkFormatas its corresponding color attachment - All attachments in
pColorAttachmentsthat are notATTACHMENT_UNUSEDmust have the same sample count - All attachments in
pInputAttachmentsthat are notATTACHMENT_UNUSEDmust have image formats whose potential format features contain at leastFORMAT_FEATURE_COLOR_ATTACHMENT_BITorFORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT - All attachments in
pColorAttachmentsthat are notATTACHMENT_UNUSEDmust have image formats whose potential format features containFORMAT_FEATURE_COLOR_ATTACHMENT_BIT - All attachments in
pResolveAttachmentsthat are notATTACHMENT_UNUSEDmust have image formats whose potential format features containFORMAT_FEATURE_COLOR_ATTACHMENT_BIT - If
pDepthStencilAttachmentis notNULLand the attachment is notATTACHMENT_UNUSEDthen it must have an image format whose potential format features containFORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT - If the
linearColorAttachmentfeature is enabled and the image is created withIMAGE_TILING_LINEAR, all attachments inpInputAttachmentsthat are notATTACHMENT_UNUSEDmust have image formats whose potential format features must containFORMAT_FEATURE_2_LINEAR_COLOR_ATTACHMENT_BIT_NV - If the
linearColorAttachmentfeature is enabled and the image is created withIMAGE_TILING_LINEAR, all attachments inpColorAttachmentsthat are notATTACHMENT_UNUSEDmust have image formats whose potential format features must containFORMAT_FEATURE_2_LINEAR_COLOR_ATTACHMENT_BIT_NV - If the
linearColorAttachmentfeature is enabled and the image is created withIMAGE_TILING_LINEAR, all attachments inpResolveAttachmentsthat are notATTACHMENT_UNUSEDmust have image formats whose potential format features must containFORMAT_FEATURE_2_LINEAR_COLOR_ATTACHMENT_BIT_NV - If either of the following is enabled:
- The
VK_AMD_mixed_attachment_samplesextension - The
VK_NV_framebuffer_mixed_samplesextension
all attachments in
pColorAttachmentsthat are notATTACHMENT_UNUSEDmust have a sample count that is smaller than or equal to the sample count ofpDepthStencilAttachmentif it is notATTACHMENT_UNUSED - The
- If
pDepthStencilAttachmentis notATTACHMENT_UNUSEDand any attachments inpColorAttachmentsare notATTACHMENT_UNUSED, they must have the same sample count , if none of the following are enabled:- The
VK_AMD_mixed_attachment_samplesextension - The
VK_NV_framebuffer_mixed_samplesextension
- The
- Each element of
pPreserveAttachmentsmust not beATTACHMENT_UNUSED - Each element of
pPreserveAttachmentsmust not also be an element of any other member of the subpass description - If any attachment is used by more than one
VkAttachmentReferencemember, then each use must use the samelayout - If
flagsincludesSUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX, it must also includeSUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX - If
flagsincludesSUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM, and ifpResolveAttachmentsis notNULL, then each resolve attachment must beATTACHMENT_UNUSED - If
flagsincludesSUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM, then the subpass must be the last subpass in a subpass dependency chain - If the render pass is created with
RENDER_PASS_CREATE_TRANSFORM_BIT_QCOMeach of the elements ofpInputAttachmentsmust beATTACHMENT_UNUSED pDepthStencilAttachmentandpColorAttachmentsmust not contain references to the same attachment
Valid Usage (Implicit)
flagsmust be a valid combination ofVkSubpassDescriptionFlagBitsvaluespipelineBindPointmust be a validVkPipelineBindPointvalue- If
inputAttachmentCountis not 0,pInputAttachmentsmust be a valid pointer to an array ofinputAttachmentCountvalidVkAttachmentReferencestructures - If
colorAttachmentCountis not 0,pColorAttachmentsmust be a valid pointer to an array ofcolorAttachmentCountvalidVkAttachmentReferencestructures - If
colorAttachmentCountis not 0, andpResolveAttachmentsis notNULL,pResolveAttachmentsmust be a valid pointer to an array ofcolorAttachmentCountvalidVkAttachmentReferencestructures - If
pDepthStencilAttachmentis notNULL,pDepthStencilAttachmentmust be a valid pointer to a validVkAttachmentReferencestructure - If
preserveAttachmentCountis not 0,pPreserveAttachmentsmust be a valid pointer to an array ofpreserveAttachmentCountuint32_tvalues
See Also
VkAttachmentReference, VkRenderPassCreateInfo
Layout
struct VkSubpassDescription {
VkSubpassDescriptionFlags flags();
VkPipelineBindPoint pipelineBindPoint();
uint32_t inputAttachmentCount();
VkAttachmentReference const * pInputAttachments();
uint32_t colorAttachmentCount();
VkAttachmentReference const * pColorAttachments();
VkAttachmentReference const * pResolveAttachments();
VkAttachmentReference const * pDepthStencilAttachment();
uint32_t preserveAttachmentCount();
uint32_t const * pPreserveAttachments();
}-
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 member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct size in bytes.Fields inherited from interface org.lwjgl.system.Pointer
BITS32, BITS64, CLONG_SHIFT, CLONG_SIZE, POINTER_SHIFT, POINTER_SIZE -
Constructor Summary
ConstructorsConstructorDescriptionVkSubpassDescription(ByteBuffer container) Creates aVkSubpassDescriptioninstance at the current position of the specifiedByteBuffercontainer. -
Method Summary
Modifier and TypeMethodDescriptionstatic VkSubpassDescriptioncalloc()Returns a newVkSubpassDescriptioninstance allocated withmemCalloc.static VkSubpassDescription.Buffercalloc(int capacity) Returns a newVkSubpassDescription.Bufferinstance allocated withmemCalloc.static VkSubpassDescription.Buffercalloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkSubpassDescription.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkSubpassDescriptioncalloc(org.lwjgl.system.MemoryStack stack) Returns a newVkSubpassDescriptioninstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkSubpassDescriptionDeprecated.static VkSubpassDescription.BuffercallocStack(int capacity) Deprecated.static VkSubpassDescription.BuffercallocStack(int capacity, org.lwjgl.system.MemoryStack stack) Deprecated.static VkSubpassDescriptioncallocStack(org.lwjgl.system.MemoryStack stack) Deprecated.intthe number of color attachments.colorAttachmentCount(int value) Sets the specified value to thecolorAttachmentCount()field.static VkSubpassDescriptioncreate()Returns a newVkSubpassDescriptioninstance allocated withBufferUtils.static VkSubpassDescription.Buffercreate(int capacity) Returns a newVkSubpassDescription.Bufferinstance allocated withBufferUtils.static VkSubpassDescriptioncreate(long address) Returns a newVkSubpassDescriptioninstance for the specified memory address.static VkSubpassDescription.Buffercreate(long address, int capacity) Create aVkSubpassDescription.Bufferinstance at the specified memory.static @Nullable VkSubpassDescriptioncreateSafe(long address) static @Nullable VkSubpassDescription.BuffercreateSafe(long address, int capacity) intflags()a bitmask ofVkSubpassDescriptionFlagBitsspecifying usage of the subpass.flags(int value) Sets the specified value to theflags()field.intthe number of input attachments.static VkSubpassDescriptionmalloc()Returns a newVkSubpassDescriptioninstance allocated withmemAlloc.static VkSubpassDescription.Buffermalloc(int capacity) Returns a newVkSubpassDescription.Bufferinstance allocated withmemAlloc.static VkSubpassDescription.Buffermalloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkSubpassDescription.Bufferinstance allocated on the specifiedMemoryStack.static VkSubpassDescriptionmalloc(org.lwjgl.system.MemoryStack stack) Returns a newVkSubpassDescriptioninstance allocated on the specifiedMemoryStack.static VkSubpassDescriptionDeprecated.static VkSubpassDescription.BuffermallocStack(int capacity) Deprecated.static VkSubpassDescription.BuffermallocStack(int capacity, org.lwjgl.system.MemoryStack stack) Deprecated.static VkSubpassDescriptionmallocStack(org.lwjgl.system.MemoryStack stack) Deprecated.static intncolorAttachmentCount(long struct) Unsafe version ofcolorAttachmentCount().static voidncolorAttachmentCount(long struct, int value) Sets the specified value to thecolorAttachmentCountfield of the specifiedstruct.static intnflags(long struct) Unsafe version offlags().static voidnflags(long struct, int value) Unsafe version offlags.static intninputAttachmentCount(long struct) Unsafe version ofinputAttachmentCount().static voidninputAttachmentCount(long struct, int value) Sets the specified value to theinputAttachmentCountfield of the specifiedstruct.static @Nullable VkAttachmentReference.BuffernpColorAttachments(long struct) Unsafe version ofpColorAttachments().static voidnpColorAttachments(long struct, @Nullable VkAttachmentReference.Buffer value) Unsafe version ofpColorAttachments.static @Nullable VkAttachmentReferencenpDepthStencilAttachment(long struct) Unsafe version ofpDepthStencilAttachment().static voidnpDepthStencilAttachment(long struct, @Nullable VkAttachmentReference value) Unsafe version ofpDepthStencilAttachment.static @Nullable VkAttachmentReference.BuffernpInputAttachments(long struct) Unsafe version ofpInputAttachments().static voidnpInputAttachments(long struct, @Nullable VkAttachmentReference.Buffer value) Unsafe version ofpInputAttachments.static intnpipelineBindPoint(long struct) Unsafe version ofpipelineBindPoint().static voidnpipelineBindPoint(long struct, int value) Unsafe version ofpipelineBindPoint.static @Nullable IntBuffernpPreserveAttachments(long struct) Unsafe version ofpPreserveAttachments.static voidnpPreserveAttachments(long struct, @Nullable IntBuffer value) Unsafe version ofpPreserveAttachments.static intnpreserveAttachmentCount(long struct) Unsafe version ofpreserveAttachmentCount().static voidnpreserveAttachmentCount(long struct, int value) Sets the specified value to thepreserveAttachmentCountfield of the specifiedstruct.static @Nullable VkAttachmentReference.BuffernpResolveAttachments(long struct) Unsafe version ofpResolveAttachments().static voidnpResolveAttachments(long struct, @Nullable VkAttachmentReference.Buffer value) Unsafe version ofpResolveAttachments.@Nullable VkAttachmentReference.Buffera pointer to an array ofcolorAttachmentCountVkAttachmentReferencestructures defining the color attachments for this subpass and their layouts.pColorAttachments(@Nullable VkAttachmentReference.Buffer value) Sets the address of the specifiedVkAttachmentReference.Bufferto thepColorAttachments()field.@Nullable VkAttachmentReferencea pointer to aVkAttachmentReferencestructure specifying the depth/stencil attachment for this subpass and its layout.pDepthStencilAttachment(@Nullable VkAttachmentReference value) Sets the address of the specifiedVkAttachmentReferenceto thepDepthStencilAttachment()field.@Nullable VkAttachmentReference.Buffera pointer to an array ofVkAttachmentReferencestructures defining the input attachments for this subpass and their layouts.pInputAttachments(@Nullable VkAttachmentReference.Buffer value) Sets the address of the specifiedVkAttachmentReference.Bufferto thepInputAttachments()field.intaVkPipelineBindPointvalue specifying the pipeline type supported for this subpass.pipelineBindPoint(int value) Sets the specified value to thepipelineBindPoint()field.@Nullable IntBuffera pointer to an array ofpreserveAttachmentCountrender pass attachment indices identifying attachments that are not used by this subpass, but whose contents must be preserved throughout the subpass.pPreserveAttachments(@Nullable IntBuffer value) Sets the address of the specifiedIntBufferto thepPreserveAttachments()field.intthe number of preserved attachments.@Nullable VkAttachmentReference.BufferNULLor a pointer to an array ofcolorAttachmentCountVkAttachmentReferencestructures defining the resolve attachments for this subpass and their layouts.pResolveAttachments(@Nullable VkAttachmentReference.Buffer value) Sets the address of the specifiedVkAttachmentReference.Bufferto thepResolveAttachments()field.set(int flags, int pipelineBindPoint, @Nullable VkAttachmentReference.Buffer pInputAttachments, int colorAttachmentCount, @Nullable VkAttachmentReference.Buffer pColorAttachments, @Nullable VkAttachmentReference.Buffer pResolveAttachments, @Nullable VkAttachmentReference pDepthStencilAttachment, @Nullable IntBuffer pPreserveAttachments) Initializes this struct with the specified values.set(VkSubpassDescription src) Copies the specified struct data to this struct.intsizeof()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. -
FLAGS
public static final int FLAGSThe struct member offsets. -
PIPELINEBINDPOINT
public static final int PIPELINEBINDPOINTThe struct member offsets. -
INPUTATTACHMENTCOUNT
public static final int INPUTATTACHMENTCOUNTThe struct member offsets. -
PINPUTATTACHMENTS
public static final int PINPUTATTACHMENTSThe struct member offsets. -
COLORATTACHMENTCOUNT
public static final int COLORATTACHMENTCOUNTThe struct member offsets. -
PCOLORATTACHMENTS
public static final int PCOLORATTACHMENTSThe struct member offsets. -
PRESOLVEATTACHMENTS
public static final int PRESOLVEATTACHMENTSThe struct member offsets. -
PDEPTHSTENCILATTACHMENT
public static final int PDEPTHSTENCILATTACHMENTThe struct member offsets. -
PRESERVEATTACHMENTCOUNT
public static final int PRESERVEATTACHMENTCOUNTThe struct member offsets. -
PPRESERVEATTACHMENTS
public static final int PPRESERVEATTACHMENTSThe struct member offsets.
-
-
Constructor Details
-
VkSubpassDescription
Creates aVkSubpassDescriptioninstance 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<VkSubpassDescription>
-
flags
public int flags()a bitmask ofVkSubpassDescriptionFlagBitsspecifying usage of the subpass. -
pipelineBindPoint
public int pipelineBindPoint()aVkPipelineBindPointvalue specifying the pipeline type supported for this subpass. -
inputAttachmentCount
public int inputAttachmentCount()the number of input attachments. -
pInputAttachments
a pointer to an array ofVkAttachmentReferencestructures defining the input attachments for this subpass and their layouts. -
colorAttachmentCount
public int colorAttachmentCount()the number of color attachments. -
pColorAttachments
a pointer to an array ofcolorAttachmentCountVkAttachmentReferencestructures defining the color attachments for this subpass and their layouts. -
pResolveAttachments
NULLor a pointer to an array ofcolorAttachmentCountVkAttachmentReferencestructures defining the resolve attachments for this subpass and their layouts. -
pDepthStencilAttachment
a pointer to aVkAttachmentReferencestructure specifying the depth/stencil attachment for this subpass and its layout. -
preserveAttachmentCount
public int preserveAttachmentCount()the number of preserved attachments. -
pPreserveAttachments
a pointer to an array ofpreserveAttachmentCountrender pass attachment indices identifying attachments that are not used by this subpass, but whose contents must be preserved throughout the subpass. -
flags
Sets the specified value to theflags()field. -
pipelineBindPoint
Sets the specified value to thepipelineBindPoint()field. -
pInputAttachments
Sets the address of the specifiedVkAttachmentReference.Bufferto thepInputAttachments()field. -
colorAttachmentCount
Sets the specified value to thecolorAttachmentCount()field. -
pColorAttachments
Sets the address of the specifiedVkAttachmentReference.Bufferto thepColorAttachments()field. -
pResolveAttachments
Sets the address of the specifiedVkAttachmentReference.Bufferto thepResolveAttachments()field. -
pDepthStencilAttachment
Sets the address of the specifiedVkAttachmentReferenceto thepDepthStencilAttachment()field. -
pPreserveAttachments
Sets the address of the specifiedIntBufferto thepPreserveAttachments()field. -
set
public VkSubpassDescription set(int flags, int pipelineBindPoint, @Nullable VkAttachmentReference.Buffer pInputAttachments, int colorAttachmentCount, @Nullable VkAttachmentReference.Buffer pColorAttachments, @Nullable VkAttachmentReference.Buffer pResolveAttachments, @Nullable VkAttachmentReference pDepthStencilAttachment, @Nullable IntBuffer pPreserveAttachments) 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 newVkSubpassDescriptioninstance allocated withmemAlloc. The instance must be explicitly freed. -
calloc
Returns a newVkSubpassDescriptioninstance allocated withmemCalloc. The instance must be explicitly freed. -
create
Returns a newVkSubpassDescriptioninstance allocated withBufferUtils. -
create
Returns a newVkSubpassDescriptioninstance for the specified memory address. -
createSafe
-
malloc
Returns a newVkSubpassDescription.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
Returns a newVkSubpassDescription.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
Returns a newVkSubpassDescription.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
Create aVkSubpassDescription.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 VkSubpassDescription.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 VkSubpassDescription.Buffer callocStack(int capacity, org.lwjgl.system.MemoryStack stack) Deprecated.Deprecated for removal in 3.4.0. Usecalloc(int, MemoryStack)instead. -
malloc
Returns a newVkSubpassDescriptioninstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
Returns a newVkSubpassDescriptioninstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
malloc
Returns a newVkSubpassDescription.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
calloc
Returns a newVkSubpassDescription.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
nflags
public static int nflags(long struct) Unsafe version offlags(). -
npipelineBindPoint
public static int npipelineBindPoint(long struct) Unsafe version ofpipelineBindPoint(). -
ninputAttachmentCount
public static int ninputAttachmentCount(long struct) Unsafe version ofinputAttachmentCount(). -
npInputAttachments
Unsafe version ofpInputAttachments(). -
ncolorAttachmentCount
public static int ncolorAttachmentCount(long struct) Unsafe version ofcolorAttachmentCount(). -
npColorAttachments
Unsafe version ofpColorAttachments(). -
npResolveAttachments
Unsafe version ofpResolveAttachments(). -
npDepthStencilAttachment
Unsafe version ofpDepthStencilAttachment(). -
npreserveAttachmentCount
public static int npreserveAttachmentCount(long struct) Unsafe version ofpreserveAttachmentCount(). -
npPreserveAttachments
Unsafe version ofpPreserveAttachments. -
nflags
public static void nflags(long struct, int value) Unsafe version offlags. -
npipelineBindPoint
public static void npipelineBindPoint(long struct, int value) Unsafe version ofpipelineBindPoint. -
ninputAttachmentCount
public static void ninputAttachmentCount(long struct, int value) Sets the specified value to theinputAttachmentCountfield of the specifiedstruct. -
npInputAttachments
Unsafe version ofpInputAttachments. -
ncolorAttachmentCount
public static void ncolorAttachmentCount(long struct, int value) Sets the specified value to thecolorAttachmentCountfield of the specifiedstruct. -
npColorAttachments
Unsafe version ofpColorAttachments. -
npResolveAttachments
Unsafe version ofpResolveAttachments. -
npDepthStencilAttachment
Unsafe version ofpDepthStencilAttachment. -
npreserveAttachmentCount
public static void npreserveAttachmentCount(long struct, int value) Sets the specified value to thepreserveAttachmentCountfield of the specifiedstruct. -
npPreserveAttachments
Unsafe version ofpPreserveAttachments. -
validate
public static void validate(long struct) Validates pointer members that should not beNULL.- Parameters:
struct- the struct to validate
-