Diligent Engine
 
Loading...
Searching...
No Matches
Diligent::SubpassDesc Struct Reference

Render pass subpass description. More...

#include <RenderPass.h>

Public Member Functions

constexpr bool operator== (const SubpassDesc &RHS) const
 Tests if two structures are equivalent.
 

Public Attributes

Uint32 InputAttachmentCount = 0
 The number of input attachments the subpass uses.
 
const AttachmentReferencepInputAttachments = nullptr
 Pointer to the array of input attachments, see Diligent::AttachmentReference.
 
Uint32 RenderTargetAttachmentCount = 0
 The number of color render target attachments.
 
const AttachmentReferencepRenderTargetAttachments = nullptr
 Pointer to the array of color render target attachments, see Diligent::AttachmentReference.
 
const AttachmentReferencepResolveAttachments = nullptr
 Pointer to the array of resolve attachments, see Diligent::AttachmentReference.
 
const AttachmentReferencepDepthStencilAttachment = nullptr
 Pointer to the depth-stencil attachment, see Diligent::AttachmentReference.
 
Uint32 PreserveAttachmentCount = 0
 The number of preserve attachments.
 
const Uint32pPreserveAttachments = nullptr
 Pointer to the array of preserve attachments, see Diligent::AttachmentReference.
 
const ShadingRateAttachmentpShadingRateAttachment = nullptr
 Pointer to the shading rate attachment, see Diligent::ShadingRateAttachment.
 

Detailed Description

Render pass subpass description.

Member Function Documentation

◆ operator==()

bool Diligent::SubpassDesc::operator== ( const SubpassDesc & RHS) const
inlineconstexpr

Tests if two structures are equivalent.

Parameters
[in]RHS- reference to the structure to perform comparison with
Returns
  • True if all members of the two structures are equal.
  • False otherwise

Member Data Documentation

◆ pRenderTargetAttachments

const AttachmentReference* Diligent::SubpassDesc::pRenderTargetAttachments = nullptr

Pointer to the array of color render target attachments, see Diligent::AttachmentReference.

Each element of the pRenderTargetAttachments array corresponds to an output in the pixel shader, i.e. if the shader declares an output variable decorated with a render target index X, then it uses the attachment provided in pRenderTargetAttachments[X]. If the attachment index is ATTACHMENT_UNUSED, writes to this render target are ignored.

◆ pResolveAttachments

const AttachmentReference* Diligent::SubpassDesc::pResolveAttachments = nullptr

Pointer to the array of resolve attachments, see Diligent::AttachmentReference.

If pResolveAttachments is not NULL, each of its elements corresponds to a render target attachment (the element in pRenderTargetAttachments at the same index), and a multisample resolve operation is defined for each attachment. At the end of each subpass, multisample resolve operations read the subpass's color attachments, and resolve the samples for each pixel within the render area to the same pixel location in the corresponding resolve attachments, unless the resolve attachment index is ATTACHMENT_UNUSED.