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

#include <ShaderCodeArchive.h>

Public Types

template<typename T >
using TArrayType = TArray< T >
 

Public Member Functions

const TArrayView< const uint32GetShaderIndices () const
 
const TArrayView< const FFileCachePreloadEntryGetPreloadEntries () const
 
const TArrayView< const FShaderCodeEntryGetShaderEntries () const
 
const TArrayView< const FShaderMapEntryGetShaderMapEntries () const
 
const TArrayView< const FSHAHashGetShaderHashes () const
 
const TArrayView< const FSHAHashGetShaderMapHashes () const
 
 FSerializedShaderArchive ()
 
int64 GetAllocatedSize () const
 
void Empty ()
 
void EmptyShaderMaps ()
 
int32 GetNumShaderMaps () const
 
int32 GetNumShaders () const
 
bool IsEmpty () const
 
RENDERCORE_API int32 FindShaderMapWithKey (const FSHAHash &Hash, uint32 Key) const
 
RENDERCORE_API int32 FindShaderMap (const FSHAHash &Hash) const
 
RENDERCORE_API int32 FindShaderWithKey (const FSHAHash &Hash, uint32 Key) const
 
RENDERCORE_API int32 FindShader (const FSHAHash &Hash) const
 
RENDERCORE_API bool FindOrAddShader (const FSHAHash &Hash, int32 &OutIndex)
 
RENDERCORE_API bool FindOrAddShaderMap (const FSHAHash &Hash, int32 &OutIndex, const FShaderMapAssetPaths *AssociatedAssets)
 
RENDERCORE_API void RemoveLastAddedShader ()
 
RENDERCORE_API void Finalize ()
 
RENDERCORE_API void DecompressShader (int32 Index, const TArray< FSharedBuffer > &ShaderCode, TArray< uint8 > &OutDecompressedShader) const
 
RENDERCORE_API void Serialize (FArchive &Ar)
 

Public Attributes

TArrayType< FSHAHashShaderMapHashes
 
TArrayType< FSHAHashShaderHashes
 
TArrayType< FShaderMapEntryShaderMapEntries
 
TArrayType< FShaderCodeEntryShaderEntries
 
TArrayType< FFileCachePreloadEntryPreloadEntries
 
TArrayType< uint32ShaderIndices
 
FHashTable ShaderMapHashTable
 
FHashTable ShaderHashTable
 

Friends

FArchiveoperator<< (FArchive &Ar, FSerializedShaderArchive &Ref)
 

Member Typedef Documentation

◆ TArrayType

Constructor & Destructor Documentation

◆ FSerializedShaderArchive()

FSerializedShaderArchive::FSerializedShaderArchive ( )
inline

Member Function Documentation

◆ DecompressShader()

void FSerializedShaderArchive::DecompressShader ( int32  Index,
const TArray< FSharedBuffer > &  ShaderCode,
TArray< uint8 > &  OutDecompressedShader 
) const

◆ Empty()

void FSerializedShaderArchive::Empty ( )
inline

◆ EmptyShaderMaps()

void FSerializedShaderArchive::EmptyShaderMaps ( )
inline

◆ Finalize()

void FSerializedShaderArchive::Finalize ( )

◆ FindOrAddShader()

bool FSerializedShaderArchive::FindOrAddShader ( const FSHAHash Hash,
int32 OutIndex 
)

◆ FindOrAddShaderMap()

bool FSerializedShaderArchive::FindOrAddShaderMap ( const FSHAHash Hash,
int32 OutIndex,
const FShaderMapAssetPaths AssociatedAssets 
)

◆ FindShader()

int32 FSerializedShaderArchive::FindShader ( const FSHAHash Hash) const

◆ FindShaderMap()

int32 FSerializedShaderArchive::FindShaderMap ( const FSHAHash Hash) const

◆ FindShaderMapWithKey()

int32 FSerializedShaderArchive::FindShaderMapWithKey ( const FSHAHash Hash,
uint32  Key 
) const

◆ FindShaderWithKey()

int32 FSerializedShaderArchive::FindShaderWithKey ( const FSHAHash Hash,
uint32  Key 
) const

◆ GetAllocatedSize()

int64 FSerializedShaderArchive::GetAllocatedSize ( ) const
inline

◆ GetNumShaderMaps()

int32 FSerializedShaderArchive::GetNumShaderMaps ( ) const
inline

◆ GetNumShaders()

int32 FSerializedShaderArchive::GetNumShaders ( ) const
inline

◆ GetPreloadEntries()

const TArrayView< const FFileCachePreloadEntry > FSerializedShaderArchive::GetPreloadEntries ( ) const
inline

◆ GetShaderEntries()

const TArrayView< const FShaderCodeEntry > FSerializedShaderArchive::GetShaderEntries ( ) const
inline

◆ GetShaderHashes()

const TArrayView< const FSHAHash > FSerializedShaderArchive::GetShaderHashes ( ) const
inline

◆ GetShaderIndices()

const TArrayView< const uint32 > FSerializedShaderArchive::GetShaderIndices ( ) const
inline

◆ GetShaderMapEntries()

const TArrayView< const FShaderMapEntry > FSerializedShaderArchive::GetShaderMapEntries ( ) const
inline

◆ GetShaderMapHashes()

const TArrayView< const FSHAHash > FSerializedShaderArchive::GetShaderMapHashes ( ) const
inline

◆ IsEmpty()

bool FSerializedShaderArchive::IsEmpty ( ) const
inline

◆ RemoveLastAddedShader()

void FSerializedShaderArchive::RemoveLastAddedShader ( )

◆ Serialize()

void FSerializedShaderArchive::Serialize ( FArchive Ar)

Friends And Related Symbol Documentation

◆ operator<<

FArchive & operator<< ( FArchive Ar,
FSerializedShaderArchive Ref 
)
friend

Member Data Documentation

◆ PreloadEntries

TArrayType<FFileCachePreloadEntry> FSerializedShaderArchive::PreloadEntries

An array of entries for the bytes of shadercode that need to be preloaded for a shadermap. Each shadermap has a range in this array, beginning of which is stored in FShaderMapEntry.FirstPreloadIndex.

◆ ShaderEntries

TArrayType<FShaderCodeEntry> FSerializedShaderArchive::ShaderEntries

An array of all shaders descriptors, deduplicated

◆ ShaderHashes

TArrayType<FSHAHash> FSerializedShaderArchive::ShaderHashes

Output hashes of all shaders in the library

◆ ShaderHashTable

FHashTable FSerializedShaderArchive::ShaderHashTable

◆ ShaderIndices

TArrayType<uint32> FSerializedShaderArchive::ShaderIndices

Flat array of shaders referenced by all shadermaps. Each shadermap has a range in this array, beginning of which is stored as ShaderIndicesOffset in the shadermap's descriptor (FShaderMapEntry).

◆ ShaderMapEntries

TArrayType<FShaderMapEntry> FSerializedShaderArchive::ShaderMapEntries

An array of a shadermap descriptors. Each shadermap can reference an arbitrary number of shaders

◆ ShaderMapHashes

TArrayType<FSHAHash> FSerializedShaderArchive::ShaderMapHashes

Hashes of all shadermaps in the library

◆ ShaderMapHashTable

FHashTable FSerializedShaderArchive::ShaderMapHashTable

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