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

FTexture2DRHIRef

 

AsyncCreateTexture2D

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

Public function

FTexture2DRHIRef

 

AsyncReallocateTexture2D

(
    FRHITexture2D* Texture2D,
    int32 NewMipCount,
    int32 NewSizeX,
    int32 NewSizeY,
    FThreadSafeCounter* RequestStatus
)

Public function

FUpdateTexture3DData

 

BeginUpdateTexture3D

(
    FRHITexture3D* Texture,
    uint32 MipIndex,
    const FUpdateTextureRegion3D& UpdateRegion
)

Public function

void

 

BindDebugLabelName

(
    FRHIUnorderedAccessView* UnorderedAccessViewRHI,
    const TCHAR* Name
)

Public function

void

 

BindDebugLabelName

(
    FRHITexture* Texture,
    const TCHAR* Name
)

Public function

void

 

BlockUntilGPUIdle()

Public function

uint64

 

CalcTexture2DPlatformSize

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

Public function

uint64

 

CalcTexture3DPlatformSize

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

Public function

uint64

 

CalcTextureCubePlatformSize

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

Public function

ETextureReallocationStatus

 

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

FIndexBufferRHIRef

 

CreateAndLockIndexBuffer

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

Public function

FVertexBufferRHIRef

 

CreateAndLockVertexBuffer

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

Public function

FBlendStateRHIRef

 

CreateBlendState

(
    const FBlendStateInitializerRHI& Initializer
)

Public function

FBoundShaderStateRHIRef

 

CreateBoundShaderState

(
    FRHIVertexDeclaration* VertexDeclaration,
    FRHIVertexShader* VertexShader,
    FRHIHullShader* HullShader,
    FRHIDomainShader* DomainShader,
    FRHIPixelShader* PixelShader,
    FRHIGeometryShader* GeometryShader
)

Public function

FComputeFenceRHIRef

 

CreateComputeFence

(
    const FName& Name
)

Public function

TRefCountPtr< FRHIComputePipelineState >

 

CreateComputePipelineState

(
    FRHIComputeShader* ComputeShader
)

Public function

FComputeShaderRHIRef

 

CreateComputeShader

(
    const TArray< uint8 >& Code
)

Public function

FComputeShaderRHIRef

 

CreateComputeShader

(
    FRHIShaderLibrary* Library,
    FSHAHash Hash
)

Public function

FDepthStencilStateRHIRef

 

CreateDepthStencilState

(
    const FDepthStencilStateInitializerRHI& Initializer
)

Public function

FDomainShaderRHIRef

 

CreateDomainShader

(
    const TArray< uint8 >& Code
)

Public function

FDomainShaderRHIRef

 

CreateDomainShader

(
    FRHIShaderLibrary* Library,
    FSHAHash Hash
)

Public function

FGeometryShaderRHIRef

 

CreateGeometryShader

(
    const TArray< uint8 >& Code
)

Public function

FGeometryShaderRHIRef

 

CreateGeometryShader

(
    FRHIShaderLibrary* Library,
    FSHAHash Hash
)

Public function

FGPUFenceRHIRef

 

CreateGPUFence

(
    const FName& Name
)

Public function

FGraphicsPipelineStateRHIRef

 

CreateGraphicsPipelineState

(
    const FGraphicsPipelineStateInitializer& Initializer
)

Public function

FHullShaderRHIRef

 

CreateHullShader

(
    const TArray< uint8 >& Code
)

Public function

FHullShaderRHIRef

 

CreateHullShader

(
    FRHIShaderLibrary* Library,
    FSHAHash Hash
)

Public function

FIndexBufferRHIRef

 

CreateIndexBuffer

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

Public function

FPixelShaderRHIRef

 

CreatePixelShader

(
    FRHIShaderLibrary* Library,
    FSHAHash Hash
)

Public function

FPixelShaderRHIRef

 

CreatePixelShader

(
    const TArray< uint8 >& Code
)

Public function

FRasterizerStateRHIRef

 

