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

#include <BoundShaderStateCache.h>

+ Inheritance diagram for FCachedBoundShaderStateLink:

Public Member Functions

RHI_API FCachedBoundShaderStateLink (FRHIVertexDeclaration *VertexDeclaration, FRHIVertexShader *VertexShader, FRHIPixelShader *PixelShader, FRHIBoundShaderState *InBoundShaderState, bool bAddToSingleThreadedCache=true)
 
RHI_API FCachedBoundShaderStateLink (FRHIVertexDeclaration *VertexDeclaration, FRHIVertexShader *VertexShader, FRHIPixelShader *PixelShader, FRHIGeometryShader *GeometryShader, FRHIBoundShaderState *InBoundShaderState, bool bAddToSingleThreadedCache=true)
 
RHI_API FCachedBoundShaderStateLink (FRHIMeshShader *MeshShader, FRHIAmplificationShader *AmplificationShader, FRHIPixelShader *PixelShader, FRHIBoundShaderState *InBoundShaderState, bool bAddToSingleThreadedCache=true)
 
RHI_API ~FCachedBoundShaderStateLink ()
 
FRHIVertexShaderGetVertexShader () const
 
FRHIMeshShaderGetMeshShader () const
 
FRHIAmplificationShaderGetAmplificationShader () const
 
FRHIPixelShaderGetPixelShader () const
 
FRHIGeometryShaderGetGeometryShader () const
 
FRHIVertexDeclarationGetVertexDeclaration () const
 

Public Attributes

FRHIBoundShaderStateBoundShaderState
 

Protected Attributes

FBoundShaderStateKey Key
 
bool bAddedToSingleThreadedCache
 

Detailed Description

Encapsulates a bound shader state's entry in the cache. Handles removal from the bound shader state cache on destruction. RHIs that use cached bound shader states should create one for each bound shader state.

Constructor & Destructor Documentation

◆ FCachedBoundShaderStateLink() [1/3]

FCachedBoundShaderStateLink::FCachedBoundShaderStateLink ( FRHIVertexDeclaration VertexDeclaration,
FRHIVertexShader VertexShader,
FRHIPixelShader PixelShader,
FRHIBoundShaderState InBoundShaderState,
bool  bAddToSingleThreadedCache = true 
)

Adds the bound shader state to the cache.

◆ FCachedBoundShaderStateLink() [2/3]

FCachedBoundShaderStateLink::FCachedBoundShaderStateLink ( FRHIVertexDeclaration VertexDeclaration,
FRHIVertexShader VertexShader,
FRHIPixelShader PixelShader,
FRHIGeometryShader GeometryShader,
FRHIBoundShaderState InBoundShaderState,
bool  bAddToSingleThreadedCache = true 
)

Adds the bound shader state to the cache.

◆ FCachedBoundShaderStateLink() [3/3]

FCachedBoundShaderStateLink::FCachedBoundShaderStateLink ( FRHIMeshShader MeshShader,
FRHIAmplificationShader AmplificationShader,
FRHIPixelShader PixelShader,
FRHIBoundShaderState InBoundShaderState,
bool  bAddToSingleThreadedCache = true 
)

Adds the bound shader state to the cache.

◆ ~FCachedBoundShaderStateLink()

FCachedBoundShaderStateLink::~FCachedBoundShaderStateLink ( )

Destructor. Removes the bound shader state from the cache.

Member Function Documentation

◆ GetAmplificationShader()

FRHIAmplificationShader * FCachedBoundShaderStateLink::GetAmplificationShader ( ) const
inline

◆ GetGeometryShader()

FRHIGeometryShader * FCachedBoundShaderStateLink::GetGeometryShader ( ) const
inline

◆ GetMeshShader()

FRHIMeshShader * FCachedBoundShaderStateLink::GetMeshShader ( ) const
inline

◆ GetPixelShader()

FRHIPixelShader * FCachedBoundShaderStateLink::GetPixelShader ( ) const
inline

◆ GetVertexDeclaration()

FRHIVertexDeclaration * FCachedBoundShaderStateLink::GetVertexDeclaration ( ) const
inline

Get the RHI vertex declaration.

◆ GetVertexShader()

FRHIVertexShader * FCachedBoundShaderStateLink::GetVertexShader ( ) const
inline

Get the RHI shader for the given frequency.

Member Data Documentation

◆ bAddedToSingleThreadedCache

bool FCachedBoundShaderStateLink::bAddedToSingleThreadedCache
protected

◆ BoundShaderState

FRHIBoundShaderState* FCachedBoundShaderStateLink::BoundShaderState

The cached bound shader state. This is not a reference counted pointer because we rely on the RHI to destruct this object when the bound shader state this references is destructed.

◆ Key

FBoundShaderStateKey FCachedBoundShaderStateLink::Key
protected

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