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

#include <RHICommandList.h>

+ Inheritance diagram for FRHICommandListImmediate:

Classes

struct  FQueuedCommandList
 

Public Types

enum class  ETranslatePriority { Disabled , Normal , High }
 
- Public Types inherited from FRHICommandListBase
enum class  EThreadFence { Enabled , Disabled }
 

Public Member Functions

void BeginDrawingViewport (FRHIViewport *Viewport, FRHITexture *RenderTargetRHI)
 
RHI_API void EndDrawingViewport (FRHIViewport *Viewport, bool bPresent, bool bLockToVsync)
 
RHI_API void EndFrame ()
 
RHI_API void QueueAsyncCommandListSubmit (TArrayView< FQueuedCommandList > CommandLists, ETranslatePriority ParallelTranslatePriority=ETranslatePriority::Disabled, int32 MinDrawsPerTranslate=0)
 
void QueueAsyncCommandListSubmit (FQueuedCommandList QueuedCommandList, ETranslatePriority ParallelTranslatePriority=ETranslatePriority::Disabled, int32 MinDrawsPerTranslate=0)
 
RHI_API void ImmediateFlush (EImmediateFlushType::Type FlushType, ERHISubmitFlags SubmitFlags=ERHISubmitFlags::None)
 
RHI_API bool StallRHIThread ()
 
RHI_API void UnStallRHIThread ()
 
RHI_API void InitializeImmediateContexts ()
 
template<typename LAMBDA >
void EnqueueLambda (const TCHAR *LambdaName, LAMBDA &&Lambda)
 
template<typename LAMBDA >
void EnqueueLambda (LAMBDA &&Lambda)
 
voidLockStagingBuffer (FRHIStagingBuffer *StagingBuffer, FRHIGPUFence *Fence, uint32 Offset, uint32 SizeRHI)
 
void UnlockStagingBuffer (FRHIStagingBuffer *StagingBuffer)
 
bool GetTextureMemoryVisualizeData (FColor *TextureData, int32 SizeX, int32 SizeY, int32 Pitch, int32 PixelSize)
 
FTextureRHIRef AsyncReallocateTexture2D (FRHITexture *Texture2D, int32 NewMipCount, int32 NewSizeX, int32 NewSizeY, FThreadSafeCounter *RequestStatus)
 
ETextureReallocationStatus FinalizeAsyncReallocateTexture2D (FRHITexture *Texture2D, bool bBlockUntilCompleted)
 
ETextureReallocationStatus CancelAsyncReallocateTexture2D (FRHITexture *Texture2D, bool bBlockUntilCompleted)
 
FRHILockTextureResult LockTexture (const FRHILockTextureArgs &Arguments)
 
void UnlockTexture (const FRHILockTextureArgs &Arguments)
 
voidLockTexture2D (FRHITexture *Texture, uint32 MipIndex, EResourceLockMode LockMode, uint32 &DestStride, bool bLockWithinMiptail, bool bFlushRHIThread=true, uint64 *OutLockedByteCount=nullptr)
 
void UnlockTexture2D (FRHITexture *Texture, uint32 MipIndex, bool bLockWithinMiptail, bool bFlushRHIThread=true)
 
voidLockTexture2DArray (FRHITexture *Texture, uint32 ArrayIndex, uint32 MipIndex, EResourceLockMode LockMode, uint32 &DestStride, bool bLockWithinMiptail)
 
void UnlockTexture2DArray (FRHITexture *Texture, uint32 ArrayIndex, uint32 MipIndex, bool bLockWithinMiptail)
 
voidLockTextureCubeFace (FRHITexture *Texture, uint32 FaceIndex, uint32 ArrayIndex, uint32 MipIndex, EResourceLockMode LockMode, uint32 &DestStride, bool bLockWithinMiptail)
 
void UnlockTextureCubeFace (FRHITexture *Texture, uint32 FaceIndex, uint32 ArrayIndex, uint32 MipIndex, bool bLockWithinMiptail)
 
FUpdateTexture3DData BeginUpdateTexture3D (FRHITexture *Texture, uint32 MipIndex, const struct FUpdateTextureRegion3D &UpdateRegion)
 
void EndUpdateTexture3D (FUpdateTexture3DData &UpdateData)
 
void EndMultiUpdateTexture3D (TArray< FUpdateTexture3DData > &UpdateDataArray)
 
void ReadSurfaceData (FRHITexture *Texture, FIntRect Rect, TArray< FColor > &OutData, FReadSurfaceDataFlags InFlags)
 
void ReadSurfaceData (FRHITexture *Texture, FIntRect Rect, TArray< FLinearColor > &OutData, FReadSurfaceDataFlags InFlags)
 
void MapStagingSurface (FRHITexture *Texture, void *&OutData, int32 &OutWidth, int32 &OutHeight, uint32 GPUIndex=INDEX_NONE)
 
void MapStagingSurface (FRHITexture *Texture, FRHIGPUFence *Fence, void *&OutData, int32 &OutWidth, int32 &OutHeight, uint32 GPUIndex=INDEX_NONE)
 
void UnmapStagingSurface (FRHITexture *Texture, uint32 GPUIndex=INDEX_NONE)
 
void ReadSurfaceFloatData (FRHITexture *Texture, FIntRect Rect, TArray< FFloat16Color > &OutData, ECubeFace CubeFace, int32 ArrayIndex, int32 MipIndex)
 
void ReadSurfaceFloatData (FRHITexture *Texture, FIntRect Rect, TArray< FFloat16Color > &OutData, FReadSurfaceDataFlags Flags)
 
void Read3DSurfaceFloatData (FRHITexture *Texture, FIntRect Rect, FIntPoint ZMinMax, TArray< FFloat16Color > &OutData, FReadSurfaceDataFlags Flags=FReadSurfaceDataFlags())
 
void FlushResources ()
 
uint32 GetGPUFrameCycles ()
 
void SubmitAndBlockUntilGPUIdle ()
 
void BlockUntilGPUIdle ()
 
void SubmitCommandsAndFlushGPU ()
 
bool IsRenderingSuspended ()
 
void VirtualTextureSetFirstMipInMemory (FRHITexture *Texture, uint32 FirstMip)
 
void VirtualTextureSetFirstMipVisible (FRHITexture *Texture, uint32 FirstMip)
 
void SerializeAccelerationStructure (FRHIRayTracingScene *Scene, const TCHAR *Path)
 
voidGetNativeDevice ()
 
voidGetNativePhysicalDevice ()
 
voidGetNativeGraphicsQueue ()
 
voidGetNativeComputeQueue ()
 
voidGetNativeInstance ()
 
voidGetNativeCommandBuffer ()
 
void SubmitCommandsHint ()
 
- Public Member Functions inherited from FRHICommandList
 FRHICommandList (FRHIGPUMask GPUMask=FRHIGPUMask::All())
 
 FRHICommandList (FRHICommandListBase &&Other)
 
FRHIVertexShaderGetBoundVertexShader () const
 
FRHIMeshShaderGetBoundMeshShader () const
 
FRHIAmplificationShaderGetBoundAmplificationShader () const
 
FRHIPixelShaderGetBoundPixelShader () const
 
FRHIGeometryShaderGetBoundGeometryShader () const
 
template<typename LAMBDA >
void EnqueueLambda (const TCHAR *LambdaName, LAMBDA &&Lambda)
 
template<typename LAMBDA >
void EnqueueLambda (LAMBDA &&Lambda)
 
void SetShaderParameters (FRHIGraphicsShader *InShader, TConstArrayView< uint8 > InParametersData, TConstArrayView< FRHIShaderParameter > InParameters, TConstArrayView< FRHIShaderParameterResource > InResourceParameters, TConstArrayView< FRHIShaderParameterResource > InBindlessParameters)
 
void SetBatchedShaderParameters (FRHIGraphicsShader *InShader, FRHIBatchedShaderParameters &InBatchedParameters)
 
void SetShaderUnbinds (FRHIGraphicsShader *InShader, TConstArrayView< FRHIShaderParameterUnbind > InUnbinds)
 
void SetBatchedShaderUnbinds (FRHIGraphicsShader *InShader, FRHIBatchedShaderUnbinds &InBatchedUnbinds)
 
void SetBlendFactor (const FLinearColor &BlendFactor=FLinearColor::White)
 
void DrawPrimitive (uint32 BaseVertexIndex, uint32 NumPrimitives, uint32 NumInstances)
 
void DrawIndexedPrimitive (FRHIBuffer *IndexBuffer, int32 BaseVertexIndex, uint32 FirstInstance, uint32 NumVertices, uint32 StartIndex, uint32 NumPrimitives, uint32 NumInstances)
 
void SetStreamSource (uint32 StreamIndex, FRHIBuffer *VertexBuffer, uint32 Offset)
 
void SetStreamSourceSlot (uint32 StreamIndex, FRHIStreamSourceSlot *StreamSourceSlot, uint32 Offset)
 
void SetStencilRef (uint32 StencilRef)
 
void SetViewport (float MinX, float MinY, float MinZ, float MaxX, float MaxY, float MaxZ)
 
void SetStereoViewport (float LeftMinX, float RightMinX, float LeftMinY, float RightMinY, float MinZ, float LeftMaxX, float RightMaxX, float LeftMaxY, float RightMaxY, float MaxZ)
 
void SetScissorRect (bool bEnable, uint32 MinX, uint32 MinY, uint32 MaxX, uint32 MaxY)
 
void ApplyCachedRenderTargets (FGraphicsPipelineStateInitializer &GraphicsPSOInit)
 
void SetGraphicsPipelineState (class FGraphicsPipelineState *GraphicsPipelineState, const FBoundShaderStateInput &ShaderInput, uint32 StencilRef, bool bApplyAdditionalState)
 
void DrawPrimitiveIndirect (FRHIBuffer *ArgumentBuffer, uint32 ArgumentOffset)
 
void DrawIndexedPrimitiveIndirect (FRHIBuffer *IndexBuffer, FRHIBuffer *ArgumentsBuffer, uint32 ArgumentOffset)
 
void MultiDrawIndexedPrimitiveIndirect (FRHIBuffer *IndexBuffer, FRHIBuffer *ArgumentsBuffer, uint32 ArgumentOffset, FRHIBuffer *CountBuffer, uint32 CountBufferOffset, uint32 MaxDrawArguments)
 
void DispatchMeshShader (uint32 ThreadGroupCountX, uint32 ThreadGroupCountY, uint32 ThreadGroupCountZ)
 
void DispatchIndirectMeshShader (FRHIBuffer *ArgumentBuffer, uint32 ArgumentOffset)
 
void SetDepthBounds (float MinDepth, float MaxDepth)
 
void GpuHangCommandListCorruption ()
 
void SetShadingRate (EVRSShadingRate ShadingRate, EVRSRateCombiner Combiner)
 
void CopyTexture (FRHITexture *SourceTextureRHI, FRHITexture *DestTextureRHI, const FRHICopyTextureInfo &CopyInfo)
 
void ResummarizeHTile (FRHITexture *DepthTexture)
 
void BeginRenderQuery (FRHIRenderQuery *RenderQuery)
 
void EndRenderQuery (FRHIRenderQuery *RenderQuery)
 
void BeginRenderPass (const FRHIRenderPassInfo &InInfo, const TCHAR *Name)
 
void EndRenderPass ()
 
void InsertParallelRenderPass (TSharedPtr< FRHIParallelRenderPassInfo > const &InInfo, TArray< FRHISubCommandList * > &&SubCommandLists)
 
void NextSubpass ()
 
void CopyBufferRegion (FRHIBuffer *DestBuffer, uint64 DstOffset, FRHIBuffer *SourceBuffer, uint64 SrcOffset, uint64 NumBytes)
 
void CommitShaderBindingTable (FRHIShaderBindingTable *SBT)
 
void CommitShaderBindingTable (FRHIShaderBindingTable *SBT, FRHIBuffer *InlineBindingDataBuffer)
 
void ClearShaderBindingTable (FRHIShaderBindingTable *SBT)
 
void SetBindingsOnShaderBindingTable (FRHIShaderBindingTable *SBT, FRayTracingPipelineState *Pipeline, uint32 NumBindings, const FRayTracingLocalShaderBindings *Bindings, ERayTracingBindingType BindingType, bool bCopyDataToInlineStorage=true)
 
void SetRayTracingHitGroups (FRHIShaderBindingTable *SBT, FRayTracingPipelineState *Pipeline, uint32 NumBindings, const FRayTracingLocalShaderBindings *Bindings, bool bCopyDataToInlineStorage=true)
 
void SetRayTracingCallableShaders (FRHIShaderBindingTable *SBT, FRayTracingPipelineState *Pipeline, uint32 NumBindings, const FRayTracingLocalShaderBindings *Bindings, bool bCopyDataToInlineStorage=true)
 
void SetRayTracingMissShaders (FRHIShaderBindingTable *SBT, FRayTracingPipelineState *Pipeline, uint32 NumBindings, const FRayTracingLocalShaderBindings *Bindings, bool bCopyDataToInlineStorage=true)
 
void SetRayTracingHitGroup (FRHIShaderBindingTable *SBT, uint32 RecordIndex, FRHIRayTracingGeometry *Geometry, uint32 GeometrySegmentIndex, FRayTracingPipelineState *Pipeline, uint32 HitGroupIndex, uint32 NumUniformBuffers, FRHIUniformBuffer *const *UniformBuffers, uint32 LooseParameterDataSize, const void *LooseParameterData, uint32 UserData)
 
void SetDefaultRayTracingHitGroup (FRHIShaderBindingTable *SBT, FRayTracingPipelineState *Pipeline, uint32 HitGroupIndex)
 
void SetRayTracingCallableShader (FRHIShaderBindingTable *SBT, uint32 RecordIndex, FRayTracingPipelineState *Pipeline, uint32 ShaderIndexInPipeline, uint32 NumUniformBuffers, FRHIUniformBuffer *const *UniformBuffers, uint32 UserData)
 
void SetRayTracingMissShader (FRHIShaderBindingTable *SBT, uint32 RecordIndex, FRayTracingPipelineState *Pipeline, uint32 ShaderIndexInPipeline, uint32 NumUniformBuffers, FRHIUniformBuffer *const *UniformBuffers, uint32 UserData)
 
void SetShaderParameters (FRHIComputeShader *InShader, TConstArrayView< uint8 > InParametersData, TConstArrayView< FRHIShaderParameter > InParameters, TConstArrayView< FRHIShaderParameterResource > InResourceParameters, TConstArrayView< FRHIShaderParameterResource > InBindlessParameters)
 
void SetBatchedShaderParameters (FRHIComputeShader *InShader, FRHIBatchedShaderParameters &InBatchedParameters)
 
void SetShaderUnbinds (FRHIComputeShader *InShader, TConstArrayView< FRHIShaderParameterUnbind > InUnbinds)
 
void SetBatchedShaderUnbinds (FRHIComputeShader *InShader, FRHIBatchedShaderUnbinds &InBatchedUnbinds)
 
- Public Member Functions inherited from FRHIComputeCommandList
 FRHIComputeCommandList (FRHIGPUMask GPUMask=FRHIGPUMask::All())
 
 FRHIComputeCommandList (FRHICommandListBase &&Other)
 
template<typename LAMBDA >
void EnqueueLambda (const TCHAR *LambdaName, LAMBDA &&Lambda)
 
template<typename LAMBDA >
void EnqueueLambda_NoMarker (LAMBDA &&Lambda)
 
template<typename LAMBDA >
void EnqueueLambda (LAMBDA &&Lambda)
 
FRHIComputeShaderGetBoundComputeShader () const
 
void SetStaticUniformBuffers (const FUniformBufferStaticBindings &UniformBuffers)
 
void SetStaticUniformBuffer (FUniformBufferStaticSlot Slot, FRHIUniformBuffer *Buffer)
 
void SetUniformBufferDynamicOffset (FUniformBufferStaticSlot Slot, uint32 Offset)
 
void SetShaderParameters (FRHIComputeShader *InShader, TConstArrayView< uint8 > InParametersData, TConstArrayView< FRHIShaderParameter > InParameters, TConstArrayView< FRHIShaderParameterResource > InResourceParameters, TConstArrayView< FRHIShaderParameterResource > InBindlessParameters)
 
void SetBatchedShaderParameters (FRHIComputeShader *InShader, FRHIBatchedShaderParameters &InBatchedParameters)
 
void SetShaderUnbinds (FRHIComputeShader *InShader, TConstArrayView< FRHIShaderParameterUnbind > InUnbinds)
 
void SetBatchedShaderUnbinds (FRHIComputeShader *InShader, FRHIBatchedShaderUnbinds &InBatchedUnbinds)
 
void SetComputePipelineState (FComputePipelineState *ComputePipelineState, FRHIComputeShader *ComputeShader)
 
void SetAsyncComputeBudget (EAsyncComputeBudget Budget)
 
void SetComputeBudget (ESyncComputeBudget Budget)
 
void DispatchComputeShader (uint32 ThreadGroupCountX, uint32 ThreadGroupCountY, uint32 ThreadGroupCountZ)
 
void DispatchIndirectComputeShader (FRHIBuffer *ArgumentBuffer, uint32 ArgumentOffset)
 
void ClearUAVFloat (FRHIUnorderedAccessView *UnorderedAccessViewRHI, const FVector4f &Values)
 
void ClearUAVUint (FRHIUnorderedAccessView *UnorderedAccessViewRHI, const FUintVector4 &Values)
 
void BeginTransitions (TArrayView< const FRHITransition * > Transitions)
 
void EndTransitions (TArrayView< const FRHITransition * > Transitions)
 
RHI_API void Transition (TArrayView< const FRHITransitionInfo > Infos, ERHITransitionCreateFlags CreateFlags=ERHITransitionCreateFlags::None)
 
void BeginTransition (const FRHITransition *Transition)
 
void EndTransition (const FRHITransition *Transition)
 
void Transition (const FRHITransitionInfo &Info, ERHITransitionCreateFlags CreateFlags=ERHITransitionCreateFlags::None)
 
RHI_API void Transition (TArrayView< const FRHITransitionInfo > Infos, ERHIPipeline SrcPipelines, ERHIPipeline DstPipelines, ERHITransitionCreateFlags TransitionCreateFlags=ERHITransitionCreateFlags::None)
 
void SetTrackedAccess (TArrayView< const FRHITrackedAccessInfo > Infos)
 
void SetTrackedAccess (TArrayView< const FRHITransitionInfo > Infos, ERHIPipeline PipelinesAfter)
 
void SetShaderRootConstants (const FUint32Vector4 &Constants)
 
void SetComputeShaderRootConstants (const FUint32Vector4 &Constants)
 
void DispatchComputeShaderBundle (FRHIShaderBundle *ShaderBundle, FRHIBuffer *RecordArgBuffer, TConstArrayView< FRHIShaderParameterResource > SharedBindlessParameters, TConstArrayView< FRHIShaderBundleComputeDispatch > Dispatches, bool bEmulated)
 
void DispatchComputeShaderBundle (TFunction< void(FRHICommandDispatchComputeShaderBundle &)> &&RecordCallback)
 
void DispatchGraphicsShaderBundle (FRHIShaderBundle *ShaderBundle, FRHIBuffer *RecordArgBuffer, const FRHIShaderBundleGraphicsState &BundleState, TConstArrayView< FRHIShaderParameterResource > SharedBindlessParameters, TConstArrayView< FRHIShaderBundleGraphicsDispatch > Dispatches, bool bEmulated)
 
void DispatchGraphicsShaderBundle (TFunction< void(FRHICommandDispatchGraphicsShaderBundle &)> &&RecordCallback)
 
void BeginUAVOverlap ()
 
void EndUAVOverlap ()
 
void BeginUAVOverlap (FRHIUnorderedAccessView *UAV)
 
void EndUAVOverlap (FRHIUnorderedAccessView *UAV)
 
void BeginUAVOverlap (TArrayView< FRHIUnorderedAccessView *const > UAVs)
 
void EndUAVOverlap (TArrayView< FRHIUnorderedAccessView *const > UAVs)
 
void SubmitCommandsHint ()
 
void CopyToStagingBuffer (FRHIBuffer *SourceBuffer, FRHIStagingBuffer *DestinationStagingBuffer, uint32 Offset, uint32 NumBytes)
 
void WriteGPUFence (FRHIGPUFence *Fence)
 
void SetGPUMask (FRHIGPUMask InGPUMask)
 
void TransferResources (TConstArrayView< FTransferResourceParams > Params)
 
void TransferResourceSignal (TConstArrayView< FTransferResourceFenceData * > FenceDatas, FRHIGPUMask SrcGPUMask)
 
void TransferResourceWait (TConstArrayView< FTransferResourceFenceData * > FenceDatas)
 
void CrossGPUTransfer (TConstArrayView< FTransferResourceParams > Params, TConstArrayView< FCrossGPUTransferFence * > PreTransfer, TConstArrayView< FCrossGPUTransferFence * > PostTransfer)
 
void CrossGPUTransferSignal (TConstArrayView< FTransferResourceParams > Params, TConstArrayView< FCrossGPUTransferFence * > PreTransfer)
 
void CrossGPUTransferWait (TConstArrayView< FCrossGPUTransferFence * > SyncPoints)
 
void RayTraceDispatch (FRayTracingPipelineState *Pipeline, FRHIRayTracingShader *RayGenShader, FRHIShaderBindingTable *SBT, const FRayTracingShaderBindings &GlobalResourceBindings, uint32 Width, uint32 Height)
 
RHI_API void RayTraceDispatch (FRayTracingPipelineState *Pipeline, FRHIRayTracingShader *RayGenShader, FRHIShaderBindingTable *SBT, FRHIBatchedShaderParameters &GlobalResourceBindings, uint32 Width, uint32 Height)
 
void RayTraceDispatchIndirect (FRayTracingPipelineState *Pipeline, FRHIRayTracingShader *RayGenShader, FRHIShaderBindingTable *SBT, const FRayTracingShaderBindings &GlobalResourceBindings, FRHIBuffer *ArgumentBuffer, uint32 ArgumentOffset)
 
RHI_API void RayTraceDispatchIndirect (FRayTracingPipelineState *Pipeline, FRHIRayTracingShader *RayGenShader, FRHIShaderBindingTable *SBT, FRHIBatchedShaderParameters &GlobalResourceBindings, FRHIBuffer *ArgumentBuffer, uint32 ArgumentOffset)
 
FORCEINLINE_DEBUGGABLE void ExecuteMultiIndirectClusterOperation (const FRayTracingClusterOperationParams &Params)
 
RHI_API void BuildAccelerationStructure (FRHIRayTracingGeometry *Geometry)
 
RHI_API void BuildAccelerationStructures (TConstArrayView< FRayTracingGeometryBuildParams > Params)
 
void BuildAccelerationStructures (TConstArrayView< FRayTracingGeometryBuildParams > Params, const FRHIBufferRange &ScratchBufferRange)
 
void BuildAccelerationStructure (const FRayTracingSceneBuildParams &SceneBuildParams)
 
void BuildAccelerationStructures (TConstArrayView< FRayTracingSceneBuildParams > Params)
 
void BindAccelerationStructureMemory (FRHIRayTracingScene *Scene, FRHIBuffer *Buffer, uint32 BufferOffset)
 
void PostExternalCommandsReset ()
 
- Public Member Functions inherited from FRHICommandListBase
 FRHICommandListBase (FRHICommandListBase const &)=delete
 
 FRHICommandListBase (FRHICommandListBase &&Other)=default
 
RHI_API ~FRHICommandListBase ()
 
bool IsImmediate () const
 
FRHICommandListImmediateGetAsImmediate ()
 
const int32 GetUsedMemory () const
 
bool AllowParallelTranslate () const
 
RHI_API void AddDispatchPrerequisite (const FGraphEventRef &Prereq)
 
RHI_API void FinishRecording ()
 
voidAlloc (int64 AllocSize, int64 Alignment)
 
voidAllocCopy (const void *InSourceData, int64 AllocSize, int64 Alignment)
 
template<typename T >
T * Alloc ()
 
template<typename T >
const TArrayView< T > AllocArrayUninitialized (uint32 Num)
 
template<typename T >
const TArrayView< T > AllocArray (TConstArrayView< T > InArray)
 
TCHARAllocString (const TCHAR *Name)
 
voidAllocCommand (int32 AllocSize, int32 Alignment)
 
template<typename TCmd >
voidAllocCommand ()
 
template<typename LAMBDA >
void EnqueueLambda (const TCHAR *LambdaName, LAMBDA &&Lambda)
 
template<typename LAMBDA >
void EnqueueLambda (LAMBDA &&Lambda)
 
template<typename LAMBDA >
void EnqueueLambdaMultiPipe (ERHIPipeline Pipelines, EThreadFence ThreadFence, const TCHAR *LambdaName, LAMBDA &&Lambda)
 
bool HasCommands () const
 
bool IsExecuting () const
 
bool IsBottomOfPipe () const
 
bool IsTopOfPipe () const
 
bool IsGraphics () const
 
bool IsAsyncCompute () const
 
ERHIPipeline GetPipeline () const
 
ERHIPipeline GetPipelines () const
 
IRHICommandContextGetContext ()
 
IRHIComputeContextGetComputeContext ()
 
IRHIUploadContextGetUploadContext ()
 
bool Bypass () const
 
bool IsSubCommandList () const
 
RHI_API void TransitionInternal (TConstArrayView< FRHITransitionInfo > Infos, ERHITransitionCreateFlags CreateFlags=ERHITransitionCreateFlags::None)
 
void TransitionInternal (const FRHITransitionInfo &Info, ERHITransitionCreateFlags CreateFlags=ERHITransitionCreateFlags::None)
 
RHI_API ERHIPipeline SwitchPipeline (ERHIPipeline Pipeline)
 
FRHIGPUMask GetGPUMask () const
 
bool IsRecursive () const
 
bool IsOutsideRenderPass () const
 
bool IsInsideRenderPass () const
 
bool IsInsideComputePass () const
 
RHI_API FGraphEventRef RHIThreadFence (bool bSetLockFence=false)
 
voidLockBuffer (FRHIBuffer *Buffer, uint32 Offset, uint32 SizeRHI, EResourceLockMode LockMode)
 
void UnlockBuffer (FRHIBuffer *Buffer)
 
voidLockBufferMGPU (FRHIBuffer *Buffer, uint32 GPUIndex, uint32 Offset, uint32 SizeRHI, EResourceLockMode LockMode)
 
void UnlockBufferMGPU (FRHIBuffer *Buffer, uint32 GPUIndex)
 
FRHIBufferInitializer CreateBufferInitializer (const FRHIBufferCreateDesc &CreateDesc)
 
FBufferRHIRef CreateBuffer (const FRHIBufferCreateDesc &CreateDesc)
 
PRAGMA_DISABLE_DEPRECATION_WARNINGS FBufferRHIRef CreateNullBuffer (ERHIAccess ResourceState, FRHIResourceCreateInfo &CreateInfo)
 
FBufferRHIRef CreateBuffer (uint32 Size, EBufferUsageFlags Usage, uint32 Stride, ERHIAccess ResourceState, FRHIResourceCreateInfo &CreateInfo)
 
FBufferRHIRef CreateVertexBuffer (uint32 Size, EBufferUsageFlags Usage, ERHIAccess ResourceState, FRHIResourceCreateInfo &CreateInfo)
 
FBufferRHIRef CreateVertexBuffer (uint32 Size, EBufferUsageFlags Usage, FRHIResourceCreateInfo &CreateInfo)
 
FBufferRHIRef CreateStructuredBuffer (uint32 Stride, uint32 Size, EBufferUsageFlags Usage, ERHIAccess ResourceState, FRHIResourceCreateInfo &CreateInfo)
 
FBufferRHIRef CreateStructuredBuffer (uint32 Stride, uint32 Size, EBufferUsageFlags Usage, FRHIResourceCreateInfo &CreateInfo)
 
FBufferRHIRef CreateIndexBuffer (uint32 Stride, uint32 Size, EBufferUsageFlags Usage, ERHIAccess ResourceState, FRHIResourceCreateInfo &CreateInfo)
 
FBufferRHIRef CreateIndexBuffer (uint32 Stride, uint32 Size, EBufferUsageFlags Usage, FRHIResourceCreateInfo &CreateInfo)
 
PRAGMA_ENABLE_DEPRECATION_WARNINGS void UpdateUniformBuffer (FRHIUniformBuffer *UniformBufferRHI, const void *Contents)
 
void UpdateStreamSourceSlot (FRHIStreamSourceSlot *StreamSourceSlotRHI, FRHIBuffer *BufferRHI)
 
void UpdateTexture2D (FRHITexture *Texture, uint32 MipIndex, const struct FUpdateTextureRegion2D &UpdateRegion, uint32 SourcePitch, const uint8 *SourceData)
 
FRHITextureInitializer CreateTextureInitializer (const FRHITextureCreateDesc &CreateDesc)
 
FTextureRHIRef CreateTexture (const FRHITextureCreateDesc &CreateDesc)
 
void UpdateFromBufferTexture2D (FRHITexture *Texture, uint32 MipIndex, const struct FUpdateTextureRegion2D &UpdateRegion, uint32 SourcePitch, FRHIBuffer *Buffer, uint32 BufferOffset)
 
void UpdateTexture3D (FRHITexture *Texture, uint32 MipIndex, const struct FUpdateTextureRegion3D &UpdateRegion, uint32 SourceRowPitch, uint32 SourceDepthPitch, const uint8 *SourceData)
 
FTextureReferenceRHIRef CreateTextureReference (FRHITexture *InReferencedTexture=nullptr)
 
RHI_API void UpdateTextureReference (FRHITextureReference *TextureRef, FRHITexture *NewTexture)
 
FShaderResourceViewRHIRef CreateShaderResourceView (FRHIBuffer *Buffer, FRHIViewDesc::FBufferSRV::FInitializer const &ViewDesc)
 
FShaderResourceViewRHIRef CreateShaderResourceView (FRHITexture *Texture, FRHIViewDesc::FTextureSRV::FInitializer const &ViewDesc)
 
FUnorderedAccessViewRHIRef CreateUnorderedAccessView (FRHIBuffer *Buffer, FRHIViewDesc::FBufferUAV::FInitializer const &ViewDesc)
 
FUnorderedAccessViewRHIRef CreateUnorderedAccessView (FRHITexture *Texture, FRHIViewDesc::FTextureUAV::FInitializer const &ViewDesc)
 
FShaderResourceViewRHIRef CreateShaderResourceView (const FShaderResourceViewInitializer &Initializer)
 
FUnorderedAccessViewRHIRef CreateUnorderedAccessView (FRHIBuffer *Buffer, bool bUseUAVCounter, bool bAppendBuffer)
 
FUnorderedAccessViewRHIRef CreateUnorderedAccessView (FRHIBuffer *Buffer, uint8 Format)
 
FUnorderedAccessViewRHIRef CreateUnorderedAccessView (FRHITexture *Texture, uint32 MipLevel=0, uint16 FirstArraySlice=0, uint16 NumArraySlices=0)
 
FUnorderedAccessViewRHIRef CreateUnorderedAccessView (FRHITexture *Texture, uint32 MipLevel, uint8 Format, uint16 FirstArraySlice=0, uint16 NumArraySlices=0)
 
FShaderResourceViewRHIRef CreateShaderResourceView (FRHIBuffer *Buffer)
 
FShaderResourceViewRHIRef CreateShaderResourceView (FRHIBuffer *Buffer, uint32 Stride, uint8 Format)
 
FShaderResourceViewRHIRef CreateShaderResourceView (FRHITexture *Texture, const FRHITextureSRVCreateInfo &CreateInfo)
 
FShaderResourceViewRHIRef CreateShaderResourceView (FRHITexture *Texture, uint8 MipLevel)
 
FShaderResourceViewRHIRef CreateShaderResourceView (FRHITexture *Texture, uint8 MipLevel, uint8 NumMipLevels, EPixelFormat Format)
 
FShaderResourceViewRHIRef CreateShaderResourceViewWriteMask (FRHITexture *Texture2DRHI)
 
FShaderResourceViewRHIRef CreateShaderResourceViewFMask (FRHITexture *Texture2DRHI)
 
FRHIResourceCollectionRef CreateResourceCollection (TConstArrayView< FRHIResourceCollectionMember > InMembers)
 
void UpdateResourceCollection (FRHIResourceCollection *InResourceCollection, uint32 InStartIndex, TConstArrayView< FRHIResourceCollectionMember > InMemberUpdates)
 
FRayTracingGeometryRHIRef CreateRayTracingGeometry (const FRayTracingGeometryInitializer &Initializer)
 
FShaderBindingTableRHIRef CreateRayTracingShaderBindingTable (const FRayTracingShaderBindingTableInitializer &Initializer)
 
void ReplaceResources (TArray< FRHIResourceReplaceInfo > &&ReplaceInfos)
 
void BindDebugLabelName (FRHITexture *Texture, const TCHAR *Name)
 
void BindDebugLabelName (FRHIBuffer *Buffer, const TCHAR *Name)
 
void BindDebugLabelName (FRHIUnorderedAccessView *UnorderedAccessViewRHI, const TCHAR *Name)
 
FRHIBatchedShaderParametersGetScratchShaderParameters ()
 
FRHIBatchedShaderUnbindsGetScratchShaderUnbinds ()
 
bool NeedsShaderUnbinds () const
 
bool NeedsExtraTransitions () const
 
bool SetAllowExtraTransitions (bool NewState)
 
FRHIBatchedShaderParametersAllocatorCreateBatchedShaderParameterAllocator (ERHIBatchedShaderParameterAllocatorPageSize PageSize)
 
void Stats_AddDraw ()
 
void Stats_AddDrawAndPrimitives (EPrimitiveType PrimitiveType, uint32 NumPrimitives)
 
TStaticArray< void *, MAX_NUM_GPUS > & GetQueryBatchData (ERenderQueryType QueryType)
 

Static Public Member Functions

static FRHICommandListImmediateGet ()
 
static FRHICommandListImmediateGet (FRHICommandListBase &RHICmdList)
 
static RHI_API bool IsStalled ()
 
- Static Public Member Functions inherited from FRHICommandList
static FRHICommandListGet (FRHICommandListBase &RHICmdList)
 
- Static Public Member Functions inherited from FRHIComputeCommandList
static FRHIComputeCommandListGet (FRHICommandListBase &RHICmdList)
 

Friends

class FRHICommandListExecutor
 
class FRHICommandListScopedExtendResourceLifetime
 
void RHI_API RHIResourceLifetimeReleaseRef (FRHICommandListImmediate &, int32)
 

Additional Inherited Members

- Protected Member Functions inherited from FRHICommandList
void OnBoundShaderChanged (const FBoundShaderStateInput &InBoundShaderStateInput)
 
 FRHICommandList (FRHIGPUMask GPUMask, bool bImmediate)
 
void OnBoundShaderChanged (FRHIComputeShader *InBoundComputeShaderRHI)
 
- Protected Member Functions inherited from FRHIComputeCommandList
void OnBoundShaderChanged (FRHIComputeShader *InBoundComputeShaderRHI)
 
 FRHIComputeCommandList (FRHIGPUMask GPUMask, bool bImmediate)
 
- Protected Member Functions inherited from FRHICommandListBase
RHI_API FRHICommandListBase (FRHIGPUMask InGPUMask, bool bInImmediate)
 
RHI_API void ActivatePipelines (ERHIPipeline Pipelines)
 
RHI_API void InsertParallelRenderPass_Base (TSharedPtr< FRHIParallelRenderPassInfo > const &InInfo, TArray< FRHISubCommandList * > &&SubCommandLists)
 
FMemStackBaseGetAllocator ()
 
void ValidateBoundShader (FRHIVertexShader *ShaderRHI)
 
void ValidateBoundShader (FRHIPixelShader *ShaderRHI)
 
void ValidateBoundShader (FRHIGeometryShader *ShaderRHI)
 
void ValidateBoundShader (FRHIComputeShader *ShaderRHI)
 
void ValidateBoundShader (FRHIWorkGraphShader *ShaderRHI)
 
void ValidateBoundShader (FRHIMeshShader *ShaderRHI)
 
void ValidateBoundShader (FRHIAmplificationShader *ShaderRHI)
 
void ValidateBoundShader (FRHIGraphicsShader *ShaderRHI)
 
void ValidateShaderParameters (const FRHIBatchedShaderParameters &ShaderParameters)
 
void ValidateShaderBundleComputeDispatch (TConstArrayView< FRHIShaderBundleComputeDispatch > Dispatches)
 
void CacheActiveRenderTargets (const FRHIRenderPassInfo &Info)
 
void IncrementSubpass ()
 
void ResetSubpass (ESubpassHint SubpassHint)
 
void AddPendingBufferUpload (FRHIBuffer *InBuffer)
 
void RemovePendingBufferUpload (FRHIBuffer *InBuffer)
 
void AddPendingTextureUpload (FRHITexture *InTexture)
 
void RemovePendingTextureUpload (FRHITexture *InTexture)
 
- Protected Attributes inherited from FRHICommandListBase
FMemStackBase MemManager
 
FRHICommandBaseRoot = nullptr
 
FRHICommandBase ** CommandLink = nullptr
 
IRHICommandContextGraphicsContext = nullptr
 
IRHIComputeContextComputeContext = nullptr
 
IRHIUploadContextUploadContext = nullptr
 
FRHIContextArray Contexts { InPlace, nullptr }
 
uint32 NumCommands = 0
 
bool bExecuting = false
 
bool bAllowParallelTranslate = true
 
bool bUsesSetTrackedAccess = false
 
bool bUsesShaderBundles = false
 
bool bUsesLockFence = false
 
bool bAllowExtraTransitions = true
 
ERHIPipeline ActivePipelines = ERHIPipeline::None
 
struct FRHICommandRHIThreadFenceLastLockFenceCommand = nullptr
 
TArray< FRHICommandListBase * > AttachedCmdLists
 
TSharedPtr< FRHIParallelRenderPassInfoSubRenderPassInfo
 
TSharedPtr< FRHIParallelRenderPassInfoParallelRenderPassBegin
 
TSharedPtr< FRHIParallelRenderPassInfoParallelRenderPassEnd
 
FGraphEventRef DispatchEvent
 
FShaderParameterState ShaderParameterState
 
FRHIBatchedShaderUnbinds ScratchShaderUnbinds
 
struct FRHICommandListBase::FPersistentState PersistentState
 
FRHIDrawStats DrawStats {}
 
TArray< FRHIBuffer * > PendingBufferUploads
 
TArray< FRHITexture * > PendingTextureUploads
 

Member Enumeration Documentation

◆ ETranslatePriority

Enumerator
Disabled 
Normal 
High 

Member Function Documentation

◆ AsyncReallocateTexture2D()

FTextureRHIRef FRHICommandListImmediate::AsyncReallocateTexture2D ( FRHITexture Texture2D,
int32  NewMipCount,
int32  NewSizeX,
int32  NewSizeY,
FThreadSafeCounter RequestStatus 
)
inline

◆ BeginDrawingViewport()

void FRHICommandListImmediate::BeginDrawingViewport ( FRHIViewport Viewport,
FRHITexture RenderTargetRHI 
)
inline

◆ BeginUpdateTexture3D()

FUpdateTexture3DData FRHICommandListImmediate::BeginUpdateTexture3D ( FRHITexture Texture,
uint32  MipIndex,
const struct FUpdateTextureRegion3D UpdateRegion 
)
inline

◆ BlockUntilGPUIdle()

void FRHICommandListImmediate::BlockUntilGPUIdle ( )
inline

◆ CancelAsyncReallocateTexture2D()

ETextureReallocationStatus FRHICommandListImmediate::CancelAsyncReallocateTexture2D ( FRHITexture Texture2D,
bool  bBlockUntilCompleted 
)
inline

◆ EndDrawingViewport()

void FRHICommandListImmediate::EndDrawingViewport ( FRHIViewport Viewport,
bool  bPresent,
bool  bLockToVsync 
)

◆ EndFrame()

void FRHICommandListImmediate::EndFrame ( )

◆ EndMultiUpdateTexture3D()

void FRHICommandListImmediate::EndMultiUpdateTexture3D ( TArray< FUpdateTexture3DData > &  UpdateDataArray)
inline

◆ EndUpdateTexture3D()

void FRHICommandListImmediate::EndUpdateTexture3D ( FUpdateTexture3DData UpdateData)
inline

◆ EnqueueLambda() [1/2]

template<typename LAMBDA >
void FRHICommandListImmediate::EnqueueLambda ( const TCHAR LambdaName,
LAMBDA &&  Lambda 
)
inline

◆ EnqueueLambda() [2/2]

template<typename LAMBDA >
void FRHICommandListImmediate::EnqueueLambda ( LAMBDA &&  Lambda)
inline

◆ FinalizeAsyncReallocateTexture2D()

ETextureReallocationStatus FRHICommandListImmediate::FinalizeAsyncReallocateTexture2D ( FRHITexture Texture2D,
bool  bBlockUntilCompleted 
)
inline

◆ FlushResources()

void FRHICommandListImmediate::FlushResources ( )
inline

◆ Get() [1/2]

FRHICommandListImmediate & FRHICommandListImmediate::Get ( )
inlinestatic

◆ Get() [2/2]

static FRHICommandListImmediate & FRHICommandListImmediate::Get ( FRHICommandListBase RHICmdList)
inlinestatic

◆ GetGPUFrameCycles()

uint32 FRHICommandListImmediate::GetGPUFrameCycles ( )
inline

◆ GetNativeCommandBuffer()

void * FRHICommandListImmediate::GetNativeCommandBuffer ( )
inline

◆ GetNativeComputeQueue()

void * FRHICommandListImmediate::GetNativeComputeQueue ( )
inline

◆ GetNativeDevice()

void * FRHICommandListImmediate::GetNativeDevice ( )
inline

◆ GetNativeGraphicsQueue()

void * FRHICommandListImmediate::GetNativeGraphicsQueue ( )
inline

◆ GetNativeInstance()

void * FRHICommandListImmediate::GetNativeInstance ( )
inline

◆ GetNativePhysicalDevice()

void * FRHICommandListImmediate::GetNativePhysicalDevice ( )
inline

◆ GetTextureMemoryVisualizeData()

bool FRHICommandListImmediate::GetTextureMemoryVisualizeData ( FColor TextureData,
int32  SizeX,
int32  SizeY,
int32  Pitch,
int32  PixelSize 
)
inline

◆ ImmediateFlush()

RHI_API void FRHICommandListImmediate::ImmediateFlush ( EImmediateFlushType::Type  FlushType,
ERHISubmitFlags  SubmitFlags = ERHISubmitFlags::None 
)

◆ InitializeImmediateContexts()

void FRHICommandListImmediate::InitializeImmediateContexts ( )

◆ IsRenderingSuspended()

bool FRHICommandListImmediate::IsRenderingSuspended ( )
inline

◆ IsStalled()

bool FRHICommandListImmediate::IsStalled ( )
static

◆ LockStagingBuffer()

void * FRHICommandListImmediate::LockStagingBuffer ( FRHIStagingBuffer StagingBuffer,
FRHIGPUFence Fence,
uint32  Offset,
uint32  SizeRHI 
)
inline

◆ LockTexture()

FRHILockTextureResult FRHICommandListImmediate::LockTexture ( const FRHILockTextureArgs Arguments)
inline

◆ LockTexture2D()

void * FRHICommandListImmediate::LockTexture2D ( FRHITexture Texture,
uint32  MipIndex,
EResourceLockMode  LockMode,
uint32 DestStride,
bool  bLockWithinMiptail,
bool  bFlushRHIThread = true,
uint64 OutLockedByteCount = nullptr 
)
inline

◆ LockTexture2DArray()

void * FRHICommandListImmediate::LockTexture2DArray ( FRHITexture Texture,
uint32  ArrayIndex,
uint32  MipIndex,
EResourceLockMode  LockMode,
uint32 DestStride,
bool  bLockWithinMiptail 
)
inline

◆ LockTextureCubeFace()

void * FRHICommandListImmediate::LockTextureCubeFace ( FRHITexture Texture,
uint32  FaceIndex,
uint32  ArrayIndex,
uint32  MipIndex,
EResourceLockMode  LockMode,
uint32 DestStride,
bool  bLockWithinMiptail 
)
inline

◆ MapStagingSurface() [1/2]

void FRHICommandListImmediate::MapStagingSurface ( FRHITexture Texture,
FRHIGPUFence Fence,
void *&  OutData,
int32 OutWidth,
int32 OutHeight,
uint32  GPUIndex = INDEX_NONE 
)
inline

◆ MapStagingSurface() [2/2]

void FRHICommandListImmediate::MapStagingSurface ( FRHITexture Texture,
void *&  OutData,
int32 OutWidth,
int32 OutHeight,
uint32  GPUIndex = INDEX_NONE 
)
inline

◆ QueueAsyncCommandListSubmit() [1/2]

void FRHICommandListImmediate::QueueAsyncCommandListSubmit ( FQueuedCommandList  QueuedCommandList,
ETranslatePriority  ParallelTranslatePriority = ETranslatePriority::Disabled,
int32  MinDrawsPerTranslate = 0 
)
inline

◆ QueueAsyncCommandListSubmit() [2/2]

RHI_API void FRHICommandListImmediate::QueueAsyncCommandListSubmit ( TArrayView< FQueuedCommandList CommandLists,
ETranslatePriority  ParallelTranslatePriority = ETranslatePriority::Disabled,
int32  MinDrawsPerTranslate = 0 
)

◆ Read3DSurfaceFloatData()

void FRHICommandListImmediate::Read3DSurfaceFloatData ( FRHITexture Texture,
FIntRect  Rect,
FIntPoint  ZMinMax,
TArray< FFloat16Color > &  OutData,
FReadSurfaceDataFlags  Flags = FReadSurfaceDataFlags() 
)
inline

◆ ReadSurfaceData() [1/2]

void FRHICommandListImmediate::ReadSurfaceData ( FRHITexture Texture,
FIntRect  Rect,
TArray< FColor > &  OutData,
FReadSurfaceDataFlags  InFlags 
)
inline

◆ ReadSurfaceData() [2/2]

void FRHICommandListImmediate::ReadSurfaceData ( FRHITexture Texture,
FIntRect  Rect,
TArray< FLinearColor > &  OutData,
FReadSurfaceDataFlags  InFlags 
)
inline

◆ ReadSurfaceFloatData() [1/2]

void FRHICommandListImmediate::ReadSurfaceFloatData ( FRHITexture Texture,
FIntRect  Rect,
TArray< FFloat16Color > &  OutData,
ECubeFace  CubeFace,
int32  ArrayIndex,
int32  MipIndex 
)
inline

◆ ReadSurfaceFloatData() [2/2]

void FRHICommandListImmediate::ReadSurfaceFloatData ( FRHITexture Texture,
FIntRect  Rect,
TArray< FFloat16Color > &  OutData,
FReadSurfaceDataFlags  Flags 
)
inline

◆ SerializeAccelerationStructure()

void FRHICommandListImmediate::SerializeAccelerationStructure ( FRHIRayTracingScene Scene,
const TCHAR Path 
)
inline

◆ StallRHIThread()

bool FRHICommandListImmediate::StallRHIThread ( )

◆ SubmitAndBlockUntilGPUIdle()

void FRHICommandListImmediate::SubmitAndBlockUntilGPUIdle ( )
inline

◆ SubmitCommandsAndFlushGPU()

void FRHICommandListImmediate::SubmitCommandsAndFlushGPU ( )
inline

◆ SubmitCommandsHint()

void FRHICommandListImmediate::SubmitCommandsHint ( )
inline

◆ UnlockStagingBuffer()

void FRHICommandListImmediate::UnlockStagingBuffer ( FRHIStagingBuffer StagingBuffer)
inline

◆ UnlockTexture()

void FRHICommandListImmediate::UnlockTexture ( const FRHILockTextureArgs Arguments)
inline

◆ UnlockTexture2D()

void FRHICommandListImmediate::UnlockTexture2D ( FRHITexture Texture,
uint32  MipIndex,
bool  bLockWithinMiptail,
bool  bFlushRHIThread = true 
)
inline

◆ UnlockTexture2DArray()

void FRHICommandListImmediate::UnlockTexture2DArray ( FRHITexture Texture,
uint32  ArrayIndex,
uint32  MipIndex,
bool  bLockWithinMiptail 
)
inline

◆ UnlockTextureCubeFace()

void FRHICommandListImmediate::UnlockTextureCubeFace ( FRHITexture Texture,
uint32  FaceIndex,
uint32  ArrayIndex,
uint32  MipIndex,
bool  bLockWithinMiptail 
)
inline

◆ UnmapStagingSurface()

void FRHICommandListImmediate::UnmapStagingSurface ( FRHITexture Texture,
uint32  GPUIndex = INDEX_NONE 
)
inline

◆ UnStallRHIThread()

void FRHICommandListImmediate::UnStallRHIThread ( )

◆ VirtualTextureSetFirstMipInMemory()

void FRHICommandListImmediate::VirtualTextureSetFirstMipInMemory ( FRHITexture Texture,
uint32  FirstMip 
)
inline

◆ VirtualTextureSetFirstMipVisible()

void FRHICommandListImmediate::VirtualTextureSetFirstMipVisible ( FRHITexture Texture,
uint32  FirstMip 
)
inline

Friends And Related Symbol Documentation

◆ FRHICommandListExecutor

◆ FRHICommandListScopedExtendResourceLifetime

◆ RHIResourceLifetimeReleaseRef

void RHI_API RHIResourceLifetimeReleaseRef ( FRHICommandListImmediate ,
int32   
)
friend

Releases a reference to defer deletion of RHI resources. If the reference count hits zero, resources are queued for deletion.


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