UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UE::RHICore Namespace Reference

Classes

struct  FBaseTextureInitializerImplementation
 
struct  FCustomBufferInitializer
 
struct  FDefaultBufferInitializer
 
struct  FDefaultLayoutTextureInitializer
 
struct  FDefaultTextureInitializer
 
struct  FInitializerScopedMemory
 
class  FInvalidBuffer
 
struct  FLockBufferInitializer
 
struct  FLockTextureInitializer
 
struct  FResolveTextureInfo
 
struct  FResourceState
 
struct  FUniformDataReader
 

Functions

void InitStaticUniformBufferSlots (FRHIShaderData *ShaderData)
 
void UpdateGlobalTextureStats (ETextureCreateFlags TextureFlags, ETextureDimension Dimension, uint64 TextureSizeInBytes, bool bOnlyStreamableTexturesInTexturePool, bool bAllocating)
 
void UpdateGlobalTextureStats (const FRHITextureDesc &TextureDesc, uint64 TextureSizeInBytes, bool bOnlyStreamableTexturesInTexturePool, bool bAllocating)
 
void FillBaselineTextureMemoryStats (FTextureMemoryStats &OutStats)
 
void UpdateGlobalBufferStats (const FRHIBufferDesc &BufferDesc, int64 BufferSizeDelta)
 
void UpdateGlobalBufferStats (const FRHIBufferDesc &BufferDesc, uint64 BufferSize, bool bAllocating)
 
void UpdateGlobalUniformBufferStats (int64 BufferSize, bool bAllocating)
 
void UpdateReservedResourceStatsOnCommit (int64 CommitDelta, bool bBuffer, bool bCommitting)
 
uint32 GetCombinedArrayIndex (const FRHITextureDesc &Desc, uint32 FaceIndex, uint32 ArrayIndex)
 
uint32 GetLockArrayIndex (const FRHITextureDesc &Desc, const FRHILockTextureArgs &Arguments)
 
FRHIDescriptorHandle GetBindlessParameterHandle (const FRHIShaderParameterResource &Parameter)
 
template<typename FContextRHI >
void SetShaderUAV (FContextRHI &Context, FRHIGraphicsShader *ShaderRHI, uint16 Index, FRHIUnorderedAccessView *UAV)
 
template<typename FContextRHI >
void SetShaderUAV (FContextRHI &Context, FRHIComputeShader *ShaderRHI, uint16 Index, FRHIUnorderedAccessView *UAV)
 
template<typename FContextRHI , typename TShaderRHI >
void RHISetShaderParametersShared (FContextRHI &Context, TShaderRHI *ShaderRHI, TConstArrayView< uint8 > InParametersData, TConstArrayView< FRHIShaderParameter > InParameters, TConstArrayView< FRHIShaderParameterResource > InResourceParameters, TConstArrayView< FRHIShaderParameterResource > InBindlessParameters, bool bBindUAVsFirst=true)
 
template<typename FContextRHI , typename TShaderRHI >
void RHISetShaderUnbindsShared (FContextRHI &Context, TShaderRHI *ShaderRHI, TConstArrayView< FRHIShaderParameterUnbind > InUnbinds)
 
FRHIDescriptorHandle GetBindlessResourceHandle (FUniformDataReader Reader, const FRHIUniformBufferResource &Resource)
 
void UpdateUniformBufferConstants (void *DestinationData, const void *SourceData, const FRHIUniformBufferLayout &Layout, bool bAllowBindless=true)
 
void ResolveRenderPassTargets (const FRHIRenderPassInfo &RenderPassInfo, TFunction< void(FResolveTextureInfo)> ResolveFunction)
 
FRHIViewDesc::EDimension AdjustViewInfoDimensionForNarrowing (const FRHIViewDesc::FTexture::FViewInfo &ViewInfo, const FRHITextureDesc &TextureDesc)
 
bool AllowVendorDevice ()
 
RHICORE_API void ValidateStaticUniformBuffer (FRHIUniformBuffer *UniformBuffer, FUniformBufferStaticSlot Slot, uint32 ExpectedHash)
 
RHICORE_API void SetupShaderCodeValidationData (FRHIShader *RHIShader, class FShaderCodeReader &ShaderCodeReader)
 
RHICORE_API void SetupShaderDiagnosticData (FRHIShader *RHIShader, class FShaderCodeReader &ShaderCodeReader)
 
RHICORE_API void RegisterDiagnosticMessages (const TArray< FShaderDiagnosticData > &In)
 
RHICORE_API const FString * GetDiagnosticMessage (uint32 MessageID)
 
RHICORE_API void DispatchShaderBundleEmulation (FRHIComputeCommandList &InRHICmdList, FRHIShaderBundle *ShaderBundle, FRHIBuffer *ArgumentBuffer, TConstArrayView< FRHIShaderParameterResource > SharedBindlessParameters, TConstArrayView< FRHIShaderBundleComputeDispatch > Dispatches)
 
RHICORE_API void DispatchShaderBundleEmulation (FRHICommandList &InRHICmdList, FRHIShaderBundle *ShaderBundle, FRHIBuffer *ArgumentBuffer, const FRHIShaderBundleGraphicsState &BundleState, TConstArrayView< FRHIShaderParameterResource > SharedBindlessParameters, TConstArrayView< FRHIShaderBundleGraphicsDispatch > Dispatches)
 
template<typename TApplyFunction >
void ApplyStaticUniformBuffers (FRHIShader *Shader, const TArray< FRHIUniformBuffer * > &UniformBuffers, TApplyFunction &&ApplyFunction)
 
template<typename TRHIContext , typename TRHIShader >
void ApplyStaticUniformBuffers (TRHIContext *CommandContext, TRHIShader *Shader, const TArray< FRHIUniformBuffer * > &UniformBuffers)
 

Function Documentation

◆ AdjustViewInfoDimensionForNarrowing()

RHICORE_API FRHIViewDesc::EDimension UE::RHICore::AdjustViewInfoDimensionForNarrowing ( const FRHIViewDesc::FTexture::FViewInfo ViewInfo,
const FRHITextureDesc TextureDesc 
)

◆ AllowVendorDevice()

RHICORE_API bool UE::RHICore::AllowVendorDevice ( )

◆ ApplyStaticUniformBuffers() [1/2]

void UE::RHICore::ApplyStaticUniformBuffers ( FRHIShader Shader,
const TArray< FRHIUniformBuffer * > &  UniformBuffers,
TApplyFunction &&  ApplyFunction 
)

◆ ApplyStaticUniformBuffers() [2/2]

void UE::RHICore::ApplyStaticUniformBuffers ( TRHIContext CommandContext,
TRHIShader Shader,
const TArray< FRHIUniformBuffer * > &  UniformBuffers 
)

◆ DispatchShaderBundleEmulation() [1/2]

void UE::RHICore::DispatchShaderBundleEmulation ( FRHICommandList InRHICmdList,
FRHIShaderBundle ShaderBundle,
FRHIBuffer ArgumentBuffer,
const FRHIShaderBundleGraphicsState BundleState,
TConstArrayView< FRHIShaderParameterResource SharedBindlessParameters,
TConstArrayView< FRHIShaderBundleGraphicsDispatch Dispatches 
)
extern

◆ DispatchShaderBundleEmulation() [2/2]

void UE::RHICore::DispatchShaderBundleEmulation ( FRHIComputeCommandList InRHICmdList,
FRHIShaderBundle ShaderBundle,
FRHIBuffer ArgumentBuffer,
TConstArrayView< FRHIShaderParameterResource SharedBindlessParameters,
TConstArrayView< FRHIShaderBundleComputeDispatch Dispatches 
)
extern

Common implementations of dispatch shader bundle emulation shared by RHIs

◆ FillBaselineTextureMemoryStats()

void UE::RHICore::FillBaselineTextureMemoryStats ( FTextureMemoryStats OutStats)
inline

◆ GetBindlessParameterHandle()

FRHIDescriptorHandle UE::RHICore::GetBindlessParameterHandle ( const FRHIShaderParameterResource Parameter)
inline

◆ GetBindlessResourceHandle()

FRHIDescriptorHandle UE::RHICore::GetBindlessResourceHandle ( FUniformDataReader  Reader,
const FRHIUniformBufferResource Resource 
)
inline

◆ GetCombinedArrayIndex()

uint32 UE::RHICore::GetCombinedArrayIndex ( const FRHITextureDesc Desc,
uint32  FaceIndex,
uint32  ArrayIndex 
)
inline

◆ GetDiagnosticMessage()

const FString * UE::RHICore::GetDiagnosticMessage ( uint32  MessageID)
extern

◆ GetLockArrayIndex()

