renderArea is the render area that is affected by the render pass instance. The effects of attachment load, store and multisample resolve operations are restricted to the pixels whose x and y coordinates fall within the render area on all attachments. The render area extends to all layers of framebuffer. The application must ensure (using scissor if necessary) that all rendering is contained within the render area. The render area, after any transform specified by VkRenderPassTransformBeginInfoQCOM::transform is applied, must be contained within the framebuffer dimensions.
If render pass transform is enabled, then renderArea must equal the framebuffer pre-transformed dimensions. After renderArea has been transformed by VkRenderPassTransformBeginInfoQCOM::transform, the resulting render area must be equal to the framebuffer dimensions.
If multiview is enabled in renderPass, and multiviewPerViewRenderAreas feature is enabled, and there is an instance of VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM included in the pNext chain with perViewRenderAreaCount not equal to 0, then the elements of VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM::pPerViewRenderAreas override renderArea and define a render area for each view. In this case, renderArea must be set to an area at least as large as the union of all the per-view render areas.
If the subpassShading feature is enabled, then renderArea must equal the framebuffer dimensions.
There may be a performance cost for using a render area smaller than the framebuffer, unless it matches the render area granularity for the render pass.
clearValueCount must be greater than the largest attachment index in renderPass specifying a loadOp (or stencilLoadOp, if the attachment has a depth/stencil format) of ATTACHMENT_LOAD_OP_CLEARclearValueCount is not 0, pClearValues must be a valid pointer to an array of clearValueCount VkClearValue unionsrenderPass must be compatible with the renderPass member of the VkFramebufferCreateInfo structure specified when creating framebufferVkDeviceGroupRenderPassBeginInfo::deviceRenderAreaCount is 0, renderArea.extent.width must be greater than 0VkDeviceGroupRenderPassBeginInfo::deviceRenderAreaCount is 0, renderArea.extent.height must be greater than 0pNext chain does not contain VkDeviceGroupRenderPassBeginInfo or its deviceRenderAreaCount member is equal to 0, renderArea.offset.x must be greater than or equal to 0pNext chain does not contain VkDeviceGroupRenderPassBeginInfo or its deviceRenderAreaCount member is equal to 0, renderArea.offset.y must be greater than or equal to 0pNext chain does not contain VkDeviceGroupRenderPassBeginInfo or its deviceRenderAreaCount member is equal to 0, renderArea.offset.x + renderArea.extent.width must be less than or equal to VkFramebufferCreateInfo::width the framebuffer was created withpNext chain does not contain VkDeviceGroupRenderPassBeginInfo or its deviceRenderAreaCount member is equal to 0, renderArea.offset.y + renderArea.extent.height must be less than or equal to VkFramebufferCreateInfo::height the framebuffer was created withpNext chain contains VkDeviceGroupRenderPassBeginInfo, offset.x + extent.width of each element of pDeviceRenderAreas must be less than or equal to VkFramebufferCreateInfo::width the framebuffer was created withpNext chain contains VkDeviceGroupRenderPassBeginInfo, offset.y + extent.height of each element of pDeviceRenderAreas must be less than or equal to VkFramebufferCreateInfo::height the framebuffer was created withframebuffer was created with a VkFramebufferCreateInfo::flags value that did not include FRAMEBUFFER_CREATE_IMAGELESS_BIT, and the pNext chain includes a VkRenderPassAttachmentBeginInfo structure, its attachmentCount must be zeroframebuffer was created with a VkFramebufferCreateInfo::flags value that included FRAMEBUFFER_CREATE_IMAGELESS_BIT, the attachmentCount of a VkRenderPassAttachmentBeginInfo structure included in the pNext chain must be equal to the value of VkFramebufferAttachmentsCreateInfo::attachmentImageInfoCount used to create framebufferframebuffer was created with a VkFramebufferCreateInfo::flags value that included FRAMEBUFFER_CREATE_IMAGELESS_BIT, each element of the pAttachments member of a VkRenderPassAttachmentBeginInfo structure included in the pNext chain must have been created on the same VkDevice as framebuffer and renderPassframebuffer was created with a VkFramebufferCreateInfo::flags value that included FRAMEBUFFER_CREATE_IMAGELESS_BIT, each element of the pAttachments member of a VkRenderPassAttachmentBeginInfo structure included in the pNext chain must be a VkImageView of an image created with a value of VkImageCreateInfo::flags equal to the flags member of the corresponding element of VkFramebufferAttachmentsCreateInfo::pAttachmentImageInfos used to create framebufferframebuffer was created with a VkFramebufferCreateInfo::flags value that included FRAMEBUFFER_CREATE_IMAGELESS_BIT, each element of the pAttachments member of a VkRenderPassAttachmentBeginInfo structure included in the pNext chain must be a VkImageView with an inherited usage equal to the usage member of the corresponding element of VkFramebufferAttachmentsCreateInfo::pAttachmentImageInfos used to create framebufferframebuffer was created with a VkFramebufferCreateInfo::flags value that included FRAMEBUFFER_CREATE_IMAGELESS_BIT, each element of the pAttachments member of a VkRenderPassAttachmentBeginInfo structure included in the pNext chain must be a VkImageView with a width equal to the width member of the corresponding element of VkFramebufferAttachmentsCreateInfo::pAttachmentImageInfos used to create framebufferframebuffer was created with a VkFramebufferCreateInfo::flags value that included FRAMEBUFFER_CREATE_IMAGELESS_BIT, each element of the pAttachments member of a VkRenderPassAttachmentBeginInfo structure included in the pNext chain must be a VkImageView with a height equal to the height member of the corresponding element of VkFramebufferAttachmentsCreateInfo::pAttachmentImageInfos used to create framebufferframebuffer was created with a VkFramebufferCreateInfo::flags value that included FRAMEBUFFER_CREATE_IMAGELESS_BIT, each element of the pAttachments member of a VkRenderPassAttachmentBeginInfo structure included in the pNext chain must be a VkImageView of an image created with a value of VkImageViewCreateInfo::subresourceRange.layerCount equal to the layerCount member of the corresponding element of VkFramebufferAttachmentsCreateInfo::pAttachmentImageInfos used to create framebufferframebuffer was created with a VkFramebufferCreateInfo::flags value that included FRAMEBUFFER_CREATE_IMAGELESS_BIT, each element of the pAttachments member of a VkRenderPassAttachmentBeginInfo structure included in the pNext chain must be a VkImageView of an image created with a value of VkImageFormatListCreateInfo::viewFormatCount equal to the viewFormatCount member of the corresponding element of VkFramebufferAttachmentsCreateInfo::pAttachmentImageInfos used to create framebufferframebuffer was created with a VkFramebufferCreateInfo::flags value that included FRAMEBUFFER_CREATE_IMAGELESS_BIT, each element of the pAttachments member of a VkRenderPassAttachmentBeginInfo structure included in the pNext chain must be a VkImageView of an image created with a set of elements in VkImageFormatListCreateInfo::pViewFormats equal to the set of elements in the pViewFormats member of the corresponding element of VkFramebufferAttachmentsCreateInfo::pAttachmentImageInfos used to create framebufferframebuffer was created with a VkFramebufferCreateInfo::flags value that included FRAMEBUFFER_CREATE_IMAGELESS_BIT, each element of the pAttachments member of a VkRenderPassAttachmentBeginInfo structure included in the pNext chain must be a VkImageView of an image created with a value of VkImageViewCreateInfo::format equal to the corresponding value of VkAttachmentDescription::format in renderPassframebuffer was created with a VkFramebufferCreateInfo::flags value that included FRAMEBUFFER_CREATE_IMAGELESS_BIT, each element of the pAttachments member of a VkRenderPassAttachmentBeginInfo structure included in the pNext chain must be a VkImageView of an image created with a value of VkImageCreateInfo::samples equal to the corresponding value of VkAttachmentDescription::samples in renderPass , or SAMPLE_COUNT_1_BIT if renderPass was created with VkMultisampledRenderToSingleSampledInfoEXT structure in the pNext chain with multisampledRenderToSingleSampledEnable equal to TRUEpNext chain includes VkRenderPassTransformBeginInfoQCOM, renderArea.offset must equal (0,0)pNext chain includes VkRenderPassTransformBeginInfoQCOM, renderArea.extent transformed by VkRenderPassTransformBeginInfoQCOM::transform must equal the framebuffer dimensionsperViewRenderAreaCount member of a VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM structure included in the pNext chain is not 0, then the multiviewPerViewRenderAreas feature must be enabled.perViewRenderAreaCount member of a VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM structure included in the pNext chain is not 0, then renderArea must specify a render area that includes the union of all per view render areas.sType must be STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFOpNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkDeviceGroupRenderPassBeginInfo, VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM, VkRenderPassAttachmentBeginInfo, VkRenderPassSampleLocationsBeginInfoEXT, or VkRenderPassTransformBeginInfoQCOMsType value of each struct in the pNext chain must be uniquerenderPass must be a valid VkRenderPass handleframebuffer must be a valid VkFramebuffer handleframebuffer, and renderPass must have been created, allocated, or retrieved from the same VkDeviceVkClearValue, VkRect2D, CmdBeginRenderPass, CmdBeginRenderPass2, CmdBeginRenderPass2KHR
struct VkRenderPassBeginInfo {
VkStructureType sType;
void const * pNext;
VkRenderPass renderPass;
VkFramebuffer framebuffer;
VkRect2D renderArea;
uint32_t clearValueCount;
VkClearValue const * pClearValues;
}
| Modifier and Type | Class and Description |
|---|---|
| public static class | VkRenderPassBeginInfo.
An array of |
| Modifier and Type | Field and Description |
|---|---|
| public static final int | ALIGNOF
The struct alignment in bytes. |
| public static final int | CLEARVALUECOUNT
The struct member offsets. |
| public static final int | FRAMEBUFFER
The struct member offsets. |
| public static final int | PCLEARVALUES
The struct member offsets. |
| public static final int | PNEXT
The struct member offsets. |
| public static final int | RENDERAREA
The struct member offsets. |
| public static final int | RENDERPASS
The struct member offsets. |
| public static final int | SIZEOF
The struct size in bytes. |
| public static final int | STYPE
The struct member offsets. |
| Access | Constructor and Description |
|---|---|
| protected | |
| public | VkRenderPassBeginInfo(ByteBuffer container)
Creates a |
| Modifier and Type | Method and Description |
|---|---|
| public static VkRenderPassBeginInfo | |
| public static VkRenderPassBeginInfo. | calloc(int
the buffer capacity capacity)Returns a new |
| public static VkRenderPassBeginInfo | calloc(MemoryStack
the stack from which to allocate stack)Returns a new |
| public static VkRenderPassBeginInfo. | calloc(int
the buffer capacity capacity, MemoryStack the stack from which to allocate stack)Returns a new |
| public static VkRenderPassBeginInfo | |
| public static VkRenderPassBeginInfo | |
| public static VkRenderPassBeginInfo. | |
| public static VkRenderPassBeginInfo. | |
| public int | |
| public VkRenderPassBeginInfo | |
| protected VkRenderPassBeginInfo | create(long
the struct memory address address, ByteBuffer an optional container buffer, to be referenced strongly by the struct instance. container)Implements abstract org. the constructor, but returns the exact type of the Struct subclass.
|
| public static VkRenderPassBeginInfo | |
| public static VkRenderPassBeginInfo | |
| public static VkRenderPassBeginInfo. | create(int
the buffer capacity capacity)Returns a new |
| public static VkRenderPassBeginInfo. | create(long
the memory address address, int the buffer capacity capacity)Create a |
| public static VkRenderPassBeginInfo | |
| public static VkRenderPassBeginInfo. | |
| public long | |
| public VkRenderPassBeginInfo | |
| public static VkRenderPassBeginInfo | |
| public static VkRenderPassBeginInfo. | malloc(int
the buffer capacity capacity)Returns a new |
| public static VkRenderPassBeginInfo | malloc(MemoryStack
the stack from which to allocate stack)Returns a new |
| public static VkRenderPassBeginInfo. | malloc(int
the buffer capacity capacity, MemoryStack the stack from which to allocate stack)Returns a new |
| public static VkRenderPassBeginInfo | |
| public static VkRenderPassBeginInfo | |
| public static VkRenderPassBeginInfo. | |
| public static VkRenderPassBeginInfo. | |
| public static int | |
| public static void | nclearValueCount(long struct, int value)
Sets the specified value to the |
| public static long | |
| public static void | |
| public static VkClearValue. | |
| public static void | |
| public static long | |
| public static void | |
| public static VkRect2D | |
| public static void | |
| public static long | |
| public static void | |
| public static int | |
| public static void | |
| public VkClearValue. | pClearValues()
a pointer to an array of |
| public VkRenderPassBeginInfo | pClearValues(VkClearValue.
Sets the address of the specified |
| public long | |
| public VkRenderPassBeginInfo | |
| public VkRenderPassBeginInfo | pNext(VkDeviceGroupRenderPassBeginInfo value)
Prepends the specified |
| public VkRenderPassBeginInfo | pNext(VkDeviceGroupRenderPassBeginInfoKHR value)
Prepends the specified |
| public VkRenderPassBeginInfo | pNext(VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM value)
Prepends the specified |
| public VkRenderPassBeginInfo | pNext(VkRenderPassAttachmentBeginInfo value)
Prepends the specified |
| public VkRenderPassBeginInfo | pNext(VkRenderPassAttachmentBeginInfoKHR value)
Prepends the specified |
| public VkRenderPassBeginInfo | pNext(VkRenderPassSampleLocationsBeginInfoEXT value)
Prepends the specified |
| public VkRenderPassBeginInfo | pNext(VkRenderPassTransformBeginInfoQCOM value)
Prepends the specified |
| public VkRect2D | renderArea()
the render area that is affected by the render pass instance, and is described in more detail below. |
| public VkRenderPassBeginInfo | |
| public VkRenderPassBeginInfo | |
| public long | |
| public VkRenderPassBeginInfo | |
| public VkRenderPassBeginInfo | set(int sType, long pNext, long renderPass, long framebuffer, VkRect2D renderArea, int clearValueCount, VkClearValue.
Initializes this struct with the specified values. |
| public VkRenderPassBeginInfo | Returns: this structthe source struct src)Copies the specified struct data to this struct. |
| public int | |
| public int | |
| public VkRenderPassBeginInfo | |
| public VkRenderPassBeginInfo |