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

(
    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

 

BeginUpdateMultiFrameResource

(
    FRHIUnorderedAccessView* UAV
)

Public function

void

 

BeginUpdateMultiFrameResource

(
    FRHITexture* Texture
)

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

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

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

 

CopyToStagingBuffer

(
    FRHIVertexBuffer* SourceBuffer,
    FRHIStagingBuffer* Destination...,
    uint32 Offset,
    uint32 NumBytes
)

Public function

void

 

DiscardRenderTargets

(
    bool Depth,
    bool Stencil,
    uint32 ColorBitMask
)

Public function

void

 

DispatchComputeShader

(
    uint32 ThreadGroupCountX,
    uint32 ThreadGroupCountY,
    uint32 ThreadGroupCountZ
)

Public function

void

 

DispatchIndirectComputeShader

(
    FRHIVertexBuffer* ArgumentBuff...,
    uint32 ArgumentOffset
)

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

 

EndComputePass()

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

 

EndUpdateMultiFrameResource

(
    FRHIUnorderedAccessView* UAV
)

Public function

void

 

EndUpdateMultiFrameResource

(
    FRHITexture* Texture
)

Public function

void

 

FlushComputeShaderCache()

Public function

void

 

NextSubpass()

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

(
    FRHIComputeShader* ComputeShad...
)

Public function

void

 

SetDepthBounds

(
    float MinDepth,
    float MaxDepth
)

Public function

void

 

SetGraphicsPipelineState

(
    FGraphicsPipelineState* Graphi...
)

Public function

void

 

SetLocalShaderUniformBuffer

(
    TRefCountPtr< TShaderRHI >& Shader,
    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

(
    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,
    FRHIShaderResourceView* SRV
)

Public function

void

 

SetShaderResourceViewParameter

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

Public function

void

 

SetShaderSampler

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

Public function

void

 

SetShaderSampler

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

Public function

void

 

SetShaderTexture

(
    const TShaderRHI* Shader,
    uint32 TextureIndex,
    FRHITexture* Texture
)

Public function

void

 

SetShaderTexture

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

Public function

void

 

SetShaderTexture

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

Public function

void

 

SetShaderUniformBuffer

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

Public function

void

 

SetShaderUniformBuffer

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

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,
    FRHIVertexBuffer* VertexBuffer,
    uint32 Offset
)

Public function

void

 

SetUAVParameter

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

Public function

void

 

SetUAVParameter

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

Public function

void

 

SetUAVParameter

(
    FRHIComputeShader* Shader,
    uint32 UAVIndex,
    FRHIUnorderedAccessView* UAV,
    uint32 InitialCount
)

Public function

void

 

SetUAVParameter

(
    TRefCountPtr< FRHIComputeShader >&...,
    uint32 UAVIndex,
    FRHIUnorderedAccessView* 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...,
    FRHITexture* InTexture
)

Public function

void

 

TransitionResource

(
    EResourceTransitionAccess Transitio...,
    EResourceTransitionPipeline Transit...,
    FRHIUnorderedAccessView* InUAV,
    FRHIComputeFence* WriteFence
)

Public function

void

 

TransitionResource

(
    EResourceTransitionAccess Transitio...,
    EResourceTransitionPipeline Transit...,
    FRHIUnorderedAccessView* InUAV
)

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...,
    FRHIUnorderedAccessView** ...,
    int32 NumUAVs,
    FRHIComputeFence* WriteFence
)

Public function

void

 

TransitionResources

(
    EResourceTransitionAccess Transitio...,
    EResourceTransitionPipeline Transit...,
    FRHIUnorderedAccessView** ...,
    int32 NumUAVs
)

Public function

void

 

WaitComputeFence

(
    FRHIComputeFence* WaitFence
)

Public function

void

 

WriteGPUFence

(
    FRHIGPUFence* Fence
)

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

 

SetRenderTargets

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

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

Select Skin
Light
Dark

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