UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
TRHICommandList_RecursiveHazardous< ContextType > Class Template Reference

#include <RHICommandList.h>

+ Inheritance diagram for TRHICommandList_RecursiveHazardous< ContextType >:

Public Member Functions

 TRHICommandList_RecursiveHazardous (ContextType *Context)
 
template<typename LAMBDA >
void RunOnContext (LAMBDA &&Lambda)
 
- Public Member Functions inherited from FRHICommandList_RecursiveHazardous
RHI_API FRHICommandList_RecursiveHazardous (IRHICommandContext *Context)
 
RHI_API ~FRHICommandList_RecursiveHazardous ()
 
- 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)
 

Additional Inherited Members

- Public Types inherited from FRHICommandListBase
enum class  EThreadFence { Enabled , Disabled }
 
- Static Public Member Functions inherited from FRHICommandList
static FRHICommandListGet (FRHICommandListBase &RHICmdList)
 
- Static Public Member Functions inherited from FRHIComputeCommandList
static FRHIComputeCommandListGet (FRHICommandListBase &RHICmdList)
 
- 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
 

Constructor & Destructor Documentation

◆ TRHICommandList_RecursiveHazardous()

template<typename ContextType >
TRHICommandList_RecursiveHazardous< ContextType >::TRHICommandList_RecursiveHazardous ( ContextType *  Context)
inline

Member Function Documentation

◆ RunOnContext()

template<typename ContextType >
template<typename LAMBDA >
void TRHICommandList_RecursiveHazardous< ContextType >::RunOnContext ( LAMBDA &&  Lambda)
inline

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