Class VkFramebufferCreateInfo
- All Implemented Interfaces:
AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
Description
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 the width, height, and layers of the framebuffer to define the dimensions of the rendering area, and the rasterizationSamples from each pipeline’s VkPipelineMultisampleStateCreateInfo to define the number of samples used in rasterization; however, if VkPhysicalDeviceFeatures::variableMultisampleRate is FALSE, then all pipelines to be bound with the subpass must have the same value for VkPipelineMultisampleStateCreateInfo::rasterizationSamples. In all such cases, rasterizationSamples must be a valid VkSampleCountFlagBits value that is set in VkPhysicalDeviceLimits::framebufferNoAttachmentsSampleCounts.
Valid Usage
attachmentCountmust be equal to the attachment count specified inrenderPass- If
flagsdoes not includeFRAMEBUFFER_CREATE_IMAGELESS_BITandattachmentCountis not 0,pAttachmentsmust be a valid pointer to an array ofattachmentCountvalidVkImageViewhandles - If
flagsdoes 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
flagsdoes 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
flagsdoes 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_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 - Each element of
pAttachmentsthat is used as a fragment density map attachment byrenderPassmust not have been created with aflagsvalue includingIMAGE_CREATE_SUBSAMPLED_BIT_EXT - If
renderPasshas a fragment density map attachment and thefragmentDensityMapNonSubsampledImagesfeature 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
flagsdoes not includeFRAMEBUFFER_CREATE_IMAGELESS_BIT, each element ofpAttachmentsmust have been created with aVkFormatvalue that matches theVkFormatspecified by the correspondingVkAttachmentDescriptioninrenderPass - If
flagsdoes not includeFRAMEBUFFER_CREATE_IMAGELESS_BIT, each element ofpAttachmentsmust have been created with asamplesvalue that matches thesamplesvalue specified by the correspondingVkAttachmentDescriptioninrenderPass - If
flagsdoes 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::extent.widthgreater than or equal towidth - If
flagsdoes 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::extent.heightgreater than or equal toheight - If
flagsdoes 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
renderPasswas 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 - Each element of
pAttachmentsthat is referenced byfragmentDensityMapAttachmentmust have alayerCountequal to 1 or ifrenderPasswas specified with non-zero view masks, greater than the index of the most significant bit set in any of those view masks - If
flagsdoes not includeFRAMEBUFFER_CREATE_IMAGELESS_BIT, an element ofpAttachmentsthat is referenced byfragmentDensityMapAttachmentmust have a width at least as large asceil(width / maxFragmentDensityTexelSizewidth) - If
flagsdoes not includeFRAMEBUFFER_CREATE_IMAGELESS_BIT, an element ofpAttachmentsthat is referenced byfragmentDensityMapAttachmentmust have a height at least as large asceil(height / maxFragmentDensityTexelSizeheight) - If
flagsdoes 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
flagsdoes 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 the
maintenance7feature is not enabled or therobustFragmentShadingRateAttachmentAccesslimit isFALSEor theimageViewmember of aVkRenderingFragmentShadingRateAttachmentInfoKHRstructure was created withVkImageSubresourceRange::baseMipLevelgreater than 0,flagsdoes 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 the
maintenance7feature is not enabled or therobustFragmentShadingRateAttachmentAccesslimit isFALSEor theimageViewmember of aVkRenderingFragmentShadingRateAttachmentInfoKHRstructure was created withVkImageSubresourceRange::baseMipLevelgreater than 0,flagsdoes 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
renderPasswas 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
imagelessFramebufferfeature 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
flagsincludesFRAMEBUFFER_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
flagsincludesFRAMEBUFFER_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
flagsincludesFRAMEBUFFER_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
flagsincludesFRAMEBUFFER_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 the
maintenance7feature is not enabled or therobustFragmentShadingRateAttachmentAccesslimit isFALSEor theimageViewmember of aVkRenderingFragmentShadingRateAttachmentInfoKHRstructure was created withVkImageSubresourceRange::baseMipLevelgreater than 0, andflagsincludesFRAMEBUFFER_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 the
maintenance7feature is not enabled or therobustFragmentShadingRateAttachmentAccesslimit isFALSEor theimageViewmember of aVkRenderingFragmentShadingRateAttachmentInfoKHRstructure was created withVkImageSubresourceRange::baseMipLevelgreater than 0, andflagsincludesFRAMEBUFFER_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
flagsincludesFRAMEBUFFER_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
flagsincludesFRAMEBUFFER_CREATE_IMAGELESS_BITandrenderPasswas specified with non-zero view masks, 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 the index of the most significant bit set in any of those view masks - If multiview is enabled for
renderPassandflagsincludesFRAMEBUFFER_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 multiview is not enabled for
renderPassandflagsincludesFRAMEBUFFER_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
flagsincludesFRAMEBUFFER_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
flagsincludesFRAMEBUFFER_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
flagsincludesFRAMEBUFFER_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
flagsincludesFRAMEBUFFER_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
flagsincludesFRAMEBUFFER_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
flagsdoes 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
flagsincludesFRAMEBUFFER_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 - If multisampled-render-to-single-sampled is enabled for any subpass, all color, depth/stencil and input attachments used in that subpass which have
VkAttachmentDescription::samplesorVkAttachmentDescription2::samplesequal toSAMPLE_COUNT_1_BITmust have been created withIMAGE_CREATE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_BIT_EXTin theirVkImageCreateInfo::flags - If multisampled-render-to-single-sampled is enabled for any subpass, all color, depth/stencil and input attachments used in that subpass which have
VkAttachmentDescription::samplesorVkAttachmentDescription2::samplesequal toSAMPLE_COUNT_1_BITmust have a format that supports the sample count specified inVkMultisampledRenderToSingleSampledInfoEXT::rasterizationSamples - If the
nullColorAttachmentWithExternalFormatResolveisFALSE, andflagsdoes not includeFRAMEBUFFER_CREATE_IMAGELESS_BIT, the format of the color attachment for each subpass inrenderPassthat includes an external format image as a resolve attachment must have a format equal to the value ofVkAndroidHardwareBufferFormatResolvePropertiesANDROID::colorAttachmentFormatas returned by a call toGetAndroidHardwareBufferPropertiesANDROIDfor the Android hardware buffer that was used to create the image view use as its resolve attachment - If
flagsdoes not includeFRAMEBUFFER_CREATE_IMAGELESS_BIT, then if an element ofpAttachmentshas a format ofFORMAT_UNDEFINED, it must have been created with aVkExternalFormatANDROID::externalFormatvalue identical to that provided in theVkExternalFormatANDROID::externalFormatspecified by the correspondingVkAttachmentDescription2inrenderPass
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 {
VkStructureType sType();
void const * pNext();
VkFramebufferCreateFlags flags();
VkRenderPass renderPass();
uint32_t attachmentCount();
VkImageView const * pAttachments();
uint32_t width();
uint32_t height();
uint32_t layers();
}-
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
ConstructorsConstructorDescriptionVkFramebufferCreateInfo(ByteBuffer container) Creates aVkFramebufferCreateInfoinstance at the current position of the specifiedByteBuffercontainer. -
Method Summary
Modifier and TypeMethodDescriptionintthe number of attachments.attachmentCount(int value) Sets the specified value to theattachmentCount()field.static VkFramebufferCreateInfocalloc()Returns a newVkFramebufferCreateInfoinstance allocated withmemCalloc.calloc(int capacity) Returns a newVkFramebufferCreateInfo.Bufferinstance allocated withmemCalloc.calloc(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 VkFramebufferCreateInfoDeprecated.callocStack(int capacity) Deprecated.callocStack(int capacity, org.lwjgl.system.MemoryStack stack) Deprecated.static VkFramebufferCreateInfocallocStack(org.lwjgl.system.MemoryStack stack) Deprecated.static VkFramebufferCreateInfocreate()Returns a newVkFramebufferCreateInfoinstance allocated withBufferUtils.create(int capacity) Returns a newVkFramebufferCreateInfo.Bufferinstance allocated withBufferUtils.static VkFramebufferCreateInfocreate(long address) Returns a newVkFramebufferCreateInfoinstance for the specified memory address.create(long address, int capacity) Create aVkFramebufferCreateInfo.Bufferinstance at the specified memory.static @Nullable VkFramebufferCreateInfocreateSafe(long address) static @Nullable VkFramebufferCreateInfo.BuffercreateSafe(long address, int capacity) intflags()a bitmask ofVkFramebufferCreateFlagBitsflags(int value) Sets the specified value to theflags()field.intheight()seewidthheight(int value) Sets the specified value to theheight()field.intlayers()seewidthlayers(int value) Sets the specified value to thelayers()field.static VkFramebufferCreateInfomalloc()Returns a newVkFramebufferCreateInfoinstance allocated withmemAlloc.malloc(int capacity) Returns a newVkFramebufferCreateInfo.Bufferinstance allocated withmemAlloc.malloc(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 VkFramebufferCreateInfoDeprecated.mallocStack(int capacity) Deprecated.mallocStack(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 @Nullable LongBuffernpAttachments(long struct) Unsafe version ofpAttachments.static voidnpAttachments(long struct, @Nullable 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.@Nullable LongBuffera pointer to an array ofVkImageViewhandles, each of which will be used as the corresponding attachment in a render pass instance.pAttachments(@Nullable LongBuffer value) Sets the address of the specifiedLongBufferto thepAttachments()field.longpNext()NULLor a pointer to a structure extending this structure.pNext(long value) Sets the specified value to thepNext()field.Prepends the specifiedVkFramebufferAttachmentsCreateInfovalue to thepNextchain.Prepends the specifiedVkFramebufferAttachmentsCreateInfoKHRvalue to thepNextchain.longa render pass defining what render passes the framebuffer will be compatible with.renderPass(long value) Sets the specified value to therenderPass()field.set(int sType, long pNext, int flags, long renderPass, int attachmentCount, @Nullable LongBuffer pAttachments, int width, int height, int layers) 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_FRAMEBUFFER_CREATE_INFOvalue to thesType()field.intwidth()width,heightandlayersdefine the dimensions of the framebuffer.width(int value) Sets the specified value to thewidth()field.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. -
RENDERPASS
public static final int RENDERPASSThe struct member offsets. -
ATTACHMENTCOUNT
public static final int ATTACHMENTCOUNTThe struct member offsets. -
PATTACHMENTS
public static final int PATTACHMENTSThe struct member offsets. -
WIDTH
public static final int WIDTHThe struct member offsets. -
HEIGHT
public static final int HEIGHTThe struct member offsets. -
LAYERS
public static final int LAYERSThe struct member offsets.
-
-
Constructor Details
-
VkFramebufferCreateInfo
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 Details
-
sizeof
public int sizeof()- Specified by:
sizeofin classorg.lwjgl.system.Struct<VkFramebufferCreateInfo>
-
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 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
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
public int height()seewidth -
layers
public int layers()seewidth -
sType
Sets the specified value to thesType()field. -
sType$Default
Sets theSTRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFOvalue to thesType()field. -
pNext
Sets the specified value to thepNext()field. -
pNext
Prepends the specifiedVkFramebufferAttachmentsCreateInfovalue to thepNextchain. -
pNext
Prepends the specifiedVkFramebufferAttachmentsCreateInfoKHRvalue to thepNextchain. -
flags
Sets the specified value to theflags()field. -
renderPass
Sets the specified value to therenderPass()field. -
attachmentCount
Sets the specified value to theattachmentCount()field. -
pAttachments
Sets the address of the specifiedLongBufferto thepAttachments()field. -
width
Sets the specified value to thewidth()field. -
height
Sets the specified value to theheight()field. -
layers
Sets the specified value to thelayers()field. -
set
public VkFramebufferCreateInfo set(int sType, long pNext, int flags, long renderPass, int attachmentCount, @Nullable LongBuffer pAttachments, int width, int height, int layers) 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 newVkFramebufferCreateInfoinstance allocated withmemAlloc. The instance must be explicitly freed. -
calloc
Returns a newVkFramebufferCreateInfoinstance allocated withmemCalloc. The instance must be explicitly freed. -
create
Returns a newVkFramebufferCreateInfoinstance allocated withBufferUtils. -
create
Returns a newVkFramebufferCreateInfoinstance for the specified memory address. -
createSafe
-
malloc
Returns a newVkFramebufferCreateInfo.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
Returns a newVkFramebufferCreateInfo.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
Returns a newVkFramebufferCreateInfo.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
Create aVkFramebufferCreateInfo.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 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
Returns a newVkFramebufferCreateInfoinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
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:
capacity- the buffer capacitystack- the stack from which to allocate
-
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:
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(). -
nrenderPass
public static long nrenderPass(long struct) Unsafe version ofrenderPass(). -
nattachmentCount
public static int nattachmentCount(long struct) Unsafe version ofattachmentCount(). -
npAttachments
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
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.
-