FRHICommandList

Windows
MacOS
Linux

Inheritance Hierarchy

Syntax

class FRHICommandList : public FRHICommandListBase

Constructors

Name Description

Public function

FRHICommandList

(
    FRHIGPUMask GPUMask
)

Functions

Name Description

Public function

void

 

ApplyCachedRenderTargets

Public function Const

bool

 

AsyncPSOCompileAllowed()

Public function

void

 

AutomaticCacheFlushAfterComputeShader

(
    bool bEnable
)

Public function

void

 

BeginComputePass

(
    const TCHAR* Name
)

Public function

void

 

BeginDrawingViewport

(
    FViewportRHIParamRef Viewport,
    FTextureRHIParamRef RenderTargetRHI
)

Public function

void

 

BeginFrame()

Public function

void

 

BeginRenderPass

(
    const FRHIRenderPassInfo& InInfo,
    const TCHAR* Name
)

Public function

void

 

BeginRenderQuery

(
    FRenderQueryRHIParamRef 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

 

BeginUpdateMultiFrameResource

(
    FTextureRHIParamRef Texture
)

Public function

void

 

BeginUpdateMultiFrameResource

Public function

void

 

BindClearMRTValues

(
    bool bClearColor,
    bool bClearDepth,
    bool bClearStencil
)

Public function

void

 

BreakPoint()

Public function

FLocalUnifor...

 

BuildLocalUniformBuffer

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

Public function

void

 

ClearTinyUAV

(
    FUnorderedAccessViewRHIParamRef Uno...,
    const uint32 Values
)

Public function

void

 

CopyTexture

(
    FTextureRHIParamRef SourceTextureRH...,
    FTextureRHIParamRef DestTextureRHI,
    const FRHICopyTextureInfo& CopyInf...
)

Public function

void

 

CopyToResolveTarget

(
    FTextureRHIParamRef SourceTextureRH...,
    FTextureRHIParamRef DestTextureRHI,
    const FResolveParams& ResolveParam...
)

Public function

void

 

CopyToStagingBuffer

(
    FVertexBufferRHIParamRef SourceBuff...,
    FStagingBufferRHIParamRef Destinati...,
    uint32 Offset,
    uint32 NumBytes,
    FGPUFenceRHIParamRef Fence
)

Public function

void

 

DiscardRenderTargets

(
    bool Depth,
    bool Stencil,
    uint32 ColorBitMask
)

Public function

void

 

DispatchComputeShader

(
    uint32 ThreadGroupCountX,
    uint32 ThreadGroupCountY,
    uint32 ThreadGroupCountZ
)

Public function

void

 

DispatchIndirectComputeShader

(
    FVertexBufferRHIParamRef ArgumentBu...,
    uint32 ArgumentOffset
)

Public function

void

 

DrawIndexedIndirect

(
    FIndexBufferRHIParamRef IndexBuffer...,
    FStructuredBufferRHIParamRef Argume...,
    uint32 DrawArgumentsIndex,
    uint32 NumInstances
)

Public function

void

 

DrawIndexedPrimitive

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

Public function

void

 

DrawIndexedPrimitiveIndirect

(
    FIndexBufferRHIParamRef IndexBuffer,
    FVertexBufferRHIParamRef ArgumentsB...,
    uint32 ArgumentOffset
)

Public function

void

 

DrawPrimitive

(
    uint32 BaseVertexIndex,
    uint32 NumPrimitives,
    uint32 NumInstances
)

Public function

void

 

DrawPrimitiveIndirect

(
    FVertexBufferRHIParamRef ArgumentBu...,
    uint32 ArgumentOffset
)

Public function

void

 

EndComputePass()

Public function

void

 

EndDrawingViewport

(
    FViewportRHIParamRef Viewport,
    bool bPresent,
    bool bLockToVsync
)

Public function

void

 

EndFrame()

Public function

void

 

EndRenderPass()

Public function

void

 

EndRenderQuery

(
    FRenderQueryRHIParamRef RenderQuery
)

Public function

void

 

EndScene()

Public function

void

 

EndUpdateMultiFrameResource

(
    FTextureRHIParamRef Texture
)

Public function

void

 

EndUpdateMultiFrameResource

Public function

void

 

FlushComputeShaderCache()

Public function

void

 

PollOcclusionQueries()

Public function

void

 

PopEvent()

Public function

void

 

PushEvent

(
    const TCHAR* Name,
    FColor Color
)

Public function

void

 

RHIInvalidateCachedState()

Public function

void

 

SetBlendFactor

(
    const FLinearColor& BlendFactor
)

Public function

void

 

SetComputePipelineState

(
    FComputePipelineState* Compute...
)

Public function

void

 

SetComputeShader

(
    FComputeShaderRHIParamRef ComputeSh...
)

Public function

void

 

SetDepthBounds

(
    float MinDepth,
    float MaxDepth
)

Public function

void

 

SetGraphicsPipelineState

(
    FGraphicsPipelineState* Graphi...
)

Public function

void

 

SetLocalShaderUniformBuffer

(
    TShaderRHIParamRef Shader,
    uint32 BaseIndex,
    const FLocalUniformBuffer& Uniform...
)

Public function

void

 

SetLocalShaderUniformBuffer

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

Public function

void

 

SetScissorRect

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

Public function

void

 

SetShaderParameter

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

Public function

void

 

SetShaderParameter

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

Public function

void

 

SetShaderResourceViewParameter

(
    TRefCountPtr< TShaderRHI >& Shader,
    uint32 SamplerIndex,
    FShaderResourceViewRHIParamRef SRV
)

Public function

void

 

SetShaderResourceViewParameter

(
    TShaderRHIParamRef Shader,
    uint32 SamplerIndex,
    FShaderResourceViewRHIParamRef SRV
)

Public function

void

 

SetShaderSampler

(
    TShaderRHIParamRef Shader,
    uint32 SamplerIndex,
    FSamplerStateRHIParamRef State
)

Public function

void

 

SetShaderSampler

(
    TRefCountPtr< TShaderRHI >& Shader,
    uint32 SamplerIndex,
    FSamplerStateRHIParamRef State
)

Public function

void

 

SetShaderTexture

(
    TShaderRHIParamRef Shader,
    uint32 TextureIndex,
    FTextureRHIParamRef Texture
)

Public function

void

 

SetShaderTexture

(
    TRefCountPtr< TShaderRHI >& Shader,
    uint32 TextureIndex,
    FTextureRHIParamRef Texture
)

Public function

void

 

SetShaderUniformBuffer

(
    TShaderRHI* Shader,
    uint32 BaseIndex,
    FUniformBufferRHIParamRef UniformBu...
)

Public function

void

 

SetShaderUniformBuffer

(
    TRefCountPtr< TShaderRHI >& Shader,
    uint32 BaseIndex,
    FUniformBufferRHIParamRef UniformBu...
)

Public function

void

 

SetStencilRef

(
    uint32 StencilRef
)

Public function

void

 

SetStereoViewport

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

Public function

void

 

SetStreamSource

(
    uint32 StreamIndex,
    FVertexBufferRHIParamRef VertexBuff...,
    uint32 Offset
)

Public function

void

 

SetUAVParameter

(
    TRefCountPtr< FRHIComputeShader >&...,
    uint32 UAVIndex,
    FUnorderedAccessViewRHIParamRef UAV,
    uint32 InitialCount
)

Public function

void

 

SetUAVParameter

(
    FComputeShaderRHIParamRef Shader,
    uint32 UAVIndex,
    FUnorderedAccessViewRHIParamRef UAV
)

Public function

void

 

SetUAVParameter

(
    TRefCountPtr< FRHIComputeShader >&...,
    uint32 UAVIndex,
    FUnorderedAccessViewRHIParamRef UAV
)

Public function

void

 

SetUAVParameter

(
    FComputeShaderRHIParamRef Shader,
    uint32 UAVIndex,
    FUnorderedAccessViewRHIParamRef UAV,
    uint32 InitialCount
)

Public function

void

 

SetViewport

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

Public function

void

 

SubmitCommandsHint()

Public function

void

 

TransitionResource

(
    EResourceTransitionAccess Transitio...,
    EResourceTransitionPipeline Transit...,
    FUnorderedAccessViewRHIParamRef InU...,
    FComputeFenceRHIParamRef WriteFence
)

Public function

void

 

TransitionResource

(
    EResourceTransitionAccess Transitio...,
    EResourceTransitionPipeline Transit...,
    FUnorderedAccessViewRHIParamRef InU...
)

Public function

void

 

TransitionResource

(
    EResourceTransitionAccess Transitio...,
    FTextureRHIParamRef InTexture
)

Public function

void

 

TransitionResourceArrayNoCopy

(
    EResourceTransitionAccess Transitio...,
    TArray< FTextureRHIParamRef >& InT...
)

Public function

void

 

TransitionResources

(
    EResourceTransitionAccess Transitio...,
    EResourceTransitionPipeline Transit...,
    FUnorderedAccessViewRHIParamRef...,
    int32 NumUAVs
)

Public function

void

 

TransitionResources

(
    EResourceTransitionAccess Transitio...,
    FTextureRHIParamRef* InTexture...,
    int32 NumTextures
)

Public function

void

 

TransitionResources

(
    EResourceTransitionAccess Transitio...,
    EResourceTransitionPipeline Transit...,
    FUnorderedAccessViewRHIParamRef...,
    int32 NumUAVs,
    FComputeFenceRHIParamRef WriteFence
)

Public function

void

 

WaitComputeFence

(
    FComputeFenceRHIParamRef WaitFence
)

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

 

BeginDrawIndexedPrimitiveUP

(
    uint32 PrimitiveType,
    uint32 NumPrimitives,
    uint32 NumVertices,
    uint32 VertexDataStride,
    void*& OutVertexData,
    uint32 MinVertexIndex,
    uint32 NumIndices,
    uint32 IndexDataStride,
    void*& OutIndexData
)

This function is deprecated and will be removed in future releases.

Public function

void

 

BeginDrawPrimitiveUP

(
    uint32 PrimitiveType,
    uint32 NumPrimitives,
    uint32 NumVertices,
    uint32 VertexDataStride,
    void*& OutVertexData
)

This function is deprecated and will be removed in future releases.

Public function

void

 

DrawIndexedIndirect

(
    FIndexBufferRHIParamRef IndexBuffer...,
    uint32 PrimitiveType,
    FStructuredBufferRHIParamRef Argume...,
    uint32 DrawArgumentsIndex,
    uint32 NumInstances
)

PrimitiveType is now a part of the Graphics Pipeline State.

Public function

void

 

DrawIndexedPrimitive

(
    FIndexBufferRHIParamRef IndexBuffer,
    uint32 PrimitiveType,
    int32 BaseVertexIndex,
    uint32 FirstInstance,
    uint32 NumVertices,
    uint32 StartIndex,
    uint32 NumPrimitives,
    uint32 NumInstances
)

PrimitiveType is now a part of the Graphics Pipeline State.

Public function

void

 

DrawIndexedPrimitiveIndirect

(
    uint32 PrimitiveType,
    FIndexBufferRHIParamRef IndexBuffer,
    FVertexBufferRHIParamRef ArgumentsB...,
    uint32 ArgumentOffset
)

PrimitiveType is now a part of the Graphics Pipeline State.

Public function

void

 

DrawPrimitive

(
    uint32 PrimitiveType,
    uint32 BaseVertexIndex,
    uint32 NumPrimitives,
    uint32 NumInstances
)

PrimitiveType is now a part of the Graphics Pipeline State.

Public function

void

 

DrawPrimitiveIndirect

(
    uint32 PrimitiveType,
    FVertexBufferRHIParamRef ArgumentBu...,
    uint32 ArgumentOffset
)

PrimitiveType is now a part of the Graphics Pipeline State.

Public function

void

 

EndDrawIndexedPrimitiveUP()

This function is deprecated and will be removed in future releases.

Public function

void

 

EndDrawPrimitiveUP()

This function is deprecated and will be removed in future releases.

Public function

void

 

SetRenderTargets

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

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

Public function

void

 

SetRenderTargetsAndClear

(
    const FRHISetRenderTargetsInfo& Re...
)

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

References

Module

RHI

Header

Runtime/RHI/Public/RHICommandList.h

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback