FRHICommandList

Windows
MacOS
Linux

Inheritance Hierarchy

References

Module

RHI

Header

/Engine/Source/Runtime/RHI/Public/RHICommandList.h

Include

#include "RHICommandList.h"

Syntax

class FRHICommandList : public FRHIComputeCommandList

Constructors

Name Description

Public function

FRHICommandList

(
    FRHIGPUMask GPUMask
)

Functions

Name Description

Public function

void

 

ApplyCachedRenderTargets

Public function Const

bool

 

AsyncPSOCompileAllowed()

Public function

void

 

BeginDrawingViewport

(
    FRHIViewport* Viewport,
    FRHITexture* RenderTargetRHI
)

Public function

void

 

BeginFrame()

Public function

void

 

BeginRenderPass

(
    const FRHIRenderPassInfo& InInfo,
    const TCHAR* Name
)

Public function

void

 

BeginRenderQuery

(
    FRHIRenderQuery* RenderQuery
)

Public function

void

 

BeginScene()

These 6 are special in that they must be called on the immediate command list and they force a flush only when we are not doing RHI thread.

Public function

void

 

BeginUAVOverlap()

Public function

void

 

BeginUpdateMultiFrameResource

(
    FRHIUnorderedAccessView* UAV
)

Public function

void

 

BeginUpdateMultiFrameResource

(
    FRHITexture* Texture
)

Public function

void

 

BindClearMRTValues

(
    bool bClearColor,
    bool bClearDepth,
    bool bClearStencil
)

Public function

FLocalUnifor...

 

BuildLocalUniformBuffer

(
    const void* Contents,
    uint32 ContentsSize,
    const FRHIUniformBufferLayout& Lay...
)

Public function

void

 

CalibrateTimers

Public function

void

 

CopyTexture

(
    FRHITexture* SourceTextureRHI,
    FRHITexture* DestTextureRHI,
    const FRHICopyTextureInfo& CopyInf...
)

Public function

void

 

CopyToResolveTarget

(
    FRHITexture* SourceTextureRHI,
    FRHITexture* DestTextureRHI,
    const FResolveParams& ResolveParam...
)

Public function

void

 

DiscardRenderTargets

(
    bool Depth,
    bool Stencil,
    uint32 ColorBitMask
)

Public function

void

 

DrawIndexedIndirect

(
    FRHIIndexBuffer* IndexBufferRH...,
    FRHIStructuredBuffer* Argument...,
    uint32 DrawArgumentsIndex,
    uint32 NumInstances
)

Public function

void

 

DrawIndexedPrimitive

(
    FRHIIndexBuffer* IndexBuffer,
    int32 BaseVertexIndex,
    uint32 FirstInstance,
    uint32 NumVertices,
    uint32 StartIndex,
    uint32 NumPrimitives,
    uint32 NumInstances
)

Public function

void

 

DrawIndexedPrimitiveIndirect

(
    FRHIIndexBuffer* IndexBuffer,
    FRHIVertexBuffer* ArgumentsBuf...,
    uint32 ArgumentOffset
)

Public function

void

 

DrawPrimitive

(
    uint32 BaseVertexIndex,
    uint32 NumPrimitives,
    uint32 NumInstances
)

Public function

void

 

DrawPrimitiveIndirect

(
    FRHIVertexBuffer* ArgumentBuff...,
    uint32 ArgumentOffset
)

Public function

void

 

EndDrawingViewport

(
    FRHIViewport* Viewport,
    bool bPresent,
    bool bLockToVsync
)

Public function

void

 

EndFrame()

Public function

void

 

EndRenderPass()

Public function

void

 

EndRenderQuery

(
    FRHIRenderQuery* RenderQuery
)

Public function

void

 

EndScene()

Public function

void

 

EndUAVOverlap()

Public function

void

 

EndUpdateMultiFrameResource

(
    FRHIUnorderedAccessView* UAV
)

Public function

void

 

EndUpdateMultiFrameResource

(
    FRHITexture* Texture
)

Public function Const

FRHIDomainSh...

 

GetBoundDomainShader()

Public function Const

FRHIGeometry...

 

GetBoundGeometryShader()

Public function Const

FRHIHullShad...

 

GetBoundHullShader()

Public function Const

FRHIPixelSha...

 

GetBoundPixelShader()

Public function Const

FRHIVertexSh...

 

GetBoundVertexShader()

Public function

void

 

NextSubpass()

Public function

void

 

PollOcclusionQueries()

Public function

void

 

ResummarizeHTile

(
    FRHITexture2D* DepthTexture
)

Public function

void

 

RHIInvalidateCachedState()

Public function

void

 

SetBlendFactor

(
    const FLinearColor& BlendFactor
)

Public function

void

 

SetDepthBounds

(
    float MinDepth,
    float MaxDepth
)

Public function

void

 

SetGraphicsPipelineState

(
    FGraphicsPipelineState* Graphi...,
    const FBoundShaderStateInput& Shad...
)

Public function

void

 

SetLocalShaderUniformBuffer

(
    const TRefCountPtr< TShaderRHI >& ...,
    uint32 BaseIndex,
    const FLocalUniformBuffer& Uniform...
)

Public function

void

 

SetLocalShaderUniformBuffer

(
    TRHIShader* Shader,
    uint32 BaseIndex,
    const FLocalUniformBuffer& Uniform...
)

Public function

void

 

SetScissorRect

(
    bool bEnable,
    uint32 MinX,
    uint32 MinY,
    uint32 MaxX,
    uint32 MaxY
)

Public function

void

 

SetShaderParameter

(
    const TRefCountPtr< TShaderRHI >& ...,
    uint32 BufferIndex,
    uint32 BaseIndex,
    uint32 NumBytes,
    const void* NewValue
)

Public function

void

 

SetShaderParameter

(
    FRHIGraphicsShader* Shader,
    uint32 BufferIndex,
    uint32 BaseIndex,
    uint32 NumBytes,
    const void* NewValue
)

Public function

void

 

SetShaderResourceViewParameter

(
    const TRefCountPtr< TShaderRHI >& ...,
    uint32 SamplerIndex,
    FRHIShaderResourceView* SRV
)

Public function

void

 

SetShaderResourceViewParameter

(
    FRHIGraphicsShader* Shader,
    uint32 SamplerIndex,
    FRHIShaderResourceView* SRV
)

Public function

void

 

SetShaderSampler

(
    const TRefCountPtr< TShaderRHI >& ...,
    uint32 SamplerIndex,
    FRHISamplerState* State
)

Public function

void

 

SetShaderSampler

(
    FRHIGraphicsShader* Shader,
    uint32 SamplerIndex,
    FRHISamplerState* State
)

Public function

void

 

SetShaderTexture

(
    const TRefCountPtr< TShaderRHI >& ...,
    uint32 TextureIndex,
    FRHITexture* Texture
)

Public function

void

 

SetShaderTexture

(
    FRHIGraphicsShader* Shader,
    uint32 TextureIndex,
    FRHITexture* Texture
)

Public function

void

 

SetShaderUniformBuffer

(
    FRHIGraphicsShader* Shader,
    uint32 BaseIndex,
    FRHIUniformBuffer* UniformBuff...
)

Public function

void

 

SetShaderUniformBuffer

(
    const TRefCountPtr< TShaderRHI >& ...,
    uint32 BaseIndex,
    FRHIUniformBuffer* UniformBuff...
)

Public function

void

 

SetStencilRef

(
    uint32 StencilRef
)

Public function

void

 

SetStereoViewport

(
    float LeftMinX,
    float RightMinX,
    float LeftMinY,
    float RightMinY,
    float MinZ,
    float LeftMaxX,
    float RightMaxX,
    float LeftMaxY,
    float RightMaxY,
    float MaxZ
)

Public function

void

 

SetStreamSource

(
    uint32 StreamIndex,
    FRHIVertexBuffer* VertexBuffer,
    uint32 Offset
)

Public function

void

 

SetUAVParameter

(
    FRHIPixelShader* Shader,
    uint32 UAVIndex,
    FRHIUnorderedAccessView* UAV
)

Public function

void

 

SetUAVParameter

(
    const TRefCountPtr< FRHIPixelShader...,
    uint32 UAVIndex,
    FRHIUnorderedAccessView* UAV
)

Public function

void

 

SetViewport

(
    float MinX,
    float MinY,
    float MinZ,
    float MaxX,
    float MaxY,
    float MaxZ
)

Public function

void

 

TransitionResource

(
    EResourceTransitionAccess Transitio...,
    FRHITexture* InTexture
)

Public function

void

 

TransitionResource

(
    FExclusiveDepthStencil DepthStencil...,
    FRHITexture* DepthTexture
)

Public function

void

 

TransitionResource

(
    EResourceTransitionAccess Transitio...,
    EResourceTransitionPipeline Transit...,
    FRHITexture* InTexture
)

Public function

void

 

TransitionResourceArrayNoCopy

(
    EResourceTransitionAccess Transitio...,
    TArray< FRHITexture* >& InTex...
)

Public function

void

 

TransitionResources

(
    EResourceTransitionAccess Transitio...,
    FRHITexture** InTextures,
    int32 NumTextures
)

Public function

void

 

TransitionResources

(
    EResourceTransitionAccess Transitio...,
    EResourceTransitionPipeline Transit...,
    FRHITexture** InTextures,
    int32 NumTextures
)

Operators

Name Description

Public function

void

 

operator delete

(
    void* RawMemory
)

Public function

void *

 

operator new

(
    size_t Size
)

Custom new/delete with recycling

Deprecated Functions

Name Description

Public function

void

 

AutomaticCacheFlushAfterComputeShader

(
    bool bEnable
)

AutomaticCacheFlushAfterComputeShader is deprecated. Use RHICmdList.BeginUAVOverlap() and RHICmdList.EndUAVOverlap() to mark up sections of RHI commands where multiple draws/dispatches using UAVs are allowed to overlap without interleaved resource transitions. Call BeginUAVOverlap() where previously AutomaticCacheFlushAfterComputeShader(false) was called, and EndUAVOverlap() where previously AutomaticCacheFlushAfterComputeShader(true) was called.

Public function

void

 

BeginComputePass

(
    const TCHAR* Name
)

BeginComputePass API is deprecated. Use SetComputeShader() instead.

Public function

void

 

ClearTinyUAV

(
    FRHIUnorderedAccessView* Unord...,
    const uint32 Values
)

RHIClearTinyUAV is deprecated. Use RHIClearUAVUint or RHIClearUAVFloat instead.

Public function

void

 

EndComputePass()

EndComputePass API is deprecated. BeginRenderPass() or SetComputeShader() instead.

Public function

void

 

FlushComputeShaderCache()

FlushComputeShaderCache is deprecated. Use RHICmdList.BeginUAVOverlap() and RHICmdList.EndUAVOverlap() to mark up sections of RHI commands where multiple draws/dispatches using UAVs are allowed to overlap without interleaved resource transitions. Use of FlushComputeShaderCache() should be replaced with an appropriate call to RHICmdList.TransitionResources(), if one is not already being made.

Public function

void

 

SetRenderTargets

(
    uint32 NewNumSimultaneousRenderTarg...,
    const FRHIRenderTargetView* Ne...,
    const FRHIDepthRenderTargetView...
)

SetRenderTargets API is deprecated; please use RHIBegin/EndRenderPass instead.

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss