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

Public Types

enum class  EStatus : uint8 { Unknown , BundledCache , UserCacheOpened , NewUserCache }
 

Public Member Functions

 FPipelineCacheFile ()
 
 ~FPipelineCacheFile ()
 
void GarbageCollectUserCache (FString const &UserCacheFilePath, const TSet< FGuid > &KnownGuids)
 
bool OpenPipelineFileCache (FString const &NameIn, EShaderPlatform Platform, FGuid &OutGameFileGuid)
 
bool OpenUserPipelineFileCache (FString const &CacheNameIn, EShaderPlatform Platform)
 
bool SavePipelineFileCache (FPipelineFileCacheManager::SaveMode Mode, TMap< uint32, FPipelineStateStats * > const &Stats, TSet< FPipelineCacheFileFormatPSO > &NewEntries, FPipelineFileCacheManager::PSOOrder Order, TMap< uint32, FPSOUsageData > &NewPSOUsage)
 
bool IsPSOEntryCachedInternal (FPipelineCacheFileFormatPSO const &NewEntry, FPSOUsageData *EntryData=nullptr) const
 
bool IsBSSEquivalentPSOEntryCachedInternal (FPipelineCacheFileFormatPSO const &NewEntry) const
 
void GetOrderedPSOHashes (TArray< FPipelineCachePSOHeader > &PSOHashes, FPipelineFileCacheManager::PSOOrder Order, int64 MinBindCount, TSet< uint32 > const &AlreadyCompiledHashes)
 
bool OnExternalReadCallback (FPipelineCacheFileFormatPSORead *Entry, double RemainingTime)
 
void FetchPSODescriptors (TDoubleLinkedList< FPipelineCacheFileFormatPSORead * > &Batch)
 
FName GetPlatformName () const
 
const FString & GetRecordingFilename () const
 
const FString & GetCacheFilename () const
 
const FGuidGetFileGuid () const
 
const int32 GetTOCMetaDataSize () const
 

Static Public Member Functions

static bool OpenPipelineFileCache (const FString &FilePath, EShaderPlatform ShaderPlatform, FGuid &Guid, TSharedPtr< IAsyncReadFileHandle, ESPMode::ThreadSafe > &Handle, FPipelineCacheFileFormatTOC &Content, uint64 &TOCOffsetOUT)
 
static void MergePSOUsageToMetaData (TMap< uint32, FPSOUsageData > &NewPSOUsage, TMap< uint32, FPipelineCacheFileFormatPSOMetaData > &MetaData, int64 CurrentUnixTime, bool bRemoveUpdatedentries=false)
 
static void SortMetaData (TMap< uint32, FPipelineCacheFileFormatPSOMetaData > &MetaData, FPipelineFileCacheManager::PSOOrder Order)
 

Public Attributes

EStatus CacheStatus = EStatus::Unknown
 

Static Public Attributes

static uint32 GameVersion = 0
 

Member Enumeration Documentation

◆ EStatus

Enumerator
Unknown 
BundledCache 
UserCacheOpened 
NewUserCache 

Constructor & Destructor Documentation

◆ FPipelineCacheFile()

FPipelineCacheFile::FPipelineCacheFile ( )
inline

◆ ~FPipelineCacheFile()

FPipelineCacheFile::~FPipelineCacheFile ( )
inline

Member Function Documentation

◆ FetchPSODescriptors()

void FPipelineCacheFile::FetchPSODescriptors ( TDoubleLinkedList< FPipelineCacheFileFormatPSORead * > &  Batch)
inline

◆ GarbageCollectUserCache()

void FPipelineCacheFile::GarbageCollectUserCache ( FString const &  UserCacheFilePath,
const TSet< FGuid > &  KnownGuids 
)
inline

◆ GetCacheFilename()

const FString & FPipelineCacheFile::GetCacheFilename ( ) const
inline

◆ GetFileGuid()

const FGuid & FPipelineCacheFile::GetFileGuid ( ) const
inline

◆ GetOrderedPSOHashes()

void FPipelineCacheFile::GetOrderedPSOHashes ( TArray< FPipelineCachePSOHeader > &  PSOHashes,
FPipelineFileCacheManager::PSOOrder  Order,
int64  MinBindCount,
TSet< uint32 > const &  AlreadyCompiledHashes 
)
inline

◆ GetPlatformName()

FName FPipelineCacheFile::GetPlatformName ( ) const
inline

◆ GetRecordingFilename()

const FString & FPipelineCacheFile::GetRecordingFilename ( ) const
inline

◆ GetTOCMetaDataSize()

const int32 FPipelineCacheFile::GetTOCMetaDataSize ( ) const
inline

◆ IsBSSEquivalentPSOEntryCachedInternal()

bool FPipelineCacheFile::IsBSSEquivalentPSOEntryCachedInternal ( FPipelineCacheFileFormatPSO const &  NewEntry) const
inline

◆ IsPSOEntryCachedInternal()

bool FPipelineCacheFile::IsPSOEntryCachedInternal ( FPipelineCacheFileFormatPSO const &  NewEntry,
FPSOUsageData EntryData = nullptr 
) const
inline

◆ MergePSOUsageToMetaData()

static void FPipelineCacheFile::MergePSOUsageToMetaData ( TMap< uint32, FPSOUsageData > &  NewPSOUsage,
TMap< uint32, FPipelineCacheFileFormatPSOMetaData > &  MetaData,
int64  CurrentUnixTime,
bool  bRemoveUpdatedentries = false 
)
inlinestatic

◆ OnExternalReadCallback()

bool FPipelineCacheFile::OnExternalReadCallback ( FPipelineCacheFileFormatPSORead Entry,
double  RemainingTime 
)
inline

◆ OpenPipelineFileCache() [1/2]

static bool FPipelineCacheFile::OpenPipelineFileCache ( const FString &  FilePath,
EShaderPlatform  ShaderPlatform,
FGuid Guid,
TSharedPtr< IAsyncReadFileHandle, ESPMode::ThreadSafe > &  Handle,
FPipelineCacheFileFormatTOC Content,
uint64 TOCOffsetOUT 
)
inlinestatic

◆ OpenPipelineFileCache() [2/2]

bool FPipelineCacheFile::OpenPipelineFileCache ( FString const &  NameIn,
EShaderPlatform  Platform,
FGuid OutGameFileGuid 
)
inline

◆ OpenUserPipelineFileCache()

bool FPipelineCacheFile::OpenUserPipelineFileCache ( FString const &  CacheNameIn,
EShaderPlatform  Platform 
)
inline

◆ SavePipelineFileCache()

bool FPipelineCacheFile::SavePipelineFileCache ( FPipelineFileCacheManager::SaveMode  Mode,
TMap< uint32, FPipelineStateStats * > const &  Stats,
TSet< FPipelineCacheFileFormatPSO > &  NewEntries,
FPipelineFileCacheManager::PSOOrder  Order,
TMap< uint32, FPSOUsageData > &  NewPSOUsage 
)
inline

◆ SortMetaData()

static void FPipelineCacheFile::SortMetaData ( TMap< uint32, FPipelineCacheFileFormatPSOMetaData > &  MetaData,
FPipelineFileCacheManager::PSOOrder  Order 
)
inlinestatic

Member Data Documentation

◆ CacheStatus

EStatus FPipelineCacheFile::CacheStatus = EStatus::Unknown

◆ GameVersion

uint32 FPipelineCacheFile::GameVersion = 0
static

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