Class VkFramebufferCreateInfo

All Implemented Interfaces:
AutoCloseable, NativeResource, Pointer

public class VkFramebufferCreateInfo extends Struct<VkFramebufferCreateInfo> implements NativeResource
Structure specifying parameters of a newly created framebuffer.
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 bit value that is set in VkPhysicalDeviceLimits::framebufferNoAttachmentsSampleCounts.

Valid Usage
Valid Usage (Implicit)
  • sType must be STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO
  • pNext must be NULL or a pointer to a valid instance of VkFramebufferAttachmentsCreateInfo
  • The sType value of each struct in the pNext chain must be unique
  • flags must be a valid combination of VkFramebufferCreateFlagBits values
  • renderPass must be a valid VkRenderPass handle
  • Both of renderPass, and the elements of pAttachments that are valid handles of non-ignored parameters must have been created, allocated, or retrieved from the same VkDevice
See Also

CreateFramebuffer

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();
 }