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

#include <WindowsD3D12PipelineState.h>

+ Inheritance diagram for FD3D12PipelineStateCache:

Public Member Functions

void RebuildFromDiskCache ()
 
void Close ()
 
void Init (FString &GraphicsCacheFilename, FString &ComputeCacheFilename, FString &DriverBlobFilename)
 
bool IsInErrorState () const
 
 FD3D12PipelineStateCache (FD3D12Adapter *InParent)
 
virtual ~FD3D12PipelineStateCache ()
 
FD3D12GraphicsPipelineStateFindInLoadedCache (const FGraphicsPipelineStateInitializer &Initializer, const FD3D12RootSignature *RootSignature, FD3D12LowLevelGraphicsPipelineStateDesc &OutLowLevelDesc)
 
FD3D12ComputePipelineStateFindInLoadedCache (const FComputePipelineStateInitializer &Initializer, const FD3D12RootSignature *RootSignature, FD3D12ComputePipelineStateDesc &OutLowLevelDesc)
 
FD3D12GraphicsPipelineStateCreateAndAdd (const FGraphicsPipelineStateInitializer &Initializer, const FD3D12RootSignature *RootSignature, const FD3D12LowLevelGraphicsPipelineStateDesc &LowLevelDesc)
 
FD3D12ComputePipelineStateCreateAndAdd (const FComputePipelineStateInitializer &Initializer, const FD3D12RootSignature *RootSignature, const FD3D12ComputePipelineStateDesc &LowLevelDesc)
 
- Public Member Functions inherited from FD3D12PipelineStateCacheBase
void RemoveFromLowLevelCache (FD3D12PipelineState *PipelineState, const FGraphicsPipelineStateInitializer &PipelineStateInitializer, const FD3D12RootSignature *RootSignature)
 
void RemoveFromLowLevelCache (FD3D12PipelineState *PipelineState, const FD3D12ComputeShader *ComputeShader, const FD3D12RootSignature *RootSignature)
 
FD3D12ComputePipelineStateFindInLoadedCache (const FComputePipelineStateInitializer &Initializer, const FD3D12RootSignature *RootSignature, FD3D12ComputePipelineStateDesc &OutLowLevelDesc)
 
FD3D12ComputePipelineStateCreateAndAdd (const FComputePipelineStateInitializer &Initializer, const FD3D12RootSignature *RootSignature, const FD3D12ComputePipelineStateDesc &LowLevelDesc)
 
 FD3D12PipelineStateCacheBase (FD3D12Adapter *InParent)
 
virtual ~FD3D12PipelineStateCacheBase ()
 
- Public Member Functions inherited from FD3D12AdapterChild
 FD3D12AdapterChild (FD3D12Adapter *InParent=nullptr)
 
FORCEINLINE FD3D12AdapterGetParentAdapter () const
 
void SetParentAdapter (FD3D12Adapter *InParent)
 

Protected Member Functions

void OnPSOCreated (FD3D12PipelineState *PipelineState, const FD3D12LowLevelGraphicsPipelineStateDesc &Desc) final override
 
void OnPSOCreated (FD3D12PipelineState *PipelineState, const FD3D12ComputePipelineStateDesc &Desc) final override
 
void AddToDiskCache (const FD3D12LowLevelGraphicsPipelineStateDesc &Desc, FD3D12PipelineState *PipelineState)
 
void AddToDiskCache (const FD3D12ComputePipelineStateDesc &Desc, FD3D12PipelineState *PipelineState)
 
- Protected Member Functions inherited from FD3D12PipelineStateCacheBase
void CleanupPipelineStateCaches ()
 
FD3D12PipelineStateFindInLowLevelCache (const FD3D12LowLevelGraphicsPipelineStateDesc &Desc)
 
FD3D12PipelineStateCreateAndAddToLowLevelCache (const FD3D12LowLevelGraphicsPipelineStateDesc &Desc)
 
void AddToLowLevelCache (const FD3D12LowLevelGraphicsPipelineStateDesc &Desc, FD3D12PipelineState **OutPipelineState, const FPostCreateGraphicCallback &PostCreateCallback)
 
FD3D12PipelineStateFindInLowLevelCache (const FD3D12ComputePipelineStateDesc &Desc)
 
FD3D12PipelineStateCreateAndAddToLowLevelCache (const FD3D12ComputePipelineStateDesc &Desc)
 
void AddToLowLevelCache (const FD3D12ComputePipelineStateDesc &Desc, FD3D12PipelineState **OutPipelineState, const FPostCreateComputeCallback &PostCreateCallback)
 
FD3D12GraphicsPipelineStateFindInLoadedCache (const FGraphicsPipelineStateInitializer &Initializer, const FD3D12RootSignature *RootSignature, FD3D12LowLevelGraphicsPipelineStateDesc &OutLowLevelDesc)
 
FD3D12GraphicsPipelineStateCreateAndAdd (const FGraphicsPipelineStateInitializer &Initializer, const FD3D12RootSignature *RootSignature, const FD3D12LowLevelGraphicsPipelineStateDesc &LowLevelDesc)
 

