Navigation
API > API/Runtime > API/Runtime/RenderCore
| Name | FIoStoreShaderCodeArchive |
| Type | class |
| Header File | /Engine/Source/Runtime/RenderCore/Public/ShaderCodeArchive.h |
| Include Path | #include "ShaderCodeArchive.h" |
Syntax
class FIoStoreShaderCodeArchive : public FRHIShaderLibrary
Inheritance Hierarchy
- FRHIResource → FRHIShaderLibrary → FIoStoreShaderCodeArchive
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FIoStoreShaderCodeArchive
(
EShaderPlatform InPlatform, |
ShaderCodeArchive.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ~FIoStoreShaderCodeArchive() |
ShaderCodeArchive.h |
Structs
| Name | Remarks |
|---|---|
| FShaderGroupPreloadEntry |
Constants
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| CurrentVersion | uint32 | ShaderCodeArchive.h |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| DebugVisualizer | FShaderUsageVisualizer | Debug visualizer - in Shipping compiles out to an empty struct with no-op functions | ShaderCodeArchive.h | |
| Header | FIoStoreShaderCodeArchiveHeader | Archive header with all the metadata | ShaderCodeArchive.h | |
| IoDispatcher | FIoDispatcher & | ShaderCodeArchive.h | ||
| PreloadedShaderGroups | TMap< int32, FShaderGroupPreloadEntry * > | Mapping between the group index and preloaded groups. Should be only modified when lock is taken. | ShaderCodeArchive.h | |
| PreloadedShaderGroupsLock | FRWLock | Lock guarding access to the book-keeping info above. | ShaderCodeArchive.h | |
| ShaderHashTable | FHashTable | ShaderCodeArchive.h | ||
| ShaderMapHashTable | FHashTable | Hash tables for faster searching for shader and shadermap hashes. | ShaderCodeArchive.h |
Functions
Public
Overridden from FRHIShaderLibrary
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void AddRefPreloadedShaderGroup
(
int32 ShaderGroupIndex |
ShaderCodeArchive.h | ||
virtual TRefCountPtr< FRHIShader > CreateShader
(
int32 Index, |
ShaderCodeArchive.h | ||
virtual int32 FindShaderIndex
(
const FSHAHash& Hash |
ShaderCodeArchive.h | ||
virtual int32 FindShaderMapIndex
(
const FSHAHash& Hash |
ShaderCodeArchive.h | ||
virtual void GetAllShaderIndices
(
int32 ShaderMapIndex, |
ShaderCodeArchive.h | ||
virtual int32 GetGroupIndexForShader
(
int32 ShaderIndex |
Returns the index of shader group that a given shader belongs to. | ShaderCodeArchive.h | |
virtual int32 GetNumShaderMaps() |
ShaderCodeArchive.h | ||
virtual int32 GetNumShaders() |
ShaderCodeArchive.h | ||
virtual int32 GetNumShadersForShaderMap
(
int32 ShaderMapIndex |
ShaderCodeArchive.h | ||
virtual FSHAHash GetShaderHash
(
int32 ShaderMapIndex, |
ShaderCodeArchive.h | ||
virtual int32 GetShaderIndex
(
int32 ShaderMapIndex, |
ShaderCodeArchive.h | ||
virtual FSHAHash GetShaderMapHash
(
int32 ShaderMapIndex |
ShaderCodeArchive.h | ||
virtual uint32 GetShaderSizeBytes
(
int32 ShaderIndex |
ShaderCodeArchive.h | ||
virtual uint32 GetSizeBytes() |
ShaderCodeArchive.h | ||
virtual bool IsNativeLibrary() |
ShaderCodeArchive.h | ||
virtual bool IsPreloading
(
int32 ShaderIndex, |
ShaderCodeArchive.h | ||
virtual bool PreloadShader
(
int32 ShaderIndex, |
ShaderCodeArchive.h | ||
virtual bool PreloadShaderMap
(
int32 ShaderMapIndex, |
ShaderCodeArchive.h | ||
virtual bool PreloadShaderMap
(
int32 ShaderMapIndex, |
ShaderCodeArchive.h | ||
virtual void ReleasePreloadedShader
(
int32 ShaderIndex |
ShaderCodeArchive.h | ||
virtual void ReleasePreloadedShaderGroup
(
int32 ShaderGroupIndex |
ShaderCodeArchive.h | ||
virtual void Teardown() |
ShaderCodeArchive.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static FIoStoreShaderCodeArchive * Create
(
EShaderPlatform InPlatform, |
ShaderCodeArchive.h | ||
static void CreateIoStoreShaderCodeArchiveHeader
(
const FName& Format, |
This function creates the archive header, including splitting shaders into groups. | ShaderCodeArchive.h | |
static FIoChunkId GetShaderCodeArchiveChunkId
(
const FString& LibraryName, |
ShaderCodeArchive.h | ||
static FIoChunkId GetShaderCodeChunkId
(
const FSHAHash& ShaderHash |
ShaderCodeArchive.h | ||
static void SaveIoStoreShaderCodeArchive
(
const FIoStoreShaderCodeArchiveHeader& Header, |
ShaderCodeArchive.h |