FRHICommandListImmediate

Windows
MacOS
Linux

Inheritance Hierarchy

References

Module

RHI

Header

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

Include

#include "RHICommandList.h"

Syntax

class FRHICommandListImmediate : public FRHICommandList

Constructors

No constructors are accessible with public or protected access.

Destructors

No destructors are accessible with public or protected access.

Functions

Name Description

Public function

void

 

AcquireThreadOwnership()

Public function

void

 

AcquireTransientResource_RenderThread

(
    FRHIStructuredBuffer* Buffer
)

Public function

void

 

AcquireTransientResource_RenderThread

(
    FRHIVertexBuffer* Buffer
)

Public function

void

 

AcquireTransientResource_RenderThread

(
    FRHITexture* Texture
)

Public function

void

 

AdvanceFrameForGetViewportBackBuffer

(
    FRHIViewport* Viewport
)

Public function Static

bool

 

AnyRenderThreadTasksOutstanding()

Public function

FTexture2DRH...

 

AsyncCreateTexture2D

(
    uint32 SizeX,
    uint32 SizeY,
    uint8 Format,
    uint32 NumMips,
    uint32 Flags,
    void** InitialMipData,
    uint32 NumInitialMips
)

Public function

FTexture2DRH...

 

AsyncReallocateTexture2D

(
    FRHITexture2D* Texture2D,
    int32 NewMipCount,
    int32 NewSizeX,
    int32 NewSizeY,
    FThreadSafeCounter* RequestSta...
)

Public function

FUpdateTextu...

 

BeginUpdateTexture3D

(
    FRHITexture3D* Texture,
    uint32 MipIndex,
    const FUpdateTextureRegion3D& Upda...
)

Public function

void

 

BindDebugLabelName

(
    FRHITexture* Texture,
    const TCHAR* Name
)

Public function

void

 

BindDebugLabelName

(
    FRHIUnorderedAccessView* Unord...,
    const TCHAR* Name
)

Public function

void

 

BlockUntilGPUIdle()

Public function

uint64

 

CalcTexture2DPlatformSize

(
    uint32 SizeX,
    uint32 SizeY,
    uint8 Format,
    uint32 NumMips,
    uint32 NumSamples,
    uint32 Flags,
    uint32& OutAlign
)

Public function

uint64

 

CalcTexture3DPlatformSize

(
    uint32 SizeX,
    uint32 SizeY,
    uint32 SizeZ,
    uint8 Format,
    uint32 NumMips,
    uint32 Flags,
    uint32& OutAlign
)

Public function

uint64

 

CalcTextureCubePlatformSize

(
    uint32 Size,
    uint8 Format,
    uint32 NumMips,
    uint32 Flags,
    uint32& OutAlign
)

Public function

ETextureReal...

 

CancelAsyncReallocateTexture2D

(
    FRHITexture2D* Texture2D,
    bool bBlockUntilCompleted
)

Public function

uint32

 

ComputeMemorySize

(
    FRHITexture* TextureRHI
)

Public function

void

 

CopySharedMips

(
    FRHITexture2D* DestTexture2D,
    FRHITexture2D* SrcTexture2D
)

Public function

void

 

CopyVertexBuffer

(
    FRHIVertexBuffer* SourceBuffer,
    FRHIVertexBuffer* DestBuffer
)

Public function

FIndexBuffer...

 

CreateAndLockIndexBuffer

(
    uint32 Stride,
    uint32 Size,
    uint32 InUsage,
    FRHIResourceCreateInfo& CreateInfo,
    void*& OutDataBuffer
)

Public function

FVertexBuffe...

 

CreateAndLockVertexBuffer

(
    uint32 Size,
    uint32 InUsage,
    FRHIResourceCreateInfo& CreateInfo,
    void*& OutDataBuffer
)

Public function

FBlendStateR...

 

CreateBlendState

(
    const FBlendStateInitializerRHI& I...
)

Public function

FBoundShader...

 

CreateBoundShaderState

(
    FRHIVertexDeclaration* VertexD...,
    FRHIVertexShader* VertexShader,
    FRHIHullShader* HullShader,
    FRHIDomainShader* DomainShader,
    FRHIPixelShader* PixelShader,
    FRHIGeometryShader* GeometrySh...
)

Public function

FComputeFenc...

 

CreateComputeFence

(
    const FName& Name
)

Public function

TRefCountPtr...

 

CreateComputePipelineState

(
    FRHIComputeShader* ComputeShad...
)

Public function

FComputeShad...

 

CreateComputeShader

(
    FRHIShaderLibrary* Library,
    FSHAHash Hash
)

Public function

FComputeShad...

 

CreateComputeShader

(
    const TArray< uint8 >& Code
)

Public function

FDepthStenci...

 

CreateDepthStencilState

(
    const FDepthStencilStateInitializer...
)

Public function

FDomainShade...

 

CreateDomainShader

(
    const TArray< uint8 >& Code
)

Public function

FDomainShade...

 

CreateDomainShader

(
    FRHIShaderLibrary* Library,
    FSHAHash Hash
)

Public function

FGeometrySha...

 

CreateGeometryShader

(
    FRHIShaderLibrary* Library,
    FSHAHash Hash
)

Public function

FGeometrySha...

 

CreateGeometryShader

(
    const TArray< uint8 >& Code
)

Public function

FGPUFenceRHI...

 

CreateGPUFence

(
    const FName& Name
)

Public function

FGraphicsPip...

 

CreateGraphicsPipelineState

(
    const FGraphicsPipelineStateInitial...
)

Public function

FHullShaderR...

 

CreateHullShader

(
    FRHIShaderLibrary* Library,
    FSHAHash Hash
)

Public function

FHullShaderR...

 

CreateHullShader

(
    const TArray< uint8 >& Code
)

Public function

FIndexBuffer...

 

CreateIndexBuffer

(
    uint32 Stride,
    uint32 Size,
    uint32 InUsage,
    FRHIResourceCreateInfo& CreateInfo
)

Public function

FPixelShader...

 

CreatePixelShader

(
    FRHIShaderLibrary* Library,
    FSHAHash Hash
)

Public function

FPixelShader...

 

CreatePixelShader

(
    const TArray< uint8 >& Code
)

Public function

FRasterizerS...

 

CreateRasterizerState

(
    const FRasterizerStateInitializerRH...
)

Public function

FStructuredB...

 

CreateRTWriteMaskBuffer

(
    FTexture2DRHIRef RenderTarget
)

Public function

FSamplerStat...

 

CreateSamplerState

(
    const FSamplerStateInitializerRHI&...
)

Public function

FShaderResou...

 

CreateShaderResourceView

(
    FRHIIndexBuffer* Buffer
)

Public function

FShaderResou...

 

CreateShaderResourceView

(
    FRHITexture* Texture,
    uint8 MipLevel,
    uint8 NumMipLevels,
    uint8 Format
)

Public function

FShaderResou...

 

CreateShaderResourceView

(
    FRHIVertexBuffer* VertexBuffer,
    uint32 Stride,
    uint8 Format
)

Public function

FShaderResou...

 

CreateShaderResourceView

(
    FRHIStructuredBuffer* Structur...
)

Public function

FShaderResou...

 

CreateShaderResourceView

(
    FRHITexture* Texture,
    const FRHITextureSRVCreateInfo& Cr...
)

Public function

FShaderResou...

 

CreateShaderResourceView

(
    FRHITexture* Texture,
    uint8 MipLevel
)

Public function

FStagingBuff...

 

CreateStagingBuffer()

Public function

FStructuredB...

 

CreateStructuredBuffer

(
    uint32 Stride,
    uint32 Size,
    uint32 InUsage,
    FRHIResourceCreateInfo& CreateInfo
)

Public function

FTexture2DRH...

 

CreateTexture2D

(
    uint32 SizeX,
    uint32 SizeY,
    uint8 Format,
    uint32 NumMips,
    uint32 NumSamples,
    uint32 Flags,
    FRHIResourceCreateInfo& CreateInfo
)

Public function

FTexture2DAr...

 

CreateTexture2DArray

(
    uint32 SizeX,
    uint32 SizeY,
    uint32 SizeZ,
    uint8 Format,
    uint32 NumMips,
    uint32 NumSamples,
    uint32 Flags,
    FRHIResourceCreateInfo& CreateInfo
)

Public function

FTexture3DRH...

 

CreateTexture3D

(
    uint32 SizeX,
    uint32 SizeY,
    uint32 SizeZ,
    uint8 Format,
    uint32 NumMips,
    uint32 Flags,
    FRHIResourceCreateInfo& CreateInfo
)

Public function

FTextureCube...

 

CreateTextureCube

(
    uint32 Size,
    uint8 Format,
    uint32 NumMips,
    uint32 Flags,
    FRHIResourceCreateInfo& CreateInfo
)

Public function

FTextureCube...

 

CreateTextureCubeArray

(
    uint32 Size,
    uint32 ArraySize,
    uint8 Format,
    uint32 NumMips,
    uint32 Flags,
    FRHIResourceCreateInfo& CreateInfo
)

Public function

FTexture2DRH...

 

CreateTextureExternal2D

(
    uint32 SizeX,
    uint32 SizeY,
    uint8 Format,
    uint32 NumMips,
    uint32 NumSamples,
    uint32 Flags,
    FRHIResourceCreateInfo& CreateInfo
)

Public function

FTextureRefe...

 

CreateTextureReference

(
    FLastRenderTimeContainer* Last...
)

Public function

FUniformBuff...

 

CreateUniformBuffer

(
    const void* Contents,
    const FRHIUniformBufferLayout& Lay...,
    EUniformBufferUsage Usage
)

Public function

FUnorderedAc...

 

CreateUnorderedAccessView

(
    FRHIVertexBuffer* VertexBuffer,
    uint8 Format
)

Public function

FUnorderedAc...

 

CreateUnorderedAccessView

(
    FRHIIndexBuffer* IndexBuffer,
    uint8 Format
)

Public function

FUnorderedAc...

 

CreateUnorderedAccessView

(
    FRHIStructuredBuffer* Structur...,
    bool bUseUAVCounter,
    bool bAppendBuffer
)

Public function

FUnorderedAc...

 

CreateUnorderedAccessView

(
    FRHITexture* Texture,
    uint32 MipLevel
)

Public function

FVertexBuffe...

 

CreateVertexBuffer

(
    uint32 Size,
    uint32 InUsage,
    FRHIResourceCreateInfo& CreateInfo
)

Public function

FVertexShade...

 

CreateVertexShader

(
    const TArray< uint8 >& Code
)

Public function

FVertexShade...

 

CreateVertexShader

(
    FRHIShaderLibrary* Library,
    FSHAHash Hash
)

Public function

FViewportRHI...

 

CreateViewport

(
    void* WindowHandle,
    uint32 SizeX,
    uint32 SizeY,
    bool bIsFullscreen,
    EPixelFormat PreferredPixelFormat
)

Public function

void

 

DiscardTransientResource_RenderThread

(
    FRHIStructuredBuffer* Buffer
)

Public function

void

 

DiscardTransientResource_RenderThread

(
    FRHIVertexBuffer* Buffer
)

Public function

void

 

DiscardTransientResource_RenderThread

(
    FRHITexture* Texture
)

Public function

void

 

EndMultiUpdateTexture3D

(
    TArray< FUpdateTexture3DData >& Up...
)

Public function

void

 

EndUpdateTexture3D

(
    FUpdateTexture3DData& UpdateData
)

Public function

bool

 

EnqueueCompress

(
    uint8_t* SrcBuffer,
    uint8_t* DestBuffer,
    int UnCompressedSize,
    void* ErrorCodeBuffer
)

Public function

bool

 

EnqueueDecompress

(
    uint8_t* SrcBuffer,
    uint8_t* DestBuffer,
    int CompressedSize,
    void* ErrorCodeBuffer
)

Public function

bool

 

EnqueueLambda

(
    LAMBDA&& Lambda
)

Public function

bool

 

EnqueueLambda

(
    bool bRunOnCurrentThread,
    LAMBDA&& Lambda
)

Public function

void

 

ExecuteCommandList

(
    FRHICommandList* CmdList
)

Public function

ETextureReal...

 

FinalizeAsyncReallocateTexture2D

(
    FRHITexture2D* Texture2D,
    bool bBlockUntilCompleted
)

Public function

void

 

FlushResources()

Public function

bool

 

GetAvailableResolutions

(
    FScreenResolutionArray& Resolution...,
    bool bIgnoreRefreshRate
)

Public function

IRHICommandC...

 

GetCommandContextContainer

(
    int32 Index,
    int32 Num
)

Public function

IRHICommandC...

 

GetDefaultContext()

Public function

uint32

 

GetGPUFrameCycles()

Public function

void *

 

GetNativeDevice()

Public function

bool

 

GetRenderQueryResult

(
    FRHIRenderQuery* RenderQuery,
    uint64& OutResult,
    bool bWait
)

Public function Static

FGraphEventA...

 

GetRenderThreadTaskArray()

Public function

void

 

GetResourceInfo

(
    FRHITexture* Ref,
    FRHIResourceInfo& OutInfo
)

Public function

void

 

GetSupportedResolution

(
    uint32& Width,
    uint32& Height
)

Public function

void

 

GetTextureMemoryStats

(
    FTextureMemoryStats& OutStats
)

Public function

bool

 

GetTextureMemoryVisualizeData

(
    FColor* TextureData,
    int32 SizeX,
    int32 SizeY,
    int32 Pitch,
    int32 PixelSize
)

Public function

FTexture2DRH...

 

GetViewportBackBuffer

(
    FRHIViewport* Viewport
)

Public function

uint32

 

GetViewportNextPresentGPUIndex

(
    FRHIViewport* Viewport
)

Public function

void

 

ImmediateFlush

(
    EImmediateFlushType::Type FlushType
)

Public function

bool

 

IsRenderingSuspended()

Public function Static

bool

 

IsStalled()

Public function

void *

 

LockIndexBuffer

(
    FRHIIndexBuffer* IndexBuffer,
    uint32 Offset,
    uint32 SizeRHI,
    EResourceLockMode LockMode
)

Public function

void *

 

LockStagingBuffer

(
    FRHIStagingBuffer* StagingBuff...,
    uint32 Offset,
    uint32 SizeRHI
)

Public function

void *

 

LockStructuredBuffer

(
    FRHIStructuredBuffer* Structur...,
    uint32 Offset,
    uint32 SizeRHI,
    EResourceLockMode LockMode
)

Public function

void *

 

LockTexture2D

(
    FRHITexture2D* Texture,
    uint32 MipIndex,
    EResourceLockMode LockMode,
    uint32& DestStride,
    bool bLockWithinMiptail,
    bool bFlushRHIThread
)

Public function

void *

 

LockTexture2DArray

(
    FRHITexture2DArray* Texture,
    uint32 TextureIndex,
    uint32 MipIndex,
    EResourceLockMode LockMode,
    uint32& DestStride,
    bool bLockWithinMiptail
)

Public function

void *

 

LockTextureCubeFace

(
    FRHITextureCube* Texture,
    uint32 FaceIndex,
    uint32 ArrayIndex,
    uint32 MipIndex,
    EResourceLockMode LockMode,
    uint32& DestStride,
    bool bLockWithinMiptail
)

Public function

void *

 

LockVertexBuffer

(
    FRHIVertexBuffer* VertexBuffer,
    uint32 Offset,
    uint32 SizeRHI,
    EResourceLockMode LockMode
)

Public function

void

 

MapStagingSurface

(
    FRHITexture* Texture,
    void*& OutData,
    int32& OutWidth,
    int32& OutHeight
)

Public function

void

 

PollRenderQueryResults()

Public function

void

 

QueueAsyncCompute

(
    FRHIAsyncComputeCommandList& RHICo...
)

Queue the given async compute commandlists in order with the current immediate commandlist.

Public function

void

 

Read3DSurfaceFloatData

(
    FRHITexture* Texture,
    FIntRect Rect,
    FIntPoint ZMinMax,
    TArray< FFloat16Color >& OutData
)

Public function

void

 

ReadSurfaceData

(
    FRHITexture* Texture,
    FIntRect Rect,
    TArray< FLinearColor >& OutData,
    FReadSurfaceDataFlags InFlags
)

Public function

void

 

ReadSurfaceData

(
    FRHITexture* Texture,
    FIntRect Rect,
    TArray< FColor >& OutData,
    FReadSurfaceDataFlags InFlags
)

Public function

void

 

ReadSurfaceFloatData

(
    FRHITexture* Texture,
    FIntRect Rect,
    TArray< FFloat16Color >& OutData,
    ECubeFace CubeFace,
    int32 ArrayIndex,
    int32 MipIndex
)

Public function

void

 

ReleaseThreadOwnership()

Public function Static

FGraphEventR...

 

RenderThreadTaskFence()

Public function

void

 

ResizeViewport

(
    FRHIViewport* Viewport,
    uint32 SizeX,
    uint32 SizeY,
    bool bIsFullscreen,
    EPixelFormat PreferredPixelFormat
)

Public function

void

 

ResumeRendering()

Public function

FGraphEventR...

 

RHIThreadFence

(
    bool bSetLockFence
)

Public function

void

 

SetCurrentStat

(
    TStatId Stat
)

Public function

void

 

SetGPUMask

(
    FRHIGPUMask InGPUMask
)

Dispatch current work and change the GPUMask.

Public function

void

 

SetStreamOutTargets

(
    uint32 NumTargets,
    FRHIVertexBuffer*const* V...,
    const uint32* Offsets
)

Public function

bool

 

StallRHIThread()

Public function

void

 

SubmitCommandsAndFlushGPU()

Public function

void

 

SuspendRendering()

Public function

void

 

Tick

(
    float DeltaTime
)

Public function

void

 

TransferTexture

(
    FRHITexture2D* Texture,
    FIntRect Rect,
    uint32 SrcGPUIndex,
    uint32 DestGPUIndex,
    bool PullData
)

