UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FGraphicsPipelineStateInitializer Class Reference

#include <RHIResources.h>

Public Types

enum class  EPSOPrecacheCompileType : uint8 {
  NotSet = 0 , MinPri = 1 , NormalPri = 2 , MaxPri = 3 ,
  NumTypes = 4
}
 
using TRenderTargetFormats = TStaticArray< uint8, MaxSimultaneousRenderTargets >
 
using TRenderTargetFlags = TStaticArray< ETextureCreateFlags, MaxSimultaneousRenderTargets >
 

Public Member Functions

 FGraphicsPipelineStateInitializer ()
 
 FGraphicsPipelineStateInitializer (FBoundShaderStateInput InBoundShaderState, FRHIBlendState *InBlendState, FRHIRasterizerState *InRasterizerState, FRHIDepthStencilState *InDepthStencilState, FImmutableSamplerState InImmutableSamplerState, EPrimitiveType InPrimitiveType, uint32 InRenderTargetsEnabled, const TRenderTargetFormats &InRenderTargetFormats, const TRenderTargetFlags &InRenderTargetFlags, EPixelFormat InDepthStencilTargetFormat, ETextureCreateFlags InDepthStencilTargetFlag, ERenderTargetLoadAction InDepthTargetLoadAction, ERenderTargetStoreAction InDepthTargetStoreAction, ERenderTargetLoadAction InStencilTargetLoadAction, ERenderTargetStoreAction InStencilTargetStoreAction, FExclusiveDepthStencil InDepthStencilAccess, uint16 InNumSamples, ESubpassHint InSubpassHint, uint8 InSubpassIndex, EConservativeRasterization InConservativeRasterization, uint16 InFlags, bool bInDepthBounds, uint8 InMultiViewCount, bool bInHasFragmentDensityAttachment, bool bInAllowVariableRateShading, EVRSShadingRate InShadingRate)
 
bool operator== (const FGraphicsPipelineStateInitializer &rhs) const
 
uint32 ComputeNumValidRenderTargets () const
 
void SetPSOPrecacheCompileType (EPSOPrecacheCompileType PrecacheCompileTypeIN)
 
EPSOPrecacheCompileType GetPSOPrecacheCompileType () const
 

Static Public Member Functions

static bool RelevantRenderTargetFlagsEqual (const TRenderTargetFlags &A, const TRenderTargetFlags &B)
 
static bool RelevantDepthStencilFlagsEqual (const ETextureCreateFlags A, const ETextureCreateFlags B)
 

Public Attributes

FBoundShaderStateInput BoundShaderState
 
FRHIBlendStateBlendState
 
FRHIRasterizerStateRasterizerState
 
FRHIDepthStencilStateDepthStencilState
 
FImmutableSamplerState ImmutableSamplerState
 
EPrimitiveType PrimitiveType
 
uint32 RenderTargetsEnabled
 
TRenderTargetFormats RenderTargetFormats
 
TRenderTargetFlags RenderTargetFlags
 
EPixelFormat DepthStencilTargetFormat
 
ETextureCreateFlags DepthStencilTargetFlag
 
ERenderTargetLoadAction DepthTargetLoadAction
 
ERenderTargetStoreAction DepthTargetStoreAction
 
ERenderTargetLoadAction StencilTargetLoadAction
 
ERenderTargetStoreAction StencilTargetStoreAction
 
FExclusiveDepthStencil DepthStencilAccess
 
uint16 NumSamples
 
ESubpassHint SubpassHint
 
uint8 SubpassIndex
 
EConservativeRasterization ConservativeRasterization
 
bool bDepthBounds
 
uint8 MultiViewCount
 
bool bHasFragmentDensityAttachment
 
bool bAllowVariableRateShading
 
EVRSShadingRate ShadingRate
 
union { 
 
   struct { 
 
      uint16   Reserved: 11 
 
      uint16   bPSOPrecache: 1 
 
      uint16   bFromPSOFileCache: 1 
 
      uint16   PrecacheCompileType: 3 
 
   }  
 