CreateRasterizerState

(
    const FRasterizerStateInitializerRHI& Initializer
)

Public function

FSamplerStateRHIRef

 

CreateSamplerState

(
    const FSamplerStateInitializerRHI& Initializer
)

Public function

FShaderResourceViewRHIRef

 

CreateShaderResourceView

(
    FRHIIndexBuffer* Buffer
)

Public function

FShaderResourceViewRHIRef

 

CreateShaderResourceView

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

Public function

FShaderResourceViewRHIRef

 

CreateShaderResourceView

(
    FRHIVertexBuffer* VertexBuffer,
    uint32 Stride,
    uint8 Format
)

Public function

FShaderResourceViewRHIRef

 

CreateShaderResourceView

(
    FRHITexture* Texture,
    uint8 MipLevel
)

Public function

FShaderResourceViewRHIRef

 

CreateShaderResourceView

(
    FRHITexture* Texture,
    const FRHITextureSRVCreateInfo& CreateInfo
)

Public function

FShaderResourceViewRHIRef

 

CreateShaderResourceView

(
    FRHIStructuredBuffer* StructuredBuffer
)

Public function

FShaderResourceViewRHIRef

 

CreateShaderResourceViewFMask

(
    FRHITexture2D* Texture2DRHI
)

Public function

FShaderResourceViewRHIRef

 

CreateShaderResourceViewWriteMask

(
    FRHITexture2D* Texture2DRHI
)

Public function

FStagingBufferRHIRef

 

CreateStagingBuffer()

Public function

FStructuredBufferRHIRef

 

CreateStructuredBuffer

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

Public function

FTexture2DRHIRef

 

CreateTexture2D

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

Public function

FTexture2DArrayRHIRef

 

CreateTexture2DArray

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

Public function

FTexture3DRHIRef

 

CreateTexture3D

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

Public function

FTextureCubeRHIRef

 

CreateTextureCube

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

Public function

FTextureCubeRHIRef

 

CreateTextureCubeArray

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

Public function

FTexture2DRHIRef

 

CreateTextureExternal2D

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

Public function

FTextureReferenceRHIRef

 

CreateTextureReference

(
    FLastRenderTimeContainer* LastRenderTime
)

Public function

FUniformBufferRHIRef

 

CreateUniformBuffer

(
    const void* Contents,
    const FRHIUniformBufferLayout& Layout,
    EUniformBufferUsage Usage
)

Public function

FUnorderedAccessViewRHIRef

 

CreateUnorderedAccessView

(
    FRHITexture* Texture,
    uint32 MipLevel,
    uint8 Format
)

Public function

FUnorderedAccessViewRHIRef

 

CreateUnorderedAccessView

(
    FRHIStructuredBuffer* StructuredBuffer,
    bool bUseUAVCounter,
    bool bAppendBuffer
)

Public function

FUnorderedAccessViewRHIRef

 

CreateUnorderedAccessView

(
    FRHIIndexBuffer* IndexBuffer,
    uint8 Format
)

Public function

FUnorderedAccessViewRHIRef

 

CreateUnorderedAccessView

(
    FRHITexture* Texture,
    uint32 MipLevel
)

Public function

FUnorderedAccessViewRHIRef

 

CreateUnorderedAccessView

(
    FRHIVertexBuffer* VertexBuffer,
    uint8 Format
)

Public function

FVertexBufferRHIRef

 

CreateVertexBuffer

(
    uint32 Size,
    uint32 InUsage,
    FRHIResourceCreateInfo& CreateInfo
)

Public function

FVertexShaderRHIRef

 

CreateVertexShader

(
    FRHIShaderLibrary* Library,
    FSHAHash Hash
)

Public function

FVertexShaderRHIRef

 

CreateVertexShader

(
    const TArray< uint8 >& Code
)

Public function

FViewportRHIRef

 

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 >& UpdateDataArray
)

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

void

 

EnqueueLambda

(
    LAMBDA&& Lambda
)

Public function

void

 

ExecuteCommandList

(
    FRHICommandList* CmdList
)

Public function

ETextureReallocationStatus

 

FinalizeAsyncReallocateTexture2D

(
    FRHITexture2D* Texture2D,
    bool bBlockUntilCompleted
)

Public function

void

 

FlushResources()

Public function

bool

 

GetAvailableResolutions

(
    FScreenResolutionArray& Resolutions,
    bool bIgnoreRefreshRate
)

Public function

IRHICommandContextContainer *

 

GetCommandContextContainer

(
    int32 Index,
    int32 Num
)

Public function

IRHICommandContext *

 

GetDefaultContext()

Public function

uint32

 

GetGPUFrameCycles()

Public function

void *

 

GetNativeDevice()

Public function

bool

 

GetRenderQueryResult

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

Public function Static

FGraphEventArray &

 

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

FTexture2DRHIRef

 

GetViewportBackBuffer

(
    FRHIViewport* Viewport
)

Public function

uint32

 

GetViewportNextPresentGPUIndex

(
    FRHIViewport* Viewport
)

Public function

void

 

ImmediateFlush

(
    EImmediateFlushType::Type FlushType
)

Public function

bool

 

IsBottomOfPipe()

Public function

bool

 

IsRenderingSuspended()

Public function Static

bool

 

IsStalled()

Public function

bool

 

IsTopOfPipe()

Public function

void *

 

LockIndexBuffer

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

Public function

void *

 

LockStagingBuffer

(
    FRHIStagingBuffer* StagingBuffer,
    uint32 Offset,
    uint32 SizeRHI
)

Public function

void *

 

LockStructuredBuffer

(
    FRHIStructuredBuffer* StructuredBuffer,
    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,
    FRHIGPUFence* Fence,
    void*& OutData,
    int32& OutWidth,
    int32& OutHeight
)

Public function

void

 

MapStagingSurface

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

Public function

void

 

PollRenderQueryResults()

Public function

void

 

QueueAsyncCompute

(
    FRHIAsyncComputeCommandList& RHIComputeCmdList
)

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

FGraphEventRef

 

RenderThreadTaskFence()

Public function

void

 

ResizeViewport

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

Public function

void

 

ResumeRendering()

Public function

FGraphEventRef

 

RHIThreadFence

(
    bool bSetLockFence
)

Public function

void

 

SetCurrentStat

(
    TStatId Stat
)

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* StagingBuffer
)

Public function

void

 

UnlockStructuredBuffer

(
    FRHIStructuredBuffer* StructuredBuffer
)

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& UpdateRegion,
    uint32 SourcePitch,
    FRHIStructuredBuffer* Buffer,
    uint32 BufferOffset
)

Public function

void

 

UpdateRHIResources

(
    FRHIResourceUpdateInfo* UpdateInfos,
    int32 Num,
    bool bNeedReleaseRefs
)

Public function

void

 

UpdateTexture2D

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

Public function

void

 

UpdateTexture3D

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

Public function

void

 

UpdateTextureReference

(
    FRHITextureReference* TextureRef,
    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* DestinationTexture,
    FBox2D SourceBox,
    FBox2D DestinationBox
)

CopySubTextureRegion API is deprecated; please use CopyTexture instead.

Public function

FRenderQueryRHIRef

 

CreateRenderQuery

(
    ERenderQueryType QueryType
)

CreateRenderQuery API is deprecated; use RHICreateRenderQueryPool and suballocate queries there

Public function

FRenderQueryRHIRef

 

CreateRenderQuery_RenderThread

(
    ERenderQueryType QueryType
)

CreateRenderQuery API is deprecated; use RHICreateRenderQueryPool and suballocate queries there

Public function

void

 

GenerateMips

(
    FRHITexture* Texture
)

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

Public function

void

 

SetStreamOutTargets

(
    uint32 NumTargets,
    FRHIVertexBuffer*const* VertexBuffers,
    const uint32* Offsets
)

SetStreamOutTargets API is deprecated.

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