UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FShaderMapResource_SharedCode Class Referencefinal
+ Inheritance diagram for FShaderMapResource_SharedCode:

Public Member Functions

 FShaderMapResource_SharedCode (class FShaderLibraryInstance *InLibraryInstance, int32 InShaderMapIndex)
 
virtual ~FShaderMapResource_SharedCode ()
 
virtual void ReleaseResource () override
 
virtual void ReleaseRHI () override
 
virtual FSHAHash GetShaderHash (int32 ShaderIndex) override
 
virtual FRHIShaderCreateRHIShaderOrCrash (int32 ShaderIndex, bool bRequired) override
 
virtual void ReleasePreloadedShaderCode (int32 ShaderIndex) override
 
virtual void PreloadShader (int32 ShaderIndex, FGraphEventArray &OutCompletionEvents) override
 
virtual void PreloadShaderMap (FGraphEventArray &OutCompletionEvents) override
 
virtual bool TryRelease () override
 
virtual uint32 GetSizeBytes () const override
 
virtual FString GetFriendlyName () const override
 
virtual int32 GetGroupIndexForShader (int32 ShaderIndex) const override
 
virtual int32 GetLibraryId () const override
 
virtual int32 GetLibraryShaderIndex (int32 ShaderIndex) const override
 
virtual uint32 GetShaderSizeBytes (int32 ShaderIndex) const override
 
virtual FSHAHash GetShaderMapHash () const override
 
- Public Member Functions inherited from FShaderMapResource
EShaderPlatform GetPlatform () const
 
RENDERCORE_API void AddRef ()
 
RENDERCORE_API void Release ()
 
int32 GetNumRefs () const
 
int32 GetNumShaders () const
 
bool IsValidShaderIndex (int32 ShaderIndex) const
 
bool HasShader (int32 ShaderIndex) const
 
bool ContainsAtLeastOneRHIShaderCreated () const
 
FRHIShaderGetShader (int32 ShaderIndex, bool bRequired=true)
 
RENDERCORE_API void BeginCreateAllShaders ()
 
- 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)
 
RENDERCORE_API void UpdateRHI (FRHICommandListBase &RHICmdList)
 
bool IsInitialized () const
 
int32 GetListIndex () const
 
EInitPhase GetInitPhase () const
 
void SetOwnerName (FName InOwnerName)
 
FName GetOwnerName () const
 
void SetResourceName (FName InResourceName)
 
FName GetResourceName () const
 
- Public Member Functions inherited from FDeferredCleanupInterface
virtual ~FDeferredCleanupInterface ()
 

Public Attributes

class FShaderLibraryInstanceLibraryInstance
 
int32 ShaderMapIndex
 
bool bEntireShaderMapPreloaded
 
- Public Attributes inherited from FRenderResource
ERenderResourceState ResourceState = ERenderResourceState::Default
 

Additional Inherited Members

- Public Types inherited from FRenderResource
enum class  EInitPhase : uint8 { Pre , Default , MAX }
 
- Static Public Member Functions inherited from FShaderMapResource
static RENDERCORE_API bool ArePlatformsCompatible (EShaderPlatform CurrentPlatform, EShaderPlatform TargetPlatform)
 
- 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)
 
- Protected Member Functions inherited from FShaderMapResource
RENDERCORE_API FShaderMapResource (EShaderPlatform InPlatform, int32 NumShaders)
 
virtual RENDERCORE_API ~FShaderMapResource ()
 
SIZE_T GetAllocatedSize () const
 
RENDERCORE_API void ReleaseShaders ()
 
- 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 ()
 

Constructor & Destructor Documentation

◆ FShaderMapResource_SharedCode()

FShaderMapResource_SharedCode::FShaderMapResource_SharedCode ( class FShaderLibraryInstance InLibraryInstance,
int32  InShaderMapIndex 
)

◆ ~FShaderMapResource_SharedCode()

FShaderMapResource_SharedCode::~FShaderMapResource_SharedCode ( )
virtual

Member Function Documentation

◆ CreateRHIShaderOrCrash()

FRHIShader * FShaderMapResource_SharedCode::CreateRHIShaderOrCrash ( int32  ShaderIndex,
bool  bRequired 
)
overridevirtual

Creates RHI shader, with a reference (so the caller can release). Never returns nullptr (inability to create is Fatal)

Implements FShaderMapResource.

◆ GetFriendlyName()

FString FShaderMapResource_SharedCode::GetFriendlyName ( ) const
overridevirtual
Returns
The resource's friendly name. Typically a UObject name.

Reimplemented from FRenderResource.

◆ GetGroupIndexForShader()

int32 FShaderMapResource_SharedCode::GetGroupIndexForShader ( int32  ShaderIndex) const
overridevirtual

Reimplemented from FShaderMapResource.

◆ GetLibraryId()

int32 FShaderMapResource_SharedCode::GetLibraryId ( ) const
overridevirtual

Reimplemented from FShaderMapResource.

◆ GetLibraryShaderIndex()

int32 FShaderMapResource_SharedCode::GetLibraryShaderIndex ( int32  ShaderIndex) const
overridevirtual

Reimplemented from FShaderMapResource.

◆ GetShaderHash()

FSHAHash FShaderMapResource_SharedCode::GetShaderHash ( int32  ShaderIndex)
overridevirtual

Return shader hash for a particular shader without creating it.

Implements FShaderMapResource.

◆ GetShaderMapHash()

FSHAHash FShaderMapResource_SharedCode::GetShaderMapHash ( ) const
overridevirtual

Reimplemented from FShaderMapResource.

◆ GetShaderSizeBytes()

uint32 FShaderMapResource_SharedCode::GetShaderSizeBytes ( int32  ShaderIndex) const
overridevirtual

Reimplemented from FShaderMapResource.

◆ GetSizeBytes()

virtual uint32 FShaderMapResource_SharedCode::GetSizeBytes ( ) const
inlineoverridevirtual

Implements FShaderMapResource.

◆ PreloadShader()

void FShaderMapResource_SharedCode::PreloadShader ( int32  ShaderIndex,
FGraphEventArray OutCompletionEvents 
)
overridevirtual

Reimplemented from FShaderMapResource.

◆ PreloadShaderMap()

void FShaderMapResource_SharedCode::PreloadShaderMap ( FGraphEventArray OutCompletionEvents)
overridevirtual

Reimplemented from FShaderMapResource.

◆ ReleasePreloadedShaderCode()

void FShaderMapResource_SharedCode::ReleasePreloadedShaderCode ( int32  ShaderIndex)
overridevirtual

Signal the shader library that it can release compressed shader code for a shader that it keeps preloaded in memory.

Reimplemented from FShaderMapResource.

◆ ReleaseResource()

virtual void FShaderMapResource_SharedCode::ReleaseResource ( )
inlineoverridevirtual

Prepares the resource for deletion. This is only called by the rendering thread.

Reimplemented from FRenderResource.

◆ ReleaseRHI()

void FShaderMapResource_SharedCode::ReleaseRHI ( )
overridevirtual

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 FShaderMapResource.

◆ TryRelease()

bool FShaderMapResource_SharedCode::TryRelease ( )
overridevirtual

Reimplemented from FShaderMapResource.

Member Data Documentation

◆ bEntireShaderMapPreloaded

bool FShaderMapResource_SharedCode::bEntireShaderMapPreloaded

◆ LibraryInstance

class FShaderLibraryInstance* FShaderMapResource_SharedCode::LibraryInstance

◆ ShaderMapIndex

int32 FShaderMapResource_SharedCode::ShaderMapIndex

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