   uint16   Flags 
 
};  
 
uint64 StatePrecachePSOHash
 

Static Public Attributes

static constexpr ETextureCreateFlags RelevantRenderTargetFlagMask = ETextureCreateFlags::SRGB | ETextureCreateFlags::Shared
 
static constexpr ETextureCreateFlags RelevantDepthStencilFlagMask = ETextureCreateFlags::SRGB | ETextureCreateFlags::Shared | ETextureCreateFlags::DepthStencilTargetable
 

Member Typedef Documentation

◆ TRenderTargetFlags

◆ TRenderTargetFormats

Member Enumeration Documentation

◆ EPSOPrecacheCompileType

Enumerator
NotSet 
MinPri 
NormalPri 
MaxPri 
NumTypes 

Constructor & Destructor Documentation

◆ FGraphicsPipelineStateInitializer() [1/2]

FGraphicsPipelineStateInitializer::FGraphicsPipelineStateInitializer ( )
inline

◆ FGraphicsPipelineStateInitializer() [2/2]

FGraphicsPipelineStateInitializer::FGraphicsPipelineStateInitializer ( FBoundShaderStateInput  InBoundShaderState,
FRHIBlendState InBlendState,
FRHIRasterizerState InRasterizerState,
FRHIDepthStencilState InDepthStencilState,
FImmutableSamplerState  InImmutableSamplerState,
EPrimitiveType  InPrimitiveType,
uint32  InRenderTargetsEnabled,
const TRenderTargetFormats InRenderTargetFormats,
const TRenderTargetFlags InRenderTargetFlags,
EPixelFormat  InDepthStencilTargetFormat,
ETextureCreateFlags  InDepthStencilTargetFlag,
ERenderTargetLoadAction  InDepthTargetLoadAction,
ERenderTargetStoreAction  InDepthTargetStoreAction,
ERenderTargetLoadAction  InStencilTargetLoadAction,
ERenderTargetStoreAction  InStencilTargetStoreAction,
FExclusiveDepthStencil  InDepthStencilAccess,
uint16  InNumSamples,
ESubpassHint  InSubpassHint,
uint8  InSubpassIndex,
EConservativeRasterization  InConservativeRasterization,
uint16  InFlags,
bool  bInDepthBounds,
uint8  InMultiViewCount,
bool  bInHasFragmentDensityAttachment,
bool  bInAllowVariableRateShading,
EVRSShadingRate  InShadingRate 
)
inline

Member Function Documentation

◆ ComputeNumValidRenderTargets()

uint32 FGraphicsPipelineStateInitializer::ComputeNumValidRenderTargets ( ) const
inline

◆ GetPSOPrecacheCompileType()

EPSOPrecacheCompileType FGraphicsPipelineStateInitializer::GetPSOPrecacheCompileType ( ) const
inline

◆ operator==()

bool FGraphicsPipelineStateInitializer::operator== ( const FGraphicsPipelineStateInitializer rhs) const
inline

◆ RelevantDepthStencilFlagsEqual()

static bool FGraphicsPipelineStateInitializer::RelevantDepthStencilFlagsEqual ( const ETextureCreateFlags  A,
const ETextureCreateFlags  B 
)
inlinestatic

◆ RelevantRenderTargetFlagsEqual()

static bool FGraphicsPipelineStateInitializer::RelevantRenderTargetFlagsEqual ( const TRenderTargetFlags A,
const TRenderTargetFlags B 
)
inlinestatic

◆ SetPSOPrecacheCompileType()

void FGraphicsPipelineStateInitializer::SetPSOPrecacheCompileType ( EPSOPrecacheCompileType  PrecacheCompileTypeIN)
inline

Member Data Documentation

◆ [union]

◆ bAllowVariableRateShading

bool FGraphicsPipelineStateInitializer::bAllowVariableRateShading

◆ bDepthBounds

bool FGraphicsPipelineStateInitializer::bDepthBounds

◆ bFromPSOFileCache