Public function

void

 

UnlockIndexBuffer

(
    FRHIIndexBuffer* IndexBuffer
)

Public function

void

 

UnlockStagingBuffer

(
    FRHIStagingBuffer* StagingBuff...
)

Public function

void

 

UnlockStructuredBuffer

(
    FRHIStructuredBuffer* Structur...
)

Public function

void

 

UnlockTexture2D

(
    FRHITexture2D* Texture,
    uint32 MipIndex,
    bool bLockWithinMiptail,
    bool bFlushRHIThread
)

Public function

void

 

UnlockTexture2DArray

(
    FRHITexture2DArray* Texture,
    uint32 TextureIndex,
    uint32 MipIndex,
    bool bLockWithinMiptail
)

Public function

void

 

UnlockTextureCubeFace

(
    FRHITextureCube* Texture,
    uint32 FaceIndex,
    uint32 ArrayIndex,
    uint32 MipIndex,
    bool bLockWithinMiptail
)

Public function

void

 

UnlockVertexBuffer

(
    FRHIVertexBuffer* VertexBuffer
)

Public function

void

 

UnmapStagingSurface

(
    FRHITexture* Texture
)

Public function

void

 

UnStallRHIThread()

Public function

void

 

UpdateFromBufferTexture2D

(
    FRHITexture2D* Texture,
    uint32 MipIndex,
    const FUpdateTextureRegion2D& Upda...,
    uint32 SourcePitch,
    FRHIStructuredBuffer* Buffer,
    uint32 BufferOffset
)

Public function

void

 

UpdateRHIResources

(
    FRHIResourceUpdateInfo* Update...,
    int32 Num,
    bool bNeedReleaseRefs
)

Public function

void

 

UpdateTexture2D

(
    FRHITexture2D* Texture,
    uint32 MipIndex,
    const FUpdateTextureRegion2D& Upda...,
    uint32 SourcePitch,
    const uint8* SourceData
)

Public function

void

 

UpdateTexture3D

(
    FRHITexture3D* Texture,
    uint32 MipIndex,
    const FUpdateTextureRegion3D& Upda...,
    uint32 SourceRowPitch,
    uint32 SourceDepthPitch,
    const uint8* SourceData
)

Public function

void

 

UpdateTextureReference

(
    FRHITextureReference* TextureR...,
    FRHITexture* NewTexture
)

Public function

void

 

VirtualTextureSetFirstMipInMemory

(
    FRHITexture2D* Texture,
    uint32 FirstMip
)

Public function

void

 

VirtualTextureSetFirstMipVisible

(
    FRHITexture2D* Texture,
    uint32 FirstMip
)

Public function Static

void

 

WaitOnRenderThreadTaskFence

(
    FGraphEventRef& Fence
)

Deprecated Functions

Name Description

Public function

void

 

CopySubTextureRegion

(
    FRHITexture2D* SourceTexture,
    FRHITexture2D* DestinationText...,
    FBox2D SourceBox,
    FBox2D DestinationBox
)

CopySubTextureRegion API is deprecated; please use CopyTexture instead.

Public function

FGeometrySha...

 

CreateGeometryShaderWithStreamOutput

(
    const FStreamOutElementList& Eleme...,
    uint32 NumStrides,
    const uint32* Strides,
    int32 RasterizedStream,
    FRHIShaderLibrary* Library,
    FSHAHash Hash
)

Geometry Stream out is deprecated.

Public function

FGeometrySha...

 

CreateGeometryShaderWithStreamOutput

(
    const TArray< uint8 >& Code,
    const FStreamOutElementList& Eleme...,
    uint32 NumStrides,
    const uint32* Strides,
    int32 RasterizedStream
)

Geometry Stream out is deprecated.

Public function

FRenderQuery...

 

CreateRenderQuery

(
    ERenderQueryType QueryType
)

CreateRenderQuery API is deprecated; use RHICreateRenderQueryPool and suballocate queries there

Public function

FRenderQuery...

 

CreateRenderQuery_RenderThread

(
    ERenderQueryType QueryType
)

CreateRenderQuery API is deprecated; use RHICreateRenderQueryPool and suballocate queries there

Public function

FTexture2DAr...

 

CreateTexture2DArray

(
    uint32 SizeX,
    uint32 SizeY,
    uint32 SizeZ,
    uint8 Format,
    uint32 NumMips,
    uint32 Flags,
    FRHIResourceCreateInfo& CreateInfo
)

CreateTexture2DArray now takes NumSamples

Public function

void

 

GenerateMips

(
    FRHITexture* Texture
)

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

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