uint32 UE::RHICore::GetLockArrayIndex ( const FRHITextureDesc Desc,
const FRHILockTextureArgs Arguments 
)
inline

◆ InitStaticUniformBufferSlots()

void UE::RHICore::InitStaticUniformBufferSlots ( FRHIShaderData ShaderData)
inline

◆ RegisterDiagnosticMessages()

void UE::RHICore::RegisterDiagnosticMessages ( const TArray< FShaderDiagnosticData > &  In)
extern

◆ ResolveRenderPassTargets()

RHICORE_API void UE::RHICore::ResolveRenderPassTargets ( const FRHIRenderPassInfo RenderPassInfo,
TFunction< void(FResolveTextureInfo)>  ResolveFunction 
)

◆ RHISetShaderParametersShared()

void UE::RHICore::RHISetShaderParametersShared ( FContextRHI Context,
TShaderRHI ShaderRHI,
TConstArrayView< uint8 InParametersData,
TConstArrayView< FRHIShaderParameter InParameters,
TConstArrayView< FRHIShaderParameterResource InResourceParameters,
TConstArrayView< FRHIShaderParameterResource InBindlessParameters,
bool  bBindUAVsFirst = true 
)
inline

◆ RHISetShaderUnbindsShared()

void UE::RHICore::RHISetShaderUnbindsShared ( FContextRHI Context,
TShaderRHI ShaderRHI,
TConstArrayView< FRHIShaderParameterUnbind InUnbinds 
)
inline

◆ SetShaderUAV() [1/2]

template<typename FContextRHI >
void UE::RHICore::SetShaderUAV ( FContextRHI Context,
FRHIComputeShader ShaderRHI,
uint16  Index,
FRHIUnorderedAccessView UAV 
)
inline

◆ SetShaderUAV() [2/2]

template<typename FContextRHI >
void UE::RHICore::SetShaderUAV ( FContextRHI Context,
FRHIGraphicsShader ShaderRHI,
uint16  Index,
FRHIUnorderedAccessView UAV 
)
inline

◆ SetupShaderCodeValidationData()

void UE::RHICore::SetupShaderCodeValidationData ( FRHIShader RHIShader,
class FShaderCodeReader ShaderCodeReader 
)
extern

◆ SetupShaderDiagnosticData()

void UE::RHICore::SetupShaderDiagnosticData ( FRHIShader RHIShader,
class FShaderCodeReader ShaderCodeReader 
)
extern

◆ UpdateGlobalBufferStats() [1/2]

void UE::RHICore::UpdateGlobalBufferStats ( const FRHIBufferDesc BufferDesc,
int64  BufferSizeDelta 
)
inline

◆ UpdateGlobalBufferStats() [2/2]

void UE::RHICore::UpdateGlobalBufferStats ( const FRHIBufferDesc BufferDesc,
uint64  BufferSize,
bool  bAllocating 
)
inline

◆ UpdateGlobalTextureStats() [1/2]

void UE::RHICore::UpdateGlobalTextureStats ( const FRHITextureDesc TextureDesc,
uint64  TextureSizeInBytes,
bool  bOnlyStreamableTexturesInTexturePool,
bool  bAllocating 
)
inline

◆ UpdateGlobalTextureStats() [2/2]

void UE::RHICore::UpdateGlobalTextureStats ( ETextureCreateFlags  TextureFlags,
ETextureDimension  Dimension,
uint64  TextureSizeInBytes,
bool  bOnlyStreamableTexturesInTexturePool,
bool  bAllocating 
)
inline

◆ UpdateGlobalUniformBufferStats()

void UE::RHICore::UpdateGlobalUniformBufferStats ( int64  BufferSize,
bool  bAllocating 
)
inline

◆ UpdateReservedResourceStatsOnCommit()

void UE::RHICore::UpdateReservedResourceStatsOnCommit ( int64  CommitDelta,
bool  bBuffer,
bool  bCommitting 
)
inline

◆ UpdateUniformBufferConstants()

void UE::RHICore::UpdateUniformBufferConstants ( void DestinationData,
const void SourceData,
const FRHIUniformBufferLayout Layout,
bool  bAllowBindless = true 
)
inline

◆ ValidateStaticUniformBuffer()

void UE::RHICore::ValidateStaticUniformBuffer ( FRHIUniformBuffer UniformBuffer,
FUniformBufferStaticSlot  Slot,
uint32  ExpectedHash 
)
extern

Validates that the uniform buffer at the requested static slot.