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

#include <MeshPassProcessor.h>

Public Member Functions

FORCEINLINE_DEBUGGABLE uint32 GetId () const
 
bool IsValid () const
 
bool operator== (const FGraphicsMinimalPipelineStateId &rhs) const
 
bool operator!= (const FGraphicsMinimalPipelineStateId &rhs) const
 
const FGraphicsMinimalPipelineStateInitializerGetPipelineState (const FGraphicsMinimalPipelineStateSet &InPipelineSet) const
 

Static Public Member Functions

static void InitializePersistentIds ()
 
static FGraphicsMinimalPipelineStateId GetPersistentId (const FGraphicsMinimalPipelineStateInitializer &InPipelineState)
 
static void RemovePersistentId (FGraphicsMinimalPipelineStateId Id)
 
static RENDERER_API FGraphicsMinimalPipelineStateId GetPipelineStateId (const FGraphicsMinimalPipelineStateInitializer &InPipelineState, FGraphicsMinimalPipelineStateSet &InOutPassSet, bool &NeedsShaderInitialisation)
 
static int32 GetLocalPipelineIdTableSize ()
 
static void ResetLocalPipelineIdTableSize ()
 
static void AddSizeToLocalPipelineIdTableSize (SIZE_T Size)
 
static SIZE_T GetPersistentIdTableSize ()
 
static int32 GetPersistentIdNum ()
 
static void FreezeIdTable (bool bEnable)
 

Detailed Description

Uniquely represents a FGraphicsMinimalPipelineStateInitializer for fast compares.

Member Function Documentation

◆ AddSizeToLocalPipelineIdTableSize()

void FGraphicsMinimalPipelineStateId::AddSizeToLocalPipelineIdTableSize ( SIZE_T  Size)
static

◆ FreezeIdTable()

void FGraphicsMinimalPipelineStateId::FreezeIdTable ( bool  bEnable)
static

When ID table is frozen, items with a zero ref count aren't actually released, so if the same item gets used again, its ID doesn't change. Useful when re-creating draw commands in the middle of the frame, where you want to prevent existing pipeline state IDs from changing, which may be referenced by in flight tasks. Unfreezing the table will clean up anything with a zero ref count.

◆ GetId()

FORCEINLINE_DEBUGGABLE uint32 FGraphicsMinimalPipelineStateId::GetId ( ) const
inline

◆ GetLocalPipelineIdTableSize()

static int32 FGraphicsMinimalPipelineStateId::GetLocalPipelineIdTableSize ( )
inlinestatic

◆ GetPersistentId()

FGraphicsMinimalPipelineStateId FGraphicsMinimalPipelineStateId::GetPersistentId ( const FGraphicsMinimalPipelineStateInitializer InPipelineState)
static

Get a ref counted persistent pipeline id, which needs to manually released.

◆ GetPersistentIdNum()

static int32 FGraphicsMinimalPipelineStateId::GetPersistentIdNum ( )
inlinestatic

◆ GetPersistentIdTableSize()

static SIZE_T FGraphicsMinimalPipelineStateId::GetPersistentIdTableSize ( )
inlinestatic

◆ GetPipelineState()

const FGraphicsMinimalPipelineStateInitializer & FGraphicsMinimalPipelineStateId::GetPipelineState ( const FGraphicsMinimalPipelineStateSet InPipelineSet) const
inline

◆ GetPipelineStateId()

FGraphicsMinimalPipelineStateId FGraphicsMinimalPipelineStateId::GetPipelineStateId ( const FGraphicsMinimalPipelineStateInitializer InPipelineState,
FGraphicsMinimalPipelineStateSet InOutPassSet,
bool NeedsShaderInitialisation 
)
static

Get a pipeline state id in this order: global persistent Id table. If not found, will lookup in PassSet argument. If not found in PassSet argument, create a blank pipeline set id and add it PassSet argument

◆ InitializePersistentIds()

void FGraphicsMinimalPipelineStateId::InitializePersistentIds ( )
static

◆ IsValid()

bool FGraphicsMinimalPipelineStateId::IsValid ( ) const
inline

◆ operator!=()

bool FGraphicsMinimalPipelineStateId::operator!= ( const FGraphicsMinimalPipelineStateId rhs) const
inline

◆ operator==()

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

◆ RemovePersistentId()

void FGraphicsMinimalPipelineStateId::RemovePersistentId ( FGraphicsMinimalPipelineStateId  Id)
static

Removes a persistent pipeline Id from the global persistent Id table.

◆ ResetLocalPipelineIdTableSize()

void FGraphicsMinimalPipelineStateId::ResetLocalPipelineIdTableSize ( )
static

Member Data Documentation

◆ bComesFromLocalPipelineStateSet

uint32 FGraphicsMinimalPipelineStateId::bComesFromLocalPipelineStateSet

◆ bValid

uint32 FGraphicsMinimalPipelineStateId::bValid

◆ PackedId

uint32 FGraphicsMinimalPipelineStateId::PackedId = 0

◆ SetElementIndex

uint32 FGraphicsMinimalPipelineStateId::SetElementIndex

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