uint16 FGraphicsPipelineStateInitializer::bFromPSOFileCache

◆ bHasFragmentDensityAttachment

bool FGraphicsPipelineStateInitializer::bHasFragmentDensityAttachment

◆ BlendState

FRHIBlendState* FGraphicsPipelineStateInitializer::BlendState

◆ BoundShaderState

FBoundShaderStateInput FGraphicsPipelineStateInitializer::BoundShaderState

◆ bPSOPrecache

uint16 FGraphicsPipelineStateInitializer::bPSOPrecache

◆ ConservativeRasterization

EConservativeRasterization FGraphicsPipelineStateInitializer::ConservativeRasterization

◆ DepthStencilAccess

FExclusiveDepthStencil FGraphicsPipelineStateInitializer::DepthStencilAccess

◆ DepthStencilState

FRHIDepthStencilState* FGraphicsPipelineStateInitializer::DepthStencilState

◆ DepthStencilTargetFlag

ETextureCreateFlags FGraphicsPipelineStateInitializer::DepthStencilTargetFlag

◆ DepthStencilTargetFormat

EPixelFormat FGraphicsPipelineStateInitializer::DepthStencilTargetFormat

◆ DepthTargetLoadAction

ERenderTargetLoadAction FGraphicsPipelineStateInitializer::DepthTargetLoadAction

◆ DepthTargetStoreAction

ERenderTargetStoreAction FGraphicsPipelineStateInitializer::DepthTargetStoreAction

◆ Flags

uint16 FGraphicsPipelineStateInitializer::Flags

◆ ImmutableSamplerState

FImmutableSamplerState FGraphicsPipelineStateInitializer::ImmutableSamplerState

◆ MultiViewCount

uint8 FGraphicsPipelineStateInitializer::MultiViewCount

◆ NumSamples

uint16 FGraphicsPipelineStateInitializer::NumSamples

◆ PrecacheCompileType

uint16 FGraphicsPipelineStateInitializer::PrecacheCompileType

◆ PrimitiveType

EPrimitiveType FGraphicsPipelineStateInitializer::PrimitiveType

◆ RasterizerState

FRHIRasterizerState* FGraphicsPipelineStateInitializer::RasterizerState

◆ RelevantDepthStencilFlagMask

constexpr ETextureCreateFlags FGraphicsPipelineStateInitializer::RelevantDepthStencilFlagMask = ETextureCreateFlags::SRGB | ETextureCreateFlags::Shared | ETextureCreateFlags::DepthStencilTargetable
staticconstexpr

◆ RelevantRenderTargetFlagMask

constexpr ETextureCreateFlags FGraphicsPipelineStateInitializer::RelevantRenderTargetFlagMask = ETextureCreateFlags::SRGB | ETextureCreateFlags::Shared
staticconstexpr

◆ RenderTargetFlags

TRenderTargetFlags FGraphicsPipelineStateInitializer::RenderTargetFlags

◆ RenderTargetFormats

TRenderTargetFormats FGraphicsPipelineStateInitializer::RenderTargetFormats

◆ RenderTargetsEnabled

uint32 FGraphicsPipelineStateInitializer::RenderTargetsEnabled

◆ Reserved

uint16 FGraphicsPipelineStateInitializer::Reserved

◆ ShadingRate

EVRSShadingRate FGraphicsPipelineStateInitializer::ShadingRate

◆ StatePrecachePSOHash

uint64 FGraphicsPipelineStateInitializer::StatePrecachePSOHash

◆ StencilTargetLoadAction

ERenderTargetLoadAction FGraphicsPipelineStateInitializer::StencilTargetLoadAction

◆ StencilTargetStoreAction

ERenderTargetStoreAction FGraphicsPipelineStateInitializer::StencilTargetStoreAction

◆ SubpassHint

ESubpassHint FGraphicsPipelineStateInitializer::SubpassHint

◆ SubpassIndex

uint8 FGraphicsPipelineStateInitializer::SubpassIndex

The documentation for this class was generated from the following file: