Class VkFramebufferCreateInfo
- java.lang.Object
-
- org.lwjgl.system.Pointer.Default
-
- org.lwjgl.system.Struct
-
- org.lwjgl.vulkan.VkFramebufferCreateInfo
-
- All Implemented Interfaces:
java.lang.AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
public class VkFramebufferCreateInfo extends org.lwjgl.system.Struct implements org.lwjgl.system.NativeResourceStructure specifying parameters of a newly created framebuffer.Description
Applications must ensure that all non-attachment writes to memory backing image subresources that are used as attachments in a render pass instance happen-before or happen-after the render pass instance. If an image subresource is written during a render pass instance by anything other than load operations, store operations, and layout transitions, applications must ensure that all non-attachment reads from memory backing that image subresource happen-before or happen-after the render pass instance. For depth/stencil images, the aspects are not treated independently for the above guarantees - writes to either aspect must be synchronized with accesses to the other aspect.
Note
An image subresource can be used as read-only as both an attachment and a non-attachment during a render pass instance, but care must still be taken to avoid data races with load/store operations and layout transitions. The simplest way to achieve this is to keep the non-attachment and attachment accesses within the same subpass, or to avoid layout transitions and load/store operations that perform writes.
It is legal for a subpass to use no color or depth/stencil attachments, either because it has no attachment references or because all of them are
ATTACHMENT_UNUSED. This kind of subpass can use shader side effects such as image stores and atomics to produce an output. In this case, the subpass continues to use thewidth,height, andlayersof the framebuffer to define the dimensions of the rendering area, and therasterizationSamplesfrom each pipeline’sVkPipelineMultisampleStateCreateInfoto define the number of samples used in rasterization; however, ifVkPhysicalDeviceFeatures::variableMultisampleRateisFALSE, then all pipelines to be bound with the subpass must have the same value forVkPipelineMultisampleStateCreateInfo::rasterizationSamples.Valid Usage
- If
renderpassis notNULL_HANDLE,attachmentCountmust be equal to the attachment count specified inrenderPass - If
renderpassis notNULL_HANDLE,flagsdoes not includeFRAMEBUFFER_CREATE_IMAGELESS_BIT, andattachmentCountis not 0,pAttachmentsmust be a valid pointer to an array ofattachmentCountvalidVkImageViewhandles - If
renderpassis notNULL_HANDLEandflagsdoes not includeFRAMEBUFFER_CREATE_IMAGELESS_BIT, each element ofpAttachmentsthat is used as a color attachment or resolve attachment byrenderPassmust have been created with ausagevalue includingIMAGE_USAGE_COLOR_ATTACHMENT_BIT - If
renderpassis notNULL_HANDLEandflagsdoes not includeFRAMEBUFFER_CREATE_IMAGELESS_BIT, each element ofpAttachmentsthat is used as a depth/stencil attachment byrenderPassmust have been created with ausagevalue includingIMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT - If
renderpassis notNULL_HANDLEandflagsdoes not includeFRAMEBUFFER_CREATE_IMAGELESS_BIT, each element ofpAttachmentsthat is used as a depth/stencil resolve attachment byrenderPassmust have been created with ausagevalue includingIMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT - If
renderpassis notNULL_HANDLEandrenderpassis notNULL_HANDLE,flagsdoes not includeFRAMEBUFFER_CREATE_IMAGELESS_BIT, each element ofpAttachmentsthat is used as an input attachment byrenderPassmust have been created with ausagevalue includingIMAGE_USAGE_INPUT_ATTACHMENT_BIT - If
renderpassis notNULL_HANDLE, each element ofpAttachmentsthat is used as a fragment density map attachment byrenderPassmust not have been created with aflagsvalue includingIMAGE_CREATE_SUBSAMPLED_BIT_EXT - If
renderpassis notNULL_HANDLE,renderPasshas a fragment density map attachment, and non-subsample image feature is not enabled, each element ofpAttachmentsmust have been created with aflagsvalue includingIMAGE_CREATE_SUBSAMPLED_BIT_EXTunless that element is the fragment density map attachment - If
renderPasswas created with fragment density map offsets other than(0,0), each element ofpAttachmentsmust have been created with aflagsvalue includingIMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM. - If
renderpassis notNULL_HANDLEandflagsdoes not includeFRAMEBUFFER_CREATE_IMAGELESS_BIT, each element ofpAttachmentsmust have been created with aVkFormatvalue that matches theVkFormatspecified by the correspondingVkAttachmentDescriptioninrenderPass - If
renderpassis notNULL_HANDLEandflagsdoes not includeFRAMEBUFFER_CREATE_IMAGELESS_BIT, each element ofpAttachmentsmust have been created with asamplesvalue that matches thesamplesvalue specified by the correspondingVkAttachmentDescriptioninrenderPass - If
renderpassis notNULL_HANDLEandflagsdoes not includeFRAMEBUFFER_CREATE_IMAGELESS_BIT, each element ofpAttachmentsthat is used as an input, color, resolve, or depth/stencil attachment byrenderPassmust have been created with aVkImageCreateInfo::widthgreater than or equal towidth - If
renderpassis notNULL_HANDLEandflagsdoes not includeFRAMEBUFFER_CREATE_IMAGELESS_BIT, each element ofpAttachmentsthat is used as an input, color, resolve, or depth/stencil attachment byrenderPassmust have been created with aVkImageCreateInfo::heightgreater than or equal toheight - If
renderpassis notNULL_HANDLEandflagsdoes not includeFRAMEBUFFER_CREATE_IMAGELESS_BIT, each element ofpAttachmentsthat is used as an input, color, resolve, or depth/stencil attachment byrenderPassmust have been created with aVkImageViewCreateInfo::subresourceRange.layerCountgreater than or equal tolayers - If
renderpassis notNULL_HANDLEandrenderPasswas specified with non-zero view masks, each element ofpAttachmentsthat is used as an input, color, resolve, or depth/stencil attachment byrenderPassmust have alayerCountgreater than the index of the most significant bit set in any of those view masks - If
renderpassis notNULL_HANDLEandrenderPasswas specified with non-zero view masks, each element ofpAttachmentsthat is referenced byfragmentDensityMapAttachmentmust have alayerCountequal to 1 or greater than the index of the most significant bit set in any of those view masks - If
renderpassis notNULL_HANDLEandrenderPasswas not specified with non-zero view masks, each element ofpAttachmentsthat is referenced byfragmentDensityMapAttachmentmust have alayerCountequal to 1 - If
renderpassis notNULL_HANDLEandflagsdoes not includeFRAMEBUFFER_CREATE_IMAGELESS_BIT, an element ofpAttachmentsthat is referenced byfragmentDensityMapAttachmentmust have a width at least as large asceil(width / maxFragmentDensityTexelSizewidth) - If
renderpassis notNULL_HANDLEandflagsdoes not includeFRAMEBUFFER_CREATE_IMAGELESS_BIT, an element ofpAttachmentsthat is referenced byfragmentDensityMapAttachmentmust have a height at least as large asceil(height / maxFragmentDensityTexelSizeheight) - If
renderpassis notNULL_HANDLEandflagsdoes not includeFRAMEBUFFER_CREATE_IMAGELESS_BIT, andrenderPasswas specified with non-zero view masks, each element ofpAttachmentsthat is used as a fragment shading rate attachment byrenderPassmust have alayerCountthat is either 1, or greater than the index of the most significant bit set in any of those view masks - If
renderpassis notNULL_HANDLEandflagsdoes not includeFRAMEBUFFER_CREATE_IMAGELESS_BIT, andrenderPasswas not specified with non-zero view masks, each element ofpAttachmentsthat is used as a fragment shading rate attachment byrenderPassmust have alayerCountthat is either 1, or greater thanlayers - If
renderpassis notNULL_HANDLEandflagsdoes not includeFRAMEBUFFER_CREATE_IMAGELESS_BIT, an element ofpAttachmentsthat is used as a fragment shading rate attachment must have a width at least as large as⌈width / texelWidth⌉, wheretexelWidthis the largest value ofshadingRateAttachmentTexelSize.widthin aVkFragmentShadingRateAttachmentInfoKHRwhich references that attachment - If
renderpassis notNULL_HANDLEandflagsdoes not includeFRAMEBUFFER_CREATE_IMAGELESS_BIT, an element ofpAttachmentsthat is used as a fragment shading rate attachment must have a height at least as large as⌈height / texelHeight⌉, wheretexelHeightis the largest value ofshadingRateAttachmentTexelSize.heightin aVkFragmentShadingRateAttachmentInfoKHRwhich references that attachment - If
flagsdoes not includeFRAMEBUFFER_CREATE_IMAGELESS_BIT, each element ofpAttachmentsmust only specify a single mip level - If
flagsdoes not includeFRAMEBUFFER_CREATE_IMAGELESS_BIT, each element ofpAttachmentsmust have been created with the identity swizzle widthmust be greater than 0widthmust be less than or equal tomaxFramebufferWidthheightmust be greater than 0heightmust be less than or equal tomaxFramebufferHeightlayersmust be greater than 0layersmust be less than or equal tomaxFramebufferLayers- If
renderpassis notNULL_HANDLEandrenderPasswas specified with non-zero view masks,layersmust be 1 - If
flagsdoes not includeFRAMEBUFFER_CREATE_IMAGELESS_BIT, each element ofpAttachmentsthat is a 2D or 2D array image view taken from a 3D image must not be a depth/stencil format - If the imageless framebuffer feature is not enabled,
flagsmust not includeFRAMEBUFFER_CREATE_IMAGELESS_BIT - If
flagsincludesFRAMEBUFFER_CREATE_IMAGELESS_BIT, thepNextchain must include aVkFramebufferAttachmentsCreateInfostructure - If
flagsincludesFRAMEBUFFER_CREATE_IMAGELESS_BIT, theattachmentImageInfoCountmember of aVkFramebufferAttachmentsCreateInfostructure in thepNextchain must be equal to either zero orattachmentCount - If
renderpassis notNULL_HANDLEandflagsincludesFRAMEBUFFER_CREATE_IMAGELESS_BIT, thewidthmember of any element of thepAttachmentImageInfosmember of aVkFramebufferAttachmentsCreateInfostructure in thepNextchain that is used as an input, color, resolve or depth/stencil attachment inrenderPassmust be greater than or equal towidth - If
renderpassis notNULL_HANDLEandflagsincludesFRAMEBUFFER_CREATE_IMAGELESS_BIT, theheightmember of any element of thepAttachmentImageInfosmember of aVkFramebufferAttachmentsCreateInfostructure in thepNextchain that is used as an input, color, resolve or depth/stencil attachment inrenderPassmust be greater than or equal toheight - If
renderpassis notNULL_HANDLEandflagsincludesFRAMEBUFFER_CREATE_IMAGELESS_BIT, thewidthmember of any element of thepAttachmentImageInfosmember of aVkFramebufferAttachmentsCreateInfostructure in thepNextchain that is referenced byVkRenderPassFragmentDensityMapCreateInfoEXT::fragmentDensityMapAttachmentinrenderPassmust be greater than or equal toceil(width / maxFragmentDensityTexelSizewidth) - If
renderpassis notNULL_HANDLEandflagsincludesFRAMEBUFFER_CREATE_IMAGELESS_BIT, theheightmember of any element of thepAttachmentImageInfosmember of aVkFramebufferAttachmentsCreateInfostructure included in thepNextchain that is referenced byVkRenderPassFragmentDensityMapCreateInfoEXT::fragmentDensityMapAttachmentinrenderPassmust be greater than or equal toceil(height / maxFragmentDensityTexelSizeheight) - If
renderpassis notNULL_HANDLEandflagsincludesFRAMEBUFFER_CREATE_IMAGELESS_BIT, thewidthmember of any element of thepAttachmentImageInfosmember of aVkFramebufferAttachmentsCreateInfostructure in thepNextchain that is used as a fragment shading rate attachment must be greater than or equal to⌈width / texelWidth⌉, wheretexelWidthis the largest value ofshadingRateAttachmentTexelSize.widthin aVkFragmentShadingRateAttachmentInfoKHRwhich references that attachment - If
renderpassis notNULL_HANDLEandflagsincludesFRAMEBUFFER_CREATE_IMAGELESS_BIT, theheightmember of any element of thepAttachmentImageInfosmember of aVkFramebufferAttachmentsCreateInfostructure in thepNextchain that is used as a fragment shading rate attachment must be greater than or equal to⌈height / texelHeight⌉, wheretexelHeightis the largest value ofshadingRateAttachmentTexelSize.heightin aVkFragmentShadingRateAttachmentInfoKHRwhich references that attachment - If
renderpassis notNULL_HANDLEandflagsincludesFRAMEBUFFER_CREATE_IMAGELESS_BIT, thelayerCountmember of any element of thepAttachmentImageInfosmember of aVkFramebufferAttachmentsCreateInfostructure in thepNextchain that is used as a fragment shading rate attachment must be either 1, or greater than or equal tolayers - If
renderpassis notNULL_HANDLE,flagsincludesFRAMEBUFFER_CREATE_IMAGELESS_BIT, andrenderPasswas specified with non-zero view masks, each element ofpAttachmentsthat is used as a fragment shading rate attachment byrenderPassmust have alayerCountthat is either 1, or greater than the index of the most significant bit set in any of those view masks - If
renderpassis notNULL_HANDLE, multiview is enabled forrenderPass, andflagsincludesFRAMEBUFFER_CREATE_IMAGELESS_BIT, thelayerCountmember of any element of thepAttachmentImageInfosmember of aVkFramebufferAttachmentsCreateInfostructure included in thepNextchain used as an input, color, resolve, or depth/stencil attachment inrenderPassmust be greater than the maximum bit index set in the view mask in the subpasses in which it is used inrenderPass - If
renderpassis notNULL_HANDLE, multiview is not enabled forrenderPass, andflagsincludesFRAMEBUFFER_CREATE_IMAGELESS_BIT, thelayerCountmember of any element of thepAttachmentImageInfosmember of aVkFramebufferAttachmentsCreateInfostructure included in thepNextchain used as an input, color, resolve, or depth/stencil attachment inrenderPassmust be greater than or equal tolayers - If
renderpassis notNULL_HANDLEandflagsincludesFRAMEBUFFER_CREATE_IMAGELESS_BIT, theusagemember of any element of thepAttachmentImageInfosmember of aVkFramebufferAttachmentsCreateInfostructure included in thepNextchain that refers to an attachment used as a color attachment or resolve attachment byrenderPassmust includeIMAGE_USAGE_COLOR_ATTACHMENT_BIT - If
renderpassis notNULL_HANDLEandflagsincludesFRAMEBUFFER_CREATE_IMAGELESS_BIT, theusagemember of any element of thepAttachmentImageInfosmember of aVkFramebufferAttachmentsCreateInfostructure included in thepNextchain that refers to an attachment used as a depth/stencil attachment byrenderPassmust includeIMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT - If
renderpassis notNULL_HANDLEandflagsincludesFRAMEBUFFER_CREATE_IMAGELESS_BIT, theusagemember of any element of thepAttachmentImageInfosmember of aVkFramebufferAttachmentsCreateInfostructure included in thepNextchain that refers to an attachment used as a depth/stencil resolve attachment byrenderPassmust includeIMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT - If
renderpassis notNULL_HANDLEandflagsincludesFRAMEBUFFER_CREATE_IMAGELESS_BIT, theusagemember of any element of thepAttachmentImageInfosmember of aVkFramebufferAttachmentsCreateInfostructure included in thepNextchain that refers to an attachment used as an input attachment byrenderPassmust includeIMAGE_USAGE_INPUT_ATTACHMENT_BIT - If
renderpassis notNULL_HANDLEandflagsincludesFRAMEBUFFER_CREATE_IMAGELESS_BIT, at least one element of thepViewFormatsmember of any element of thepAttachmentImageInfosmember of aVkFramebufferAttachmentsCreateInfostructure included in thepNextchain must be equal to the corresponding value ofVkAttachmentDescription::formatused to createrenderPass - If
flagsdoes not includeFRAMEBUFFER_CREATE_IMAGELESS_BIT, each element ofpAttachmentsmust have been created withVkImageViewCreateInfo::viewTypenot equal toIMAGE_VIEW_TYPE_3D - If
renderpassis notNULL_HANDLEandflagsdoes not includeFRAMEBUFFER_CREATE_IMAGELESS_BIT, each element ofpAttachmentsthat is used as a fragment shading rate attachment byrenderPassmust have been created with ausagevalue includingIMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR - If
renderpassis notNULL_HANDLEandflagsincludesFRAMEBUFFER_CREATE_IMAGELESS_BIT, theusagemember of any element of thepAttachmentImageInfosmember of aVkFramebufferAttachmentsCreateInfostructure included in thepNextchain that refers to an attachment used as a fragment shading rate attachment byrenderPassmust includeIMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
Valid Usage (Implicit)
sTypemust beSTRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFOpNextmust beNULLor a pointer to a valid instance ofVkFramebufferAttachmentsCreateInfo- The
sTypevalue of each struct in thepNextchain must be unique flagsmust be a valid combination ofVkFramebufferCreateFlagBitsvaluesrenderPassmust be a validVkRenderPasshandle- Both of
renderPass, and the elements ofpAttachmentsthat are valid handles of non-ignored parameters must have been created, allocated, or retrieved from the sameVkDevice
See Also
Layout
struct VkFramebufferCreateInfo { VkStructureTypesType(); void const *pNext(); VkFramebufferCreateFlagsflags(); VkRenderPassrenderPass(); uint32_tattachmentCount(); VkImageView const *pAttachments(); uint32_twidth(); uint32_theight(); uint32_tlayers(); }
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classVkFramebufferCreateInfo.BufferAn array ofVkFramebufferCreateInfostructs.
-
Field Summary
Fields Modifier and Type Field Description static intALIGNOFThe struct alignment in bytes.static intATTACHMENTCOUNT
FLAGS
HEIGHT
LAYERS
PATTACHMENTS
PNEXT
RENDERPASSThe struct member offsets.static intSIZEOFThe struct size in bytes.static intSTYPE
WIDTHThe struct member offsets.
-
Constructor Summary
Constructors Constructor Description VkFramebufferCreateInfo(java.nio.ByteBuffer container)Creates aVkFramebufferCreateInfoinstance at the current position of the specifiedByteBuffercontainer.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description intattachmentCount()the number of attachments.VkFramebufferCreateInfoattachmentCount(int value)Sets the specified value to theattachmentCount()field.static VkFramebufferCreateInfocalloc()Returns a newVkFramebufferCreateInfoinstance allocated withmemCalloc.static VkFramebufferCreateInfo.Buffercalloc(int capacity)Returns a newVkFramebufferCreateInfo.Bufferinstance allocated withmemCalloc.static VkFramebufferCreateInfo.Buffercalloc(int capacity, org.lwjgl.system.MemoryStack stack)Returns a newVkFramebufferCreateInfo.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkFramebufferCreateInfocalloc(org.lwjgl.system.MemoryStack stack)Returns a newVkFramebufferCreateInfoinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkFramebufferCreateInfocallocStack()Deprecated.static VkFramebufferCreateInfo.BuffercallocStack(int capacity)Deprecated.static VkFramebufferCreateInfo.BuffercallocStack(int capacity, org.lwjgl.system.MemoryStack stack)Deprecated.static VkFramebufferCreateInfocallocStack(org.lwjgl.system.MemoryStack stack)Deprecated.static VkFramebufferCreateInfocreate()Returns a newVkFramebufferCreateInfoinstance allocated withBufferUtils.static VkFramebufferCreateInfo.Buffercreate(int capacity)Returns a newVkFramebufferCreateInfo.Bufferinstance allocated withBufferUtils.static VkFramebufferCreateInfocreate(long address)Returns a newVkFramebufferCreateInfoinstance for the specified memory address.static VkFramebufferCreateInfo.Buffercreate(long address, int capacity)Create aVkFramebufferCreateInfo.Bufferinstance at the specified memory.static VkFramebufferCreateInfocreateSafe(long address)static VkFramebufferCreateInfo.BuffercreateSafe(long address, int capacity)intflags()a bitmask ofVkFramebufferCreateFlagBitsVkFramebufferCreateInfoflags(int value)Sets the specified value to theflags()field.intheight()seewidthVkFramebufferCreateInfoheight(int value)Sets the specified value to theheight()field.intlayers()seewidthVkFramebufferCreateInfolayers(int value)Sets the specified value to thelayers()field.static VkFramebufferCreateInfomalloc()Returns a newVkFramebufferCreateInfoinstance allocated withmemAlloc.static VkFramebufferCreateInfo.Buffermalloc(int capacity)Returns a newVkFramebufferCreateInfo.Bufferinstance allocated withmemAlloc.static VkFramebufferCreateInfo.Buffermalloc(int capacity, org.lwjgl.system.MemoryStack stack)Returns a newVkFramebufferCreateInfo.Bufferinstance allocated on the specifiedMemoryStack.static VkFramebufferCreateInfomalloc(org.lwjgl.system.MemoryStack stack)Returns a newVkFramebufferCreateInfoinstance allocated on the specifiedMemoryStack.static VkFramebufferCreateInfomallocStack()Deprecated.static VkFramebufferCreateInfo.BuffermallocStack(int capacity)Deprecated.static VkFramebufferCreateInfo.BuffermallocStack(int capacity, org.lwjgl.system.MemoryStack stack)Deprecated.static VkFramebufferCreateInfomallocStack(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 intnflags(long struct)Unsafe version offlags().static voidnflags(long struct, int value)Unsafe version offlags.static intnheight(long struct)Unsafe version ofheight().static voidnheight(long struct, int value)Unsafe version ofheight.static intnlayers(long struct)Unsafe version oflayers().static voidnlayers(long struct, int value)Unsafe version oflayers.static java.nio.LongBuffernpAttachments(long struct)Unsafe version ofpAttachments.static voidnpAttachments(long struct, java.nio.LongBuffer value)Unsafe version ofpAttachments.static longnpNext(long struct)Unsafe version ofpNext().static voidnpNext(long struct, long value)Unsafe version ofpNext.static longnrenderPass(long struct)Unsafe version ofrenderPass().static voidnrenderPass(long struct, long value)Unsafe version ofrenderPass.static intnsType(long struct)Unsafe version ofsType().static voidnsType(long struct, int value)Unsafe version ofsType.static intnwidth(long struct)Unsafe version ofwidth().static voidnwidth(long struct, int value)Unsafe version ofwidth.java.nio.LongBufferpAttachments()a pointer to an array ofVkImageViewhandles, each of which will be used as the corresponding attachment in a render pass instance.VkFramebufferCreateInfopAttachments(java.nio.LongBuffer value)Sets the address of the specifiedLongBufferto thepAttachments()field.longpNext()NULLor a pointer to a structure extending this structure.VkFramebufferCreateInfopNext(long value)Sets the specified value to thepNext()field.VkFramebufferCreateInfopNext(VkFramebufferAttachmentsCreateInfo value)Prepends the specifiedVkFramebufferAttachmentsCreateInfovalue to thepNextchain.VkFramebufferCreateInfopNext(VkFramebufferAttachmentsCreateInfoKHR value)Prepends the specifiedVkFramebufferAttachmentsCreateInfoKHRvalue to thepNextchain.longrenderPass()a render pass defining what render passes the framebuffer will be compatible with.VkFramebufferCreateInforenderPass(long value)Sets the specified value to therenderPass()field.VkFramebufferCreateInfoset(int sType, long pNext, int flags, long renderPass, int attachmentCount, java.nio.LongBuffer pAttachments, int width, int height, int layers)Initializes this struct with the specified values.VkFramebufferCreateInfoset(VkFramebufferCreateInfo src)Copies the specified struct data to this struct.intsizeof()intsType()the type of this structure.VkFramebufferCreateInfosType(int value)Sets the specified value to thesType()field.VkFramebufferCreateInfosType$Default()Sets theSTRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFOvalue to thesType()field.intwidth()width,heightandlayersdefine the dimensions of the framebuffer.VkFramebufferCreateInfowidth(int value)Sets the specified value to thewidth()field.
-
-
-
Constructor Detail
-
VkFramebufferCreateInfo
public VkFramebufferCreateInfo(java.nio.ByteBuffer container)
Creates aVkFramebufferCreateInfoinstance 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 Detail
-
sizeof
public int sizeof()
- Specified by:
sizeofin classorg.lwjgl.system.Struct
-
sType
public int sType()
the type of this structure.
-
pNext
public long pNext()
NULLor a pointer to a structure extending this structure.
-
flags
public int flags()
a bitmask ofVkFramebufferCreateFlagBits
-
renderPass
public long renderPass()
a render pass defining what render passes the framebuffer will be compatible with. See Render Pass Compatibility for details.
-
attachmentCount
public int attachmentCount()
the number of attachments.
-
pAttachments
@Nullable public java.nio.LongBuffer pAttachments()
a pointer to an array ofVkImageViewhandles, each of which will be used as the corresponding attachment in a render pass instance. IfflagsincludesFRAMEBUFFER_CREATE_IMAGELESS_BIT, this parameter is ignored.
-
width
public int width()
width,heightandlayersdefine the dimensions of the framebuffer. If the render pass uses multiview, thenlayersmust be one and each attachment requires a number of layers that is greater than the maximum bit index set in the view mask in the subpasses in which it is used.
-
height, layers
public int height() public int layers()
seewidth
-
sType
public VkFramebufferCreateInfo sType(int value)
Sets the specified value to thesType()field.
-
sType$Default
public VkFramebufferCreateInfo sType$Default()
Sets theSTRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFOvalue to thesType()field.
-
pNext
public VkFramebufferCreateInfo pNext(long value)
Sets the specified value to thepNext()field.
-
pNext
public VkFramebufferCreateInfo pNext(VkFramebufferAttachmentsCreateInfo value)
Prepends the specifiedVkFramebufferAttachmentsCreateInfovalue to thepNextchain.
-
pNext
public VkFramebufferCreateInfo pNext(VkFramebufferAttachmentsCreateInfoKHR value)
Prepends the specifiedVkFramebufferAttachmentsCreateInfoKHRvalue to thepNextchain.
-
flags
public VkFramebufferCreateInfo flags(int value)
Sets the specified value to theflags()field.
-
renderPass
public VkFramebufferCreateInfo renderPass(long value)
Sets the specified value to therenderPass()field.
-
attachmentCount
public VkFramebufferCreateInfo attachmentCount(int value)
Sets the specified value to theattachmentCount()field.
-
pAttachments
public VkFramebufferCreateInfo pAttachments(@Nullable java.nio.LongBuffer value)
Sets the address of the specifiedLongBufferto thepAttachments()field.
-
width
public VkFramebufferCreateInfo width(int value)
Sets the specified value to thewidth()field.
-
height
public VkFramebufferCreateInfo height(int value)
Sets the specified value to theheight()field.
-
layers
public VkFramebufferCreateInfo layers(int value)
Sets the specified value to thelayers()field.
-
set
public VkFramebufferCreateInfo set(int sType, long pNext, int flags, long renderPass, int attachmentCount, @Nullable java.nio.LongBuffer pAttachments, int width, int height, int layers)
Initializes this struct with the specified values.
-
set
public VkFramebufferCreateInfo set(VkFramebufferCreateInfo src)
Copies the specified struct data to this struct.- Parameters:
src- the source struct- Returns:
- this struct
-
malloc
public static VkFramebufferCreateInfo malloc()
Returns a newVkFramebufferCreateInfoinstance allocated withmemAlloc. The instance must be explicitly freed.
-
calloc
public static VkFramebufferCreateInfo calloc()
Returns a newVkFramebufferCreateInfoinstance allocated withmemCalloc. The instance must be explicitly freed.
-
create
public static VkFramebufferCreateInfo create()
Returns a newVkFramebufferCreateInfoinstance allocated withBufferUtils.
-
create
public static VkFramebufferCreateInfo create(long address)
Returns a newVkFramebufferCreateInfoinstance for the specified memory address.
-
createSafe
@Nullable public static VkFramebufferCreateInfo createSafe(long address)
-
malloc
public static VkFramebufferCreateInfo.Buffer malloc(int capacity)
Returns a newVkFramebufferCreateInfo.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
public static VkFramebufferCreateInfo.Buffer calloc(int capacity)
Returns a newVkFramebufferCreateInfo.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
public static VkFramebufferCreateInfo.Buffer create(int capacity)
Returns a newVkFramebufferCreateInfo.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
public static VkFramebufferCreateInfo.Buffer create(long address, int capacity)
Create aVkFramebufferCreateInfo.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
@Nullable public static VkFramebufferCreateInfo.Buffer createSafe(long address, int capacity)
-
mallocStack
@Deprecated public static VkFramebufferCreateInfo mallocStack()
Deprecated.Deprecated for removal in 3.4.0. Usemalloc(MemoryStack)instead.
-
callocStack
@Deprecated public static VkFramebufferCreateInfo callocStack()
Deprecated.Deprecated for removal in 3.4.0. Usecalloc(MemoryStack)instead.
-
mallocStack
@Deprecated public static VkFramebufferCreateInfo mallocStack(org.lwjgl.system.MemoryStack stack)
Deprecated.Deprecated for removal in 3.4.0. Usemalloc(MemoryStack)instead.
-
callocStack
@Deprecated public static VkFramebufferCreateInfo callocStack(org.lwjgl.system.MemoryStack stack)
Deprecated.Deprecated for removal in 3.4.0. Usecalloc(MemoryStack)instead.
-
mallocStack
@Deprecated public static VkFramebufferCreateInfo.Buffer mallocStack(int capacity)
Deprecated.Deprecated for removal in 3.4.0. Usemalloc(int, MemoryStack)instead.
-
callocStack
@Deprecated public static VkFramebufferCreateInfo.Buffer callocStack(int capacity)
Deprecated.Deprecated for removal in 3.4.0. Usecalloc(int, MemoryStack)instead.
-
mallocStack
@Deprecated public static VkFramebufferCreateInfo.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 VkFramebufferCreateInfo.Buffer callocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Deprecated.Deprecated for removal in 3.4.0. Usecalloc(int, MemoryStack)instead.
-
malloc
public static VkFramebufferCreateInfo malloc(org.lwjgl.system.MemoryStack stack)
Returns a newVkFramebufferCreateInfoinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
public static VkFramebufferCreateInfo calloc(org.lwjgl.system.MemoryStack stack)
Returns a newVkFramebufferCreateInfoinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
malloc
public static VkFramebufferCreateInfo.Buffer malloc(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newVkFramebufferCreateInfo.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocatecapacity- the buffer capacity
-
calloc
public static VkFramebufferCreateInfo.Buffer calloc(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newVkFramebufferCreateInfo.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocatecapacity- the buffer capacity
-
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().
-
nrenderPass
public static long nrenderPass(long struct)
Unsafe version ofrenderPass().
-
nattachmentCount
public static int nattachmentCount(long struct)
Unsafe version ofattachmentCount().
-
npAttachments
@Nullable public static java.nio.LongBuffer npAttachments(long struct)
Unsafe version ofpAttachments.
-
nwidth
public static int nwidth(long struct)
Unsafe version ofwidth().
-
nheight
public static int nheight(long struct)
Unsafe version ofheight().
-
nlayers
public static int nlayers(long struct)
Unsafe version oflayers().
-
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.
-
nrenderPass
public static void nrenderPass(long struct, long value)Unsafe version ofrenderPass.
-
nattachmentCount
public static void nattachmentCount(long struct, int value)Sets the specified value to theattachmentCountfield of the specifiedstruct.
-
npAttachments
public static void npAttachments(long struct, @Nullable java.nio.LongBuffer value)Unsafe version ofpAttachments.
-
nwidth
public static void nwidth(long struct, int value)Unsafe version ofwidth.
-
nheight
public static void nheight(long struct, int value)Unsafe version ofheight.
-
nlayers
public static void nlayers(long struct, int value)Unsafe version oflayers.
-
-