UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FRHIShaderLibrary Class Referenceabstract

#include <RHIShaderLibrary.h>

+ Inheritance diagram for FRHIShaderLibrary:

Public Member Functions

 FRHIShaderLibrary (EShaderPlatform InPlatform, FString const &InName)
 
virtual ~FRHIShaderLibrary ()
 
EShaderPlatform GetPlatform (void) const
 
const FString & GetName (void) const
 
uint32 GetId (void) const
 
virtual bool IsNativeLibrary () const =0
 
virtual int32 GetNumShaderMaps () const =0
 
virtual int32 GetNumShaders () const =0
 
virtual int32 GetNumShadersForShaderMap (int32 ShaderMapIndex) const =0
 
virtual int32 GetShaderIndex (int32 ShaderMapIndex, int32 i) const =0
 
virtual void GetAllShaderIndices (int32 ShaderMapIndex, TArray< int32 > &ShaderIndices)
 
virtual uint32 GetSizeBytes () const =0
 
virtual FSHAHash GetShaderHash (int32 ShaderMapIndex, int32 ShaderIndex)=0
 
virtual FSHAHash GetShaderMapHash (int32 ShaderMapIndex) const =0
 
virtual int32 FindShaderMapIndex (const FSHAHash &Hash)=0
 
virtual int32 FindShaderIndex (const FSHAHash &Hash)=0
 
virtual uint32 GetShaderSizeBytes (int32 ShaderIndex) const
 
virtual bool IsPreloading (int32 ShaderIndex, FGraphEventArray &OutCompletionEvents)
 
virtual bool PreloadShader (int32 ShaderIndex, FGraphEventArray &OutCompletionEvents)
 
virtual bool PreloadShaderMap (int32 ShaderMapIndex, FGraphEventArray &OutCompletionEvents)
 
virtual bool PreloadShaderMap (int32 ShaderMapIndex, FCoreDelegates::FAttachShaderReadRequestFunc AttachShaderReadRequestFunc)
 
virtual void ReleasePreloadedShader (int32 ShaderIndex)
 
virtual void AddRefPreloadedShaderGroup (int32 ShaderGroupIndex)
 
virtual void ReleasePreloadedShaderGroup (int32 ShaderGroupIndex)
 
virtual int32 GetGroupIndexForShader (int32 ShaderIndex) const
 
virtual int32 GetLibraryId ()
 
virtual TRefCountPtr< FRHIShaderCreateShader (int32 ShaderIndex, bool bRequired=true)
 
virtual void Teardown ()
 
- Public Member Functions inherited from FRHIResource
RHI_API FRHIResource (ERHIResourceType InResourceType)
 
uint32 AddRef () const
 
uint32 Release () const
 
uint32 GetRefCount () const
 
bool IsValid () const
 
void DisableLifetimeExtension ()
 
ERHIResourceType GetType () const
 
FName GetOwnerName () const
 
void SetOwnerName (FName InOwnerName)
 

Protected Attributes

EShaderPlatform Platform
 
FString LibraryName
 
uint32 LibraryId
 

Additional Inherited Members

- Protected Member Functions inherited from FRHIResource
virtual RHI_API ~FRHIResource ()
 

Constructor & Destructor Documentation

◆ FRHIShaderLibrary()

FRHIShaderLibrary::FRHIShaderLibrary ( EShaderPlatform  InPlatform,
FString const &  InName 
)
inline

◆ ~FRHIShaderLibrary()

virtual FRHIShaderLibrary::~FRHIShaderLibrary ( )
inlinevirtual

Member Function Documentation

◆ AddRefPreloadedShaderGroup()

virtual void FRHIShaderLibrary::AddRefPreloadedShaderGroup ( int32  ShaderGroupIndex)
inlinevirtual

Reimplemented in FIoStoreShaderCodeArchive.

◆ CreateShader()

virtual TRefCountPtr< FRHIShader > FRHIShaderLibrary::CreateShader ( int32  ShaderIndex,
bool  bRequired = true 
)
inlinevirtual

◆ FindShaderIndex()

virtual int32 FRHIShaderLibrary::FindShaderIndex ( const FSHAHash Hash)
pure virtual

◆ FindShaderMapIndex()

virtual int32 FRHIShaderLibrary::FindShaderMapIndex ( const FSHAHash Hash)
pure virtual

◆ GetAllShaderIndices()

virtual void FRHIShaderLibrary::GetAllShaderIndices ( int32  ShaderMapIndex,
TArray< int32 > &  ShaderIndices 
)
inlinevirtual

◆ GetGroupIndexForShader()

virtual int32 FRHIShaderLibrary::GetGroupIndexForShader ( int32  ShaderIndex) const
inlinevirtual

Reimplemented in FIoStoreShaderCodeArchive.

◆ GetId()

uint32 FRHIShaderLibrary::GetId ( void  ) const
inline

◆ GetLibraryId()

virtual int32 FRHIShaderLibrary::GetLibraryId ( )
inlinevirtual

◆ GetName()

const FString & FRHIShaderLibrary::GetName ( void  ) const
inline

◆ GetNumShaderMaps()

virtual int32 FRHIShaderLibrary::GetNumShaderMaps ( ) const
pure virtual

◆ GetNumShaders()

virtual int32 FRHIShaderLibrary::GetNumShaders ( ) const
pure virtual

◆ GetNumShadersForShaderMap()

virtual int32 FRHIShaderLibrary::GetNumShadersForShaderMap ( int32  ShaderMapIndex) const
pure virtual

◆ GetPlatform()

EShaderPlatform FRHIShaderLibrary::GetPlatform ( void  ) const
inline

◆ GetShaderHash()

virtual FSHAHash FRHIShaderLibrary::GetShaderHash ( int32  ShaderMapIndex,
int32  ShaderIndex 
)
pure virtual

◆ GetShaderIndex()

virtual int32 FRHIShaderLibrary::GetShaderIndex ( int32  ShaderMapIndex,
int32  i 
) const
pure virtual

◆ GetShaderMapHash()

virtual FSHAHash FRHIShaderLibrary::GetShaderMapHash ( int32  ShaderMapIndex) const
pure virtual

◆ GetShaderSizeBytes()

virtual uint32 FRHIShaderLibrary::GetShaderSizeBytes ( int32  ShaderIndex) const
inlinevirtual

Reimplemented in FIoStoreShaderCodeArchive.

◆ GetSizeBytes()

virtual uint32 FRHIShaderLibrary::GetSizeBytes ( ) const
pure virtual

◆ IsNativeLibrary()

virtual bool FRHIShaderLibrary::IsNativeLibrary ( ) const
pure virtual

◆ IsPreloading()

virtual bool FRHIShaderLibrary::IsPreloading ( int32  ShaderIndex,
FGraphEventArray OutCompletionEvents 
)
inlinevirtual

Reimplemented in FIoStoreShaderCodeArchive.

◆ PreloadShader()

virtual bool FRHIShaderLibrary::PreloadShader ( int32  ShaderIndex,
FGraphEventArray OutCompletionEvents 
)
inlinevirtual

◆ PreloadShaderMap() [1/2]

virtual bool FRHIShaderLibrary::PreloadShaderMap ( int32  ShaderMapIndex,
FCoreDelegates::FAttachShaderReadRequestFunc  AttachShaderReadRequestFunc 
)
inlinevirtual

Reimplemented in FIoStoreShaderCodeArchive.

◆ PreloadShaderMap() [2/2]

virtual bool FRHIShaderLibrary::PreloadShaderMap ( int32  ShaderMapIndex,
FGraphEventArray OutCompletionEvents 
)
inlinevirtual

◆ ReleasePreloadedShader()

virtual void FRHIShaderLibrary::ReleasePreloadedShader ( int32  ShaderIndex)
inlinevirtual

◆ ReleasePreloadedShaderGroup()

virtual void FRHIShaderLibrary::ReleasePreloadedShaderGroup ( int32  ShaderGroupIndex)
inlinevirtual

Reimplemented in FIoStoreShaderCodeArchive.

◆ Teardown()

virtual void FRHIShaderLibrary::Teardown ( )
inlinevirtual

Member Data Documentation

◆ LibraryId

uint32 FRHIShaderLibrary::LibraryId
protected

◆ LibraryName

FString FRHIShaderLibrary::LibraryName
protected

◆ Platform

EShaderPlatform FRHIShaderLibrary::Platform
protected

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