Class VkRenderingInfo
- All Implemented Interfaces:
AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
- Direct Known Subclasses:
VkRenderingInfoKHR
Description
If viewMask is not 0, multiview is enabled.
If there is an instance of VkDeviceGroupRenderPassBeginInfo included in the pNext chain and its deviceRenderAreaCount member is not 0, then renderArea is ignored, and the render area is defined per-device by that structure.
If multiview is enabled, and the 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 an area at least as large as the union of all the per-view render areas.
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 imageView member of any element of pColorAttachments is NULL_HANDLE, and resolveMode is not RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID, writes to the corresponding location by a fragment are discarded.
Valid Usage
- If
viewMaskis 0,layerCountmust not be 0 imageViewmembers ofpDepthAttachment,pStencilAttachment, and elements ofpColorAttachmentsthat are notNULL_HANDLEmust have been created with the samesampleCount, if none of the following are enabled:- The
VK_AMD_mixed_attachment_samplesextension - The
VK_NV_framebuffer_mixed_samplesextension - The
multisampledRenderToSingleSampledfeature,
- The
imageViewmembers of elements ofpColorAttachmentsthat are notNULL_HANDLEmust have been created with the samesampleCount, if themultisampledRenderToSingleSampledfeature is not enabled- If
VkDeviceGroupRenderPassBeginInfo::deviceRenderAreaCountis 0,renderArea.extent.widthmust be greater than 0 - If
VkDeviceGroupRenderPassBeginInfo::deviceRenderAreaCountis 0,renderArea.extent.heightmust be greater than 0 - If multisampled-render-to-single-sampled is enabled, then all attachments referenced by
imageViewmembers ofpDepthAttachment,pStencilAttachment, and elements ofpColorAttachmentsthat are notNULL_HANDLEmust have a sample count that is eitherSAMPLE_COUNT_1_BITor equal toVkMultisampledRenderToSingleSampledInfoEXT::rasterizationSamples - If multisampled-render-to-single-sampled is enabled, then all attachments referenced by
imageViewmembers ofpDepthAttachment,pStencilAttachment, and elements ofpColorAttachmentsthat are notNULL_HANDLEand have a sample count ofSAMPLE_COUNT_1_BITmust have been created withIMAGE_CREATE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_BIT_EXTin theirVkImageCreateInfo::flags - If the
pNextchain does not containVkDeviceGroupRenderPassBeginInfoor itsdeviceRenderAreaCountmember is equal to 0,renderArea.offset.xmust be greater than or equal to 0 - If the
pNextchain does not containVkDeviceGroupRenderPassBeginInfoor itsdeviceRenderAreaCountmember is equal to 0,renderArea.offset.ymust be greater than or equal to 0 - If the
pNextchain does not containVkDeviceGroupRenderPassBeginInfoor itsdeviceRenderAreaCountmember is equal to 0, the sum ofrenderArea.extent.widthandrenderArea.offset.xmust be less than or equal tomaxFramebufferWidth - If the
pNextchain does not containVkDeviceGroupRenderPassBeginInfoor itsdeviceRenderAreaCountmember is equal to 0, the sum ofrenderArea.extent.heightandrenderArea.offset.ymust be less than or equal tomaxFramebufferHeight - If the
pNextchain does not containVkDeviceGroupRenderPassBeginInfoor itsdeviceRenderAreaCountmember is equal to 0, the width of theimageViewmember of any element ofpColorAttachments,pDepthAttachment, orpStencilAttachmentthat is notNULL_HANDLEmust be greater than or equal torenderArea.offset.x + renderArea.extent.width - If the
pNextchain does not containVkDeviceGroupRenderPassBeginInfoor itsdeviceRenderAreaCountmember is equal to 0, the height of theimageViewmember of any element ofpColorAttachments,pDepthAttachment, orpStencilAttachmentthat is notNULL_HANDLEmust be greater than or equal torenderArea.offset.y + renderArea.extent.height - If the
pNextchain containsVkDeviceGroupRenderPassBeginInfo, the width of theimageViewmember of any element ofpColorAttachments,pDepthAttachment, orpStencilAttachmentthat is notNULL_HANDLEmust be greater than or equal to the sum of theoffset.xandextent.widthmembers of each element ofpDeviceRenderAreas - If the
pNextchain containsVkDeviceGroupRenderPassBeginInfo, the height of theimageViewmember of any element ofpColorAttachments,pDepthAttachment, orpStencilAttachmentthat is notNULL_HANDLEmust be greater than or equal to the sum of theoffset.yandextent.heightmembers of each element ofpDeviceRenderAreas - If neither
pDepthAttachmentorpStencilAttachmentareNULLand theimageViewmember of either structure is notNULL_HANDLE, theimageViewmember of each structure must be the same - If neither
pDepthAttachmentorpStencilAttachmentareNULL, and theresolveModemember of each is notRESOLVE_MODE_NONE, theresolveImageViewmember of each structure must be the same - If
colorAttachmentCountis not 0 and theimageViewmember of an element ofpColorAttachmentsis notNULL_HANDLE, thatimageViewmust have been created withIMAGE_USAGE_COLOR_ATTACHMENT_BIT - If
colorAttachmentCountis not 0 and there is an element ofpColorAttachmentswith either itsresolveModemember set toRESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID, or itsimageViewmember notNULL_HANDLE, and itsresolveModemember not set toRESOLVE_MODE_NONE, theresolveImageViewmember of that element ofpColorAttachmentsmust have been created withIMAGE_USAGE_COLOR_ATTACHMENT_BIT - If
pDepthAttachmentis notNULLandpDepthAttachment→imageViewis notNULL_HANDLE,pDepthAttachment→imageViewmust have been created with a format that includes a depth component - If
pDepthAttachmentis notNULLandpDepthAttachment→imageViewis notNULL_HANDLE,pDepthAttachment→imageViewmust have been created withIMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT - If
pDepthAttachmentis notNULLandpDepthAttachment→resolveModeis notRESOLVE_MODE_NONE,pDepthAttachment→resolveImageViewmust have been created withIMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT - If
pStencilAttachmentis notNULLandpStencilAttachment→imageViewis notNULL_HANDLE,pStencilAttachment→imageViewmust have been created with a format that includes a stencil aspect - If
pStencilAttachmentis notNULLandpStencilAttachment→imageViewis notNULL_HANDLE,pStencilAttachment→imageViewmust have been created with a stencil usage includingIMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT - If
pStencilAttachmentis notNULLandpStencilAttachment→resolveModeis notRESOLVE_MODE_NONE,pStencilAttachment→resolveImageViewmust have been created withIMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT - If
colorAttachmentCountis not 0 and theimageViewmember of an element ofpColorAttachmentsis notNULL_HANDLE, thelayoutmember of that element ofpColorAttachmentsmust not beIMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMALorIMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL - If
colorAttachmentCountis not 0 and theimageViewmember of an element ofpColorAttachmentsis notNULL_HANDLE, if theresolveModemember of that element ofpColorAttachmentsis notRESOLVE_MODE_NONE, itsresolveImageLayoutmember must not beIMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMALorIMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL - If
pDepthAttachmentis notNULLandpDepthAttachment→imageViewis notNULL_HANDLE,pDepthAttachment→layoutmust not beIMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL - If
pDepthAttachmentis notNULL,pDepthAttachment→imageViewis notNULL_HANDLE, andpDepthAttachment→resolveModeis notRESOLVE_MODE_NONE,pDepthAttachment→resolveImageLayoutmust not beIMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL - If
pStencilAttachmentis notNULLandpStencilAttachment→imageViewis notNULL_HANDLE,pStencilAttachment→layoutmust not beIMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL - If
pStencilAttachmentis notNULL,pStencilAttachment→imageViewis notNULL_HANDLE, andpStencilAttachment→resolveModeis notRESOLVE_MODE_NONE,pStencilAttachment→resolveImageLayoutmust not beIMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL - If
colorAttachmentCountis not 0 and theimageViewmember of an element ofpColorAttachmentsis notNULL_HANDLE, thelayoutmember of that element ofpColorAttachmentsmust not beIMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMALorIMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL - If
colorAttachmentCountis not 0 and theimageViewmember of an element ofpColorAttachmentsis notNULL_HANDLE, if theresolveModemember of that element ofpColorAttachmentsis notRESOLVE_MODE_NONE, itsresolveImageLayoutmember must not beIMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMALorIMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL - If
pDepthAttachmentis notNULL,pDepthAttachment→imageViewis notNULL_HANDLE, andpDepthAttachment→resolveModeis notRESOLVE_MODE_NONE,pDepthAttachment→resolveImageLayoutmust not beIMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL - If
pStencilAttachmentis notNULL,pStencilAttachment→imageViewis notNULL_HANDLE, andpStencilAttachment→resolveModeis notRESOLVE_MODE_NONE,pStencilAttachment→resolveImageLayoutmust not beIMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL - If
colorAttachmentCountis not 0 and theimageViewmember of an element ofpColorAttachmentsis notNULL_HANDLE, thelayoutmember of that element ofpColorAttachmentsmust not beIMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL,IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL,IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL, orIMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL - If
colorAttachmentCountis not 0 and theimageViewmember of an element ofpColorAttachmentsis notNULL_HANDLE, if theresolveModemember of that element ofpColorAttachmentsis notRESOLVE_MODE_NONE, itsresolveImageLayoutmember 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
pDepthAttachmentis notNULLandpDepthAttachment→imageViewis notNULL_HANDLE,pDepthAttachment→layoutmust not beIMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMALorIMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL - If
pDepthAttachmentis notNULL,pDepthAttachment→imageViewis notNULL_HANDLE, andpDepthAttachment→resolveModeis notRESOLVE_MODE_NONE,pDepthAttachment→resolveImageLayoutmust not beIMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMALorIMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL - If
pStencilAttachmentis notNULLandpStencilAttachment→imageViewis notNULL_HANDLE,pStencilAttachment→layoutmust not beIMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMALorIMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL - If
pStencilAttachmentis notNULL,pStencilAttachment→imageViewis notNULL_HANDLE, andpStencilAttachment→resolveModeis notRESOLVE_MODE_NONE,pStencilAttachment→resolveImageLayoutmust not beIMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMALorIMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL - If
pDepthAttachmentis notNULLandpDepthAttachment→imageViewis notNULL_HANDLE,pDepthAttachment→resolveModemust be one of the bits set inVkPhysicalDeviceDepthStencilResolveProperties::supportedDepthResolveModes - If
pStencilAttachmentis notNULLandpStencilAttachment→imageViewis notNULL_HANDLE,pStencilAttachment→resolveModemust be one of the bits set inVkPhysicalDeviceDepthStencilResolveProperties::supportedStencilResolveModes - If
pDepthAttachmentorpStencilAttachmentare both notNULL,pDepthAttachment→imageViewandpStencilAttachment→imageVieware both notNULL_HANDLE, andVkPhysicalDeviceDepthStencilResolveProperties::independentResolveNoneisFALSE, theresolveModeof both structures must be the same value - If
pDepthAttachmentorpStencilAttachmentare both notNULL,pDepthAttachment→imageViewandpStencilAttachment→imageVieware both notNULL_HANDLE,VkPhysicalDeviceDepthStencilResolveProperties::independentResolveisFALSE, and theresolveModeof neither structure isRESOLVE_MODE_NONE, theresolveModeof both structures must be the same value colorAttachmentCountmust be less than or equal toVkPhysicalDeviceLimits::maxColorAttachments- If the
imageViewmember of aVkRenderingFragmentDensityMapAttachmentInfoEXTstructure included in thepNextchain is notNULL_HANDLE, and thefragmentDensityMapNonSubsampledImagesfeature is not enabled, validimageViewandresolveImageViewmembers ofpDepthAttachment,pStencilAttachment, and each element ofpColorAttachmentsmust be aVkImageViewcreated withIMAGE_CREATE_SUBSAMPLED_BIT_EXT - If the
imageViewmember of aVkRenderingFragmentDensityMapAttachmentInfoEXTstructure included in thepNextchain is notNULL_HANDLE, andviewMaskis not 0,imageViewmust have alayerCountgreater than or equal to the index of the most significant bit inviewMask - If the
imageViewmember of aVkRenderingFragmentDensityMapAttachmentInfoEXTstructure included in thepNextchain is notNULL_HANDLE, andviewMaskis 0,imageViewmust have alayerCountequal to 1 - If the
pNextchain does not containVkDeviceGroupRenderPassBeginInfoor itsdeviceRenderAreaCountmember is equal to 0 and theimageViewmember of aVkRenderingFragmentDensityMapAttachmentInfoEXTstructure included in thepNextchain is notNULL_HANDLE,imageViewmust have a width greater than or equal toceil((renderAreax+renderAreawidth) / maxFragmentDensityTexelSizewidth) - If the
pNextchain does not containVkDeviceGroupRenderPassBeginInfoor itsdeviceRenderAreaCountmember is equal to 0 and theimageViewmember of aVkRenderingFragmentDensityMapAttachmentInfoEXTstructure included in thepNextchain is notNULL_HANDLE,imageViewmust have a height greater than or equal toceil((renderAreay+renderAreaheight) / maxFragmentDensityTexelSizeheight) - If the
pNextchain contains aVkDeviceGroupRenderPassBeginInfostructure, itsdeviceRenderAreaCountmember is not 0, and theimageViewmember of aVkRenderingFragmentDensityMapAttachmentInfoEXTstructure included in thepNextchain is notNULL_HANDLE,imageViewmust have a width greater than or equal toceil((pDeviceRenderAreasx+pDeviceRenderAreaswidth) / maxFragmentDensityTexelSizewidth)for each element ofpDeviceRenderAreas - If the
pNextchain contains aVkDeviceGroupRenderPassBeginInfostructure, itsdeviceRenderAreaCountmember is not 0, and theimageViewmember of aVkRenderingFragmentDensityMapAttachmentInfoEXTstructure included in thepNextchain is notNULL_HANDLE,imageViewmust have a height greater than or equal toceil((pDeviceRenderAreasy+pDeviceRenderAreasheight) / maxFragmentDensityTexelSizeheight)for each element ofpDeviceRenderAreas - If the
imageViewmember of aVkRenderingFragmentDensityMapAttachmentInfoEXTstructure included in thepNextchain is notNULL_HANDLE, it must not be equal to theimageVieworresolveImageViewmember ofpDepthAttachment,pStencilAttachment, or any element ofpColorAttachments - If the
maintenance7feature is not enabled or therobustFragmentShadingRateAttachmentAccesslimit isFALSEor theimageViewmember of aVkRenderingFragmentShadingRateAttachmentInfoKHRstructure was created withVkImageSubresourceRange::baseMipLevelgreater than 0, thepNextchain does not containVkDeviceGroupRenderPassBeginInfoor itsdeviceRenderAreaCountmember is equal to 0, and theimageViewmember of aVkRenderingFragmentShadingRateAttachmentInfoKHRstructure included in thepNextchain is notNULL_HANDLE,imageViewmust have a width greater than or equal toceil((renderAreax+renderAreawidth) / shadingRateAttachmentTexelSizewidth) - If the
maintenance7feature is not enabled or therobustFragmentShadingRateAttachmentAccesslimit isFALSEor theimageViewmember of aVkRenderingFragmentShadingRateAttachmentInfoKHRstructure was created withVkImageSubresourceRange::baseMipLevelgreater than 0, thepNextchain does not containVkDeviceGroupRenderPassBeginInfoor itsdeviceRenderAreaCountmember is equal to 0 and theimageViewmember of aVkRenderingFragmentShadingRateAttachmentInfoKHRstructure included in thepNextchain is notNULL_HANDLE,imageViewmust have a height greater than or equal toceil((renderAreay+renderAreaheight) / shadingRateAttachmentTexelSizeheight) - If the
maintenance7feature is not enabled or therobustFragmentShadingRateAttachmentAccesslimit isFALSEor theimageViewmember of aVkRenderingFragmentShadingRateAttachmentInfoKHRstructure was created withVkImageSubresourceRange::baseMipLevelgreater than 0, thepNextchain contains aVkDeviceGroupRenderPassBeginInfostructure, itsdeviceRenderAreaCountmember is not 0, and theimageViewmember of aVkRenderingFragmentShadingRateAttachmentInfoKHRstructure included in thepNextchain is notNULL_HANDLE,imageViewmust have a width greater than or equal toceil((pDeviceRenderAreasx+pDeviceRenderAreaswidth) / shadingRateAttachmentTexelSizewidth)for each element ofpDeviceRenderAreas - If the
maintenance7feature is not enabled or therobustFragmentShadingRateAttachmentAccesslimit isFALSEor theimageViewmember of aVkRenderingFragmentShadingRateAttachmentInfoKHRstructure was created withVkImageSubresourceRange::baseMipLevelgreater than 0, thepNextchain contains aVkDeviceGroupRenderPassBeginInfostructure, itsdeviceRenderAreaCountmember is not 0, and theimageViewmember of aVkRenderingFragmentShadingRateAttachmentInfoKHRstructure included in thepNextchain is notNULL_HANDLE,imageViewmust have a height greater than or equal toceil((pDeviceRenderAreasy+pDeviceRenderAreasheight) / shadingRateAttachmentTexelSizeheight)for each element ofpDeviceRenderAreas layerCountmust be less than or equal tomaxFramebufferLayers- If the
imageViewmember of aVkRenderingFragmentShadingRateAttachmentInfoKHRstructure included in thepNextchain is notNULL_HANDLE, andviewMaskis 0,imageViewmust have alayerCountthat is either equal to 1 or greater than or equal tolayerCount - If the
imageViewmember of aVkRenderingFragmentShadingRateAttachmentInfoKHRstructure included in thepNextchain is notNULL_HANDLE, andviewMaskis not 0,imageViewmust have alayerCountthat either equal to 1 or greater than or equal to the index of the most significant bit inviewMask - If the
imageViewmember of aVkRenderingFragmentShadingRateAttachmentInfoKHRstructure included in thepNextchain is notNULL_HANDLE, it must not be equal to theimageVieworresolveImageViewmember ofpDepthAttachment,pStencilAttachment, or any element ofpColorAttachments - If the
imageViewmember of aVkRenderingFragmentShadingRateAttachmentInfoKHRstructure included in thepNextchain is notNULL_HANDLE, it must not be equal to theimageViewmember of aVkRenderingFragmentDensityMapAttachmentInfoEXTstructure included in thepNextchain - If the
multiviewfeature is not enabled,viewMaskmust be 0 - The index of the most significant bit in
viewMaskmust be less thanmaxMultiviewViewCount - If the
perViewRenderAreaCountmember of aVkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOMstructure included in thepNextchain is not 0, then themultiviewPerViewRenderAreasfeature must be enabled - If the
perViewRenderAreaCountmember of aVkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOMstructure included in thepNextchain is not 0, thenrenderAreamust specify a render area that includes the union of all per view render areas - Valid attachments specified by this structure must not be bound to memory locations that are bound to any other valid attachments specified by this structure
- If
flagsincludesRENDERING_CONTENTS_INLINE_BIT_KHRthen at least one of the following features must be enabled pDepthAttachment→resolveModemust not beRESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROIDpStencilAttachment→resolveModemust not beRESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID- If
colorAttachmentCountis not 1, theresolveModemember of any element ofpColorAttachmentsmust not beRESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID - If the
resolveModeof any element ofpColorAttachmentsisRESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID,VkRenderingFragmentDensityMapAttachmentInfoEXT::imageViewmust beNULL_HANDLE - If the
resolveModeof any element ofpColorAttachmentsisRESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID,VkRenderingFragmentShadingRateAttachmentInfoKHR::imageViewmust beNULL_HANDLE - If the
pNextchain contains aVkRenderPassStripeBeginInfoARMstructure, the union of stripe areas defined by the elements ofVkRenderPassStripeInfoARM::pStripeInfosmust cover therenderArea - If
colorAttachmentCountis not 0 and theimageViewmember of an element ofpColorAttachmentsis notNULL_HANDLE, thatimageViewmust have been created with the identity swizzle - If
colorAttachmentCountis not 0, and there is an element ofpColorAttachmentswith either itsresolveModemember set toRESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID, or itsimageViewmember not set toNULL_HANDLEand itsresolveModemember not set toRESOLVE_MODE_NONE, theresolveImageViewmember of that element ofpColorAttachmentsmust have been created with the identity swizzle - If
pDepthAttachmentis notNULLandpDepthAttachment→imageViewis notNULL_HANDLE,pDepthAttachment→imageViewmust have been created with the identity swizzle - If
pDepthAttachmentis notNULL,pDepthAttachment→imageViewis notNULL_HANDLE, andpDepthAttachment→resolveModeis notRESOLVE_MODE_NONE,pDepthAttachment→resolveImageViewmust have been created with the identity swizzle - If
pStencilAttachmentis notNULLandpStencilAttachment→imageViewis notNULL_HANDLE,pStencilAttachment→imageViewmust have been created with the identity swizzle - If
pStencilAttachmentis notNULL,pStencilAttachment→imageViewis notNULL_HANDLE, andpStencilAttachment→resolveModeis notRESOLVE_MODE_NONE,pStencilAttachment→resolveImageViewmust have been created with the identity swizzle - If the
imageViewmember of aVkRenderingFragmentShadingRateAttachmentInfoKHRstructure included in thepNextchain is notNULL_HANDLE, it must have been created with the identity swizzle - If the
imageViewmember of aVkRenderingFragmentDensityMapAttachmentInfoEXTstructure included in thepNextchain is notNULL_HANDLE, it must have been created with the identity swizzle
Valid Usage (Implicit)
sTypemust beSTRUCTURE_TYPE_RENDERING_INFO- Each
pNextmember of any structure (including this one) in thepNextchain must be eitherNULLor a pointer to a valid instance ofVkDeviceGroupRenderPassBeginInfo,VkMultisampledRenderToSingleSampledInfoEXT,VkMultiviewPerViewAttributesInfoNVX,VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM,VkRenderPassStripeBeginInfoARM,VkRenderingFragmentDensityMapAttachmentInfoEXT, orVkRenderingFragmentShadingRateAttachmentInfoKHR - The
sTypevalue of each struct in thepNextchain must be unique flagsmust be a valid combination ofVkRenderingFlagBitsvalues- If
colorAttachmentCountis not 0,pColorAttachmentsmust be a valid pointer to an array ofcolorAttachmentCountvalidVkRenderingAttachmentInfostructures - If
pDepthAttachmentis notNULL,pDepthAttachmentmust be a valid pointer to a validVkRenderingAttachmentInfostructure - If
pStencilAttachmentis notNULL,pStencilAttachmentmust be a valid pointer to a validVkRenderingAttachmentInfostructure
See Also
VkRect2D, VkRenderingAttachmentInfo, CmdBeginRendering, CmdBeginRenderingKHR, GetDynamicRenderingTilePropertiesQCOM
Layout
struct VkRenderingInfo {
VkStructureType sType();
void const * pNext();
VkRenderingFlags flags();
VkRect2D renderArea();
uint32_t layerCount();
uint32_t viewMask();
uint32_t colorAttachmentCount();
VkRenderingAttachmentInfo const * pColorAttachments();
VkRenderingAttachmentInfo const * pDepthAttachment();
VkRenderingAttachmentInfo const * pStencilAttachment();
}-
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 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
ConstructorsConstructorDescriptionVkRenderingInfo(ByteBuffer container) Creates aVkRenderingInfoinstance at the current position of the specifiedByteBuffercontainer. -
Method Summary
Modifier and TypeMethodDescriptionstatic VkRenderingInfocalloc()Returns a newVkRenderingInfoinstance allocated withmemCalloc.static VkRenderingInfo.Buffercalloc(int capacity) Returns a newVkRenderingInfo.Bufferinstance allocated withmemCalloc.static VkRenderingInfo.Buffercalloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkRenderingInfo.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkRenderingInfocalloc(org.lwjgl.system.MemoryStack stack) Returns a newVkRenderingInfoinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.intthe number of elements inpColorAttachments.static VkRenderingInfocreate()Returns a newVkRenderingInfoinstance allocated withBufferUtils.static VkRenderingInfo.Buffercreate(int capacity) Returns a newVkRenderingInfo.Bufferinstance allocated withBufferUtils.static VkRenderingInfocreate(long address) Returns a newVkRenderingInfoinstance for the specified memory address.static VkRenderingInfo.Buffercreate(long address, int capacity) Create aVkRenderingInfo.Bufferinstance at the specified memory.static @Nullable VkRenderingInfocreateSafe(long address) static @Nullable VkRenderingInfo.BuffercreateSafe(long address, int capacity) intflags()a bitmask ofVkRenderingFlagBits.flags(int value) Sets the specified value to theflags()field.intthe number of layers rendered to in each attachment whenviewMaskis 0.layerCount(int value) Sets the specified value to thelayerCount()field.static VkRenderingInfomalloc()Returns a newVkRenderingInfoinstance allocated withmemAlloc.static VkRenderingInfo.Buffermalloc(int capacity) Returns a newVkRenderingInfo.Bufferinstance allocated withmemAlloc.static VkRenderingInfo.Buffermalloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkRenderingInfo.Bufferinstance allocated on the specifiedMemoryStack.static VkRenderingInfomalloc(org.lwjgl.system.MemoryStack stack) Returns a newVkRenderingInfoinstance allocated on the specifiedMemoryStack.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 intnlayerCount(long struct) Unsafe version oflayerCount().static voidnlayerCount(long struct, int value) Unsafe version oflayerCount.static @Nullable VkRenderingAttachmentInfo.BuffernpColorAttachments(long struct) Unsafe version ofpColorAttachments().static voidnpColorAttachments(long struct, @Nullable VkRenderingAttachmentInfo.Buffer value) Unsafe version ofpColorAttachments.static @Nullable VkRenderingAttachmentInfonpDepthAttachment(long struct) Unsafe version ofpDepthAttachment().static voidnpDepthAttachment(long struct, @Nullable VkRenderingAttachmentInfo value) Unsafe version ofpDepthAttachment.static longnpNext(long struct) Unsafe version ofpNext().static voidnpNext(long struct, long value) Unsafe version ofpNext.static @Nullable VkRenderingAttachmentInfonpStencilAttachment(long struct) Unsafe version ofpStencilAttachment().static voidnpStencilAttachment(long struct, @Nullable VkRenderingAttachmentInfo value) Unsafe version ofpStencilAttachment.static VkRect2DnrenderArea(long struct) Unsafe version ofrenderArea().static voidnrenderArea(long struct, VkRect2D value) Unsafe version ofrenderArea.static intnsType(long struct) Unsafe version ofsType().static voidnsType(long struct, int value) Unsafe version ofsType.static intnviewMask(long struct) Unsafe version ofviewMask().static voidnviewMask(long struct, int value) Unsafe version ofviewMask.@Nullable VkRenderingAttachmentInfo.Buffera pointer to an array ofcolorAttachmentCountVkRenderingAttachmentInfostructures describing any color attachments used.pColorAttachments(@Nullable VkRenderingAttachmentInfo.Buffer value) Sets the address of the specifiedVkRenderingAttachmentInfo.Bufferto thepColorAttachments()field.@Nullable VkRenderingAttachmentInfoa pointer to aVkRenderingAttachmentInfostructure describing a depth attachment.pDepthAttachment(@Nullable VkRenderingAttachmentInfo value) Sets the address of the specifiedVkRenderingAttachmentInfoto thepDepthAttachment()field.longpNext()NULLor a pointer to a structure extending this structure.pNext(long value) Sets the specified value to thepNext()field.Prepends the specifiedVkDeviceGroupRenderPassBeginInfovalue to thepNextchain.Prepends the specifiedVkDeviceGroupRenderPassBeginInfoKHRvalue to thepNextchain.Prepends the specifiedVkMultisampledRenderToSingleSampledInfoEXTvalue to thepNextchain.Prepends the specifiedVkMultiviewPerViewAttributesInfoNVXvalue to thepNextchain.Prepends the specifiedVkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOMvalue to thepNextchain.Prepends the specifiedVkRenderingFragmentDensityMapAttachmentInfoEXTvalue to thepNextchain.Prepends the specifiedVkRenderingFragmentShadingRateAttachmentInfoKHRvalue to thepNextchain.Prepends the specifiedVkRenderPassStripeBeginInfoARMvalue to thepNextchain.@Nullable VkRenderingAttachmentInfoa pointer to aVkRenderingAttachmentInfostructure describing a stencil attachment.pStencilAttachment(@Nullable VkRenderingAttachmentInfo value) Sets the address of the specifiedVkRenderingAttachmentInfoto thepStencilAttachment()field.the render area that is affected by the render pass instance.renderArea(Consumer<VkRect2D> consumer) Passes therenderArea()field to the specifiedConsumer.renderArea(VkRect2D value) Copies the specifiedVkRect2Dto therenderArea()field.set(int sType, long pNext, int flags, VkRect2D renderArea, int layerCount, int viewMask, @Nullable VkRenderingAttachmentInfo.Buffer pColorAttachments, @Nullable VkRenderingAttachmentInfo pDepthAttachment, @Nullable VkRenderingAttachmentInfo pStencilAttachment) Initializes this struct with the specified values.set(VkRenderingInfo src) 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_RENDERING_INFOvalue to thesType()field.static voidvalidate(long struct) Validates pointer members that should not beNULL.intviewMask()the view mask indicating the indices of attachment layers that will be rendered when it is not 0.viewMask(int value) Sets the specified value to theviewMask()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. -
RENDERAREA
public static final int RENDERAREAThe struct member offsets. -
LAYERCOUNT
public static final int LAYERCOUNTThe struct member offsets. -
VIEWMASK
public static final int VIEWMASKThe struct member offsets. -
COLORATTACHMENTCOUNT
public static final int COLORATTACHMENTCOUNTThe struct member offsets. -
PCOLORATTACHMENTS
public static final int PCOLORATTACHMENTSThe struct member offsets. -
PDEPTHATTACHMENT
public static final int PDEPTHATTACHMENTThe struct member offsets. -
PSTENCILATTACHMENT
public static final int PSTENCILATTACHMENTThe struct member offsets.
-
-
Constructor Details
-
VkRenderingInfo
Creates aVkRenderingInfoinstance 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<VkRenderingInfo>
-
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 ofVkRenderingFlagBits. -
renderArea
the render area that is affected by the render pass instance. -
layerCount
public int layerCount()the number of layers rendered to in each attachment whenviewMaskis 0. -
viewMask
public int viewMask()the view mask indicating the indices of attachment layers that will be rendered when it is not 0. -
colorAttachmentCount
public int colorAttachmentCount()the number of elements inpColorAttachments. -
pColorAttachments
a pointer to an array ofcolorAttachmentCountVkRenderingAttachmentInfostructures describing any color attachments used. -
pDepthAttachment
a pointer to aVkRenderingAttachmentInfostructure describing a depth attachment. -
pStencilAttachment
a pointer to aVkRenderingAttachmentInfostructure describing a stencil attachment. -
sType
Sets the specified value to thesType()field. -
sType$Default
Sets theSTRUCTURE_TYPE_RENDERING_INFOvalue to thesType()field. -
pNext
Sets the specified value to thepNext()field. -
pNext
Prepends the specifiedVkDeviceGroupRenderPassBeginInfovalue to thepNextchain. -
pNext
Prepends the specifiedVkDeviceGroupRenderPassBeginInfoKHRvalue to thepNextchain. -
pNext
Prepends the specifiedVkMultisampledRenderToSingleSampledInfoEXTvalue to thepNextchain. -
pNext
Prepends the specifiedVkMultiviewPerViewAttributesInfoNVXvalue to thepNextchain. -
pNext
Prepends the specifiedVkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOMvalue to thepNextchain. -
pNext
Prepends the specifiedVkRenderPassStripeBeginInfoARMvalue to thepNextchain. -
pNext
Prepends the specifiedVkRenderingFragmentDensityMapAttachmentInfoEXTvalue to thepNextchain. -
pNext
Prepends the specifiedVkRenderingFragmentShadingRateAttachmentInfoKHRvalue to thepNextchain. -
flags
Sets the specified value to theflags()field. -
renderArea
Copies the specifiedVkRect2Dto therenderArea()field. -
renderArea
Passes therenderArea()field to the specifiedConsumer. -
layerCount
Sets the specified value to thelayerCount()field. -
viewMask
Sets the specified value to theviewMask()field. -
pColorAttachments
Sets the address of the specifiedVkRenderingAttachmentInfo.Bufferto thepColorAttachments()field. -
pDepthAttachment
Sets the address of the specifiedVkRenderingAttachmentInfoto thepDepthAttachment()field. -
pStencilAttachment
Sets the address of the specifiedVkRenderingAttachmentInfoto thepStencilAttachment()field. -
set
public VkRenderingInfo set(int sType, long pNext, int flags, VkRect2D renderArea, int layerCount, int viewMask, @Nullable VkRenderingAttachmentInfo.Buffer pColorAttachments, @Nullable VkRenderingAttachmentInfo pDepthAttachment, @Nullable VkRenderingAttachmentInfo pStencilAttachment) 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 newVkRenderingInfoinstance allocated withmemAlloc. The instance must be explicitly freed. -
calloc
Returns a newVkRenderingInfoinstance allocated withmemCalloc. The instance must be explicitly freed. -
create
Returns a newVkRenderingInfoinstance allocated withBufferUtils. -
create
Returns a newVkRenderingInfoinstance for the specified memory address. -
createSafe
-
malloc
Returns a newVkRenderingInfo.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
Returns a newVkRenderingInfo.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
Returns a newVkRenderingInfo.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
Create aVkRenderingInfo.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
-
malloc
Returns a newVkRenderingInfoinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
Returns a newVkRenderingInfoinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
malloc
Returns a newVkRenderingInfo.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
calloc
Returns a newVkRenderingInfo.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(). -
nrenderArea
Unsafe version ofrenderArea(). -
nlayerCount
public static int nlayerCount(long struct) Unsafe version oflayerCount(). -
nviewMask
public static int nviewMask(long struct) Unsafe version ofviewMask(). -
ncolorAttachmentCount
public static int ncolorAttachmentCount(long struct) Unsafe version ofcolorAttachmentCount(). -
npColorAttachments
Unsafe version ofpColorAttachments(). -
npDepthAttachment
Unsafe version ofpDepthAttachment(). -
npStencilAttachment
Unsafe version ofpStencilAttachment(). -
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. -
nrenderArea
Unsafe version ofrenderArea. -
nlayerCount
public static void nlayerCount(long struct, int value) Unsafe version oflayerCount. -
nviewMask
public static void nviewMask(long struct, int value) Unsafe version ofviewMask. -
ncolorAttachmentCount
public static void ncolorAttachmentCount(long struct, int value) Sets the specified value to thecolorAttachmentCountfield of the specifiedstruct. -
npColorAttachments
public static void npColorAttachments(long struct, @Nullable VkRenderingAttachmentInfo.Buffer value) Unsafe version ofpColorAttachments. -
npDepthAttachment
Unsafe version ofpDepthAttachment. -
npStencilAttachment
Unsafe version ofpStencilAttachment. -
validate
public static void validate(long struct) Validates pointer members that should not beNULL.- Parameters:
struct- the struct to validate
-