UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
TBoundShaderStateHistory< Size, TThreadSafe > Class Template Reference

#include <BoundShaderStateHistory.h>

+ Inheritance diagram for TBoundShaderStateHistory< Size, TThreadSafe >:

Public Member Functions

 TBoundShaderStateHistory ()=default
 
void Add (FRHIBoundShaderState *BoundShaderState)
 
FRHIBoundShaderStateGetLast ()
 
virtual void ReleaseRHI ()
 
- Public Member Functions inherited from FRenderResource
RENDERCORE_API FRenderResource ()
 
RENDERCORE_API FRenderResource (ERHIFeatureLevel::Type InFeatureLevel)
 
RENDERCORE_API FRenderResource (const FRenderResource &)
 
RENDERCORE_API FRenderResource (FRenderResource &&)
 
RENDERCORE_API FRenderResourceoperator= (const FRenderResource &Other)
 
RENDERCORE_API FRenderResourceoperator= (FRenderResource &&Other)
 
virtual RENDERCORE_API ~FRenderResource ()
 
virtual void InitRHI (FRHICommandListBase &RHICmdList)
 
virtual RENDERCORE_API void InitResource (FRHICommandListBase &RHICmdList)
 
virtual RENDERCORE_API void ReleaseResource ()
 
RENDERCORE_API void UpdateRHI (FRHICommandListBase &RHICmdList)
 
virtual FString GetFriendlyName () const
 
bool IsInitialized () const
 
int32 GetListIndex () const
 
EInitPhase GetInitPhase () const
 
void SetOwnerName (FName InOwnerName)
 
FName GetOwnerName () const
 
void SetResourceName (FName InResourceName)
 
FName GetResourceName () const
 

Additional Inherited Members

- Public Types inherited from FRenderResource
enum class  EInitPhase : uint8 { Pre , Default , MAX }
 
- Static Public Member Functions inherited from FRenderResource
static RENDERCORE_API void ReleaseRHIForAllResources ()
 
static RENDERCORE_API void InitPreRHIResources ()
 
static RENDERCORE_API void ChangeFeatureLevel (ERHIFeatureLevel::Type NewFeatureLevel)
 
static RENDERCORE_API FName SetScopeName (FName Name)
 
- Public Attributes inherited from FRenderResource
ERenderResourceState ResourceState = ERenderResourceState::Default
 
- Protected Member Functions inherited from FRenderResource
void SetFeatureLevel (const FStaticFeatureLevel InFeatureLevel)
 
const FStaticFeatureLevel GetFeatureLevel () const
 
bool HasValidFeatureLevel () const
 
template<typename T >
FBufferRHIRef CreateRHIBuffer (FRHICommandListBase &RHICmdList, T &InOutResourceObject, uint32 ResourceCount, EBufferUsageFlags InBufferUsageFlags, const TCHAR *InDebugName)
 
void SetInitPhase (EInitPhase InInitPhase)
 
- Static Protected Member Functions inherited from FRenderResource
static RENDERCORE_API FRHICommandListBaseGetImmediateCommandList ()
 

Detailed Description

template<uint32 Size, bool TThreadSafe = true>
class TBoundShaderStateHistory< Size, TThreadSafe >

A list of the most recently used bound shader states. This is used to keep bound shader states that have been used recently from being freed, as they're likely to be used again soon.

Constructor & Destructor Documentation

◆ TBoundShaderStateHistory()

template<uint32 Size, bool TThreadSafe = true>
TBoundShaderStateHistory< Size, TThreadSafe >::TBoundShaderStateHistory ( )
default

Member Function Documentation

◆ Add()

template<uint32 Size, bool TThreadSafe = true>
void TBoundShaderStateHistory< Size, TThreadSafe >::Add ( FRHIBoundShaderState BoundShaderState)
inline

Adds a bound shader state to the history.

◆ GetLast()

template<uint32 Size, bool TThreadSafe = true>
FRHIBoundShaderState * TBoundShaderStateHistory< Size, TThreadSafe >::GetLast ( )
inline

◆ ReleaseRHI()

template<uint32 Size, bool TThreadSafe = true>
virtual void TBoundShaderStateHistory< Size, TThreadSafe >::ReleaseRHI ( )
inlinevirtual

Releases the RHI resources used by this resource. Called when leaving the state where both the resource and the RHI have been initialized. This is only called by the rendering thread.

Reimplemented from FRenderResource.


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