Additional Inherited Members

- Static Public Member Functions inherited from FD3D12PipelineStateCacheBase
static uint64 HashPSODesc (const FD3D12LowLevelGraphicsPipelineStateDesc &Desc)
 
static uint64 HashPSODesc (const FD3D12ComputePipelineStateDesc &Desc)
 
static uint64 HashData (const void *Data, int32 NumBytes)
 
- Protected Types inherited from FD3D12PipelineStateCacheBase
enum  PSO_CACHE_TYPE { PSO_CACHE_GRAPHICS , PSO_CACHE_COMPUTE , NUM_PSO_CACHE_TYPES }
 
template<typename TDesc , typename TValue = FD3D12PipelineState*>
using TPipelineCache = TMap< TDesc, TValue, FDefaultSetAllocator, TStateCacheKeyFuncs< TDesc, TValue > >
 
typedef TFunction< void(FD3D12PipelineState **, const FD3D12LowLevelGraphicsPipelineStateDesc &)> FPostCreateGraphicCallback
 
typedef TFunction< void(FD3D12PipelineState *, const FD3D12ComputePipelineStateDesc &)> FPostCreateComputeCallback
 
- Protected Attributes inherited from FD3D12PipelineStateCacheBase
TPipelineCache< FD3D12LowLevelGraphicsPipelineStateDescLowLevelGraphicsPipelineStateCache
 
TPipelineCache< FD3D12ComputePipelineStateDescComputePipelineStateCache
 
FRWLock LowLevelGraphicsPipelineStateCacheMutex
 
FRWLock ComputePipelineStateCacheMutex
 
FRWLock DiskCachesCS
 
FDiskCacheInterface DiskCaches [NUM_PSO_CACHE_TYPES]
 
- Protected Attributes inherited from FD3D12AdapterChild
FD3D12AdapterParentAdapter
 

Constructor & Destructor Documentation

◆ FD3D12PipelineStateCache()

FD3D12PipelineStateCache::FD3D12PipelineStateCache ( FD3D12Adapter InParent)

◆ ~FD3D12PipelineStateCache()

FD3D12PipelineStateCache::~FD3D12PipelineStateCache ( )
virtual

Member Function Documentation

◆ AddToDiskCache() [1/2]

void FD3D12PipelineStateCache::AddToDiskCache ( const FD3D12ComputePipelineStateDesc Desc,
FD3D12PipelineState PipelineState 
)
protected

◆ AddToDiskCache() [2/2]

void FD3D12PipelineStateCache::AddToDiskCache ( const FD3D12LowLevelGraphicsPipelineStateDesc Desc,
FD3D12PipelineState PipelineState 
)
protected

◆ Close()

void FD3D12PipelineStateCache::Close ( )

◆ CreateAndAdd() [1/2]

FD3D12ComputePipelineState * FD3D12PipelineStateCacheBase::CreateAndAdd ( const FComputePipelineStateInitializer Initializer,
const FD3D12RootSignature RootSignature,
const FD3D12ComputePipelineStateDesc LowLevelDesc 
)

◆ CreateAndAdd() [2/2]

FD3D12GraphicsPipelineState * FD3D12PipelineStateCacheBase::CreateAndAdd ( const FGraphicsPipelineStateInitializer Initializer,
const FD3D12RootSignature RootSignature,
const FD3D12LowLevelGraphicsPipelineStateDesc LowLevelDesc 
)

◆ FindInLoadedCache() [1/2]

FD3D12ComputePipelineState * FD3D12PipelineStateCacheBase::FindInLoadedCache ( const FComputePipelineStateInitializer Initializer,
const FD3D12RootSignature RootSignature,
FD3D12ComputePipelineStateDesc OutLowLevelDesc 
)

◆ FindInLoadedCache() [2/2]

FD3D12GraphicsPipelineState * FD3D12PipelineStateCacheBase::FindInLoadedCache ( const FGraphicsPipelineStateInitializer Initializer,
const FD3D12RootSignature RootSignature,
FD3D12LowLevelGraphicsPipelineStateDesc OutLowLevelDesc 
)

◆ Init()

void FD3D12PipelineStateCache::Init ( FString &  GraphicsCacheFilename,
FString &  ComputeCacheFilename,
FString &  DriverBlobFilename 
)

◆ IsInErrorState()

bool FD3D12PipelineStateCache::IsInErrorState ( ) const

◆ OnPSOCreated() [1/2]

void FD3D12PipelineStateCache::OnPSOCreated ( FD3D12PipelineState PipelineState,
const FD3D12ComputePipelineStateDesc Desc 
)
finaloverrideprotectedvirtual

◆ OnPSOCreated() [2/2]

void FD3D12PipelineStateCache::OnPSOCreated ( FD3D12PipelineState PipelineState,
const FD3D12LowLevelGraphicsPipelineStateDesc Desc 
)
finaloverrideprotectedvirtual

Desc.bFromPSOFileCache

Implements FD3D12PipelineStateCacheBase.

◆ RebuildFromDiskCache()

void FD3D12PipelineStateCache::RebuildFromDiskCache ( )

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