Language:
Discover
By Skill Level
By Category

FDynamicRHI

Choose your OS:

Inheritance Hierarchy

Syntax

class FDynamicRHI

Remarks

The interface which is implemented by the dynamically bound RHI.

Variables

Name Description

Protected variable

TArray < uint32 ...

 

PixelFormatBlockBytes

Destructors

Name Description

Public function Virtual

~FDynamicRHI()

Declare a virtual destructor, so the dynamic RHI can be deleted without knowing its type.

Functions

Name Description

Public function Virtual

FTexture2DRH ...

 

AsyncReallocateTexture2D_RenderThread

(
    FRHICommandListImmediate & RHICmdLi...,
    FTexture2DRHIParamRef Texture2D,
    int32 NewMipCount,
    int32 NewSizeX,
    int32 NewSizeY,
    FThreadSafeCounter * RequestSta...
)

Public function Virtual

FUpdateTextu ...

 

BeginUpdateTexture3D_RenderThread

(
    FRHICommandListImmediate & RHICmdLi...,
    FTexture3DRHIParamRef Texture,
    uint32 MipIndex,
    const FUpdateTextureRegion3D & Upda...
)

Public function Virtual

ETextureReal ...

 

CancelAsyncReallocateTexture2D_RenderThread

(
    FRHICommandListImmediate & RHICmdLi...,
    FTexture2DRHIParamRef Texture2D,
    bool bBlockUntilCompleted
)

Public function Virtual

bool

 

CheckGpuHeartbeat()

Checks if the GPU is still alive.

Public function Virtual

FIndexBuffer ...

 

CreateAndLockIndexBuffer_RenderThread

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

Public function Virtual

FVertexBuffe ...

 

CreateAndLockVertexBuffer_RenderThread

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

Public function Virtual

FComputeShad ...

 

CreateComputeShader_RenderThread

(
    FRHICommandListImmediate & RHICmdLi...,
    FRHIShaderLibraryParamRef Library,
    FSHAHash Hash
)

Public function Virtual

FComputeShad ...

 

CreateComputeShader_RenderThread

(
    FRHICommandListImmediate & RHICmdLi...,
    const TArray < uint8 >& Code
)

Public function Virtual

FDomainShade ...

 

CreateDomainShader_RenderThread

(
    FRHICommandListImmediate & RHICmdLi...,
    FRHIShaderLibraryParamRef Library,
    FSHAHash Hash
)

Public function Virtual

FDomainShade ...

 

CreateDomainShader_RenderThread

(
    FRHICommandListImmediate & RHICmdLi...,
    const TArray < uint8 >& Code
)

Public function Virtual

FGeometrySha ...

 

CreateGeometryShader_RenderThread

(
    FRHICommandListImmediate & RHICmdLi...,
    FRHIShaderLibraryParamRef Library,
    FSHAHash Hash
)

Public function Virtual

FGeometrySha ...

 

CreateGeometryShader_RenderThread

(
    FRHICommandListImmediate & RHICmdLi...,
    const TArray < uint8 >& Code
)

Public function Virtual

FGeometrySha ...

 

CreateGeometryShaderWithStreamOutput_RenderThread

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

Public function Virtual

FGeometrySha ...

 

CreateGeometryShaderWithStreamOutput_RenderThread

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

Public function Virtual

FHullShaderR ...

 

CreateHullShader_RenderThread

(
    FRHICommandListImmediate & RHICmdLi...,
    FRHIShaderLibraryParamRef Library,
    FSHAHash Hash
)

Public function Virtual

FHullShaderR ...

 

CreateHullShader_RenderThread

(
    FRHICommandListImmediate & RHICmdLi...,
    const TArray < uint8 >& Code
)

Public function Virtual

FIndexBuffer ...

 

CreateIndexBuffer_RenderThread

(
    FRHICommandListImmediate & RHICmdLi...,
    uint32 Stride,
    uint32 Size,
    uint32 InUsage,
    FRHIResourceCreateInfo & CreateInfo
)

Public function Virtual

FPixelShader ...

 

CreatePixelShader_RenderThread

(
    FRHICommandListImmediate & RHICmdLi...,
    const TArray < uint8 >& Code
)

Public function Virtual

FPixelShader ...

 

CreatePixelShader_RenderThread

(
    FRHICommandListImmediate & RHICmdLi...,
    FRHIShaderLibraryParamRef Library,
    FSHAHash Hash
)

Public function Virtual

FShaderResou ...

 

CreateShaderResourceView_RenderThread

(
    FRHICommandListImmediate & RHICmdLi...,
    FIndexBufferRHIParamRef Buffer
)

Public function Virtual

FShaderResou ...

 

CreateShaderResourceView_RenderThread

(
    FRHICommandListImmediate & RHICmdLi...,
    FVertexBufferRHIParamRef VertexBuff...,
    uint32 Stride,
    uint8 Format
)

Public function Virtual

FStructuredB ...

 

CreateStructuredBuffer_RenderThread

(
    FRHICommandListImmediate & RHICmdLi...,
    uint32 Stride,
    uint32 Size,
    uint32 InUsage,
    FRHIResourceCreateInfo & CreateInfo
)

Public function Virtual

FVertexBuffe ...

 

CreateVertexBuffer_RenderThread

(
    FRHICommandListImmediate & RHICmdLi...,
    uint32 Size,
    uint32 InUsage,
    FRHIResourceCreateInfo & CreateInfo
)

Public function Virtual

FVertexDecla ...

 

CreateVertexDeclaration_RenderThread

(
    FRHICommandListImmediate & RHICmdLi...,
    const FVertexDeclarationElementList ...
)

Public function Virtual

FVertexShade ...

 

CreateVertexShader_RenderThread

(
    FRHICommandListImmediate & RHICmdLi...,
    const TArray < uint8 >& Code
)

Public function Virtual

FVertexShade ...

 

CreateVertexShader_RenderThread

(
    FRHICommandListImmediate & RHICmdLi...,
    FRHIShaderLibraryParamRef Library,
    FSHAHash Hash
)

Public function Virtual

void

 

EnableIdealGPUCaptureOptions

(
    bool bEnable
)

Utilities.

Public function Virtual

void

 

EndUpdateTexture3D_RenderThread

(
    FRHICommandListImmediate & RHICmdLi...,
    FUpdateTexture3DData & UpdateData
)

Public function Virtual

ETextureReal ...

 

FinalizeAsyncReallocateTexture2D_RenderThread

(
    FRHICommandListImmediate & RHICmdLi...,
    FTexture2DRHIParamRef Texture2D,
    bool bBlockUntilCompleted
)

Public function Virtual

void

 

FlushPendingLogs()

Some RHIs can have pending messages/logs for error tracking, or debug modes.

Public function

const TCHAR ...

 

GetName()

Public function

void

 

Init()

Initializes the RHI; separate from IDynamicRHIModule::CreateRHI so that GDynamicRHI is set when it is called.

Public function

void

 

InitPixelFormatInfo

(
    const TArray < uint32 >& PixelForma...
)

Called after PostInit to initialize the pixel format info, which is needed for some commands default implementations

Public function Virtual

void *

 

LockIndexBuffer_RenderThread

(
    FRHICommandListImmediate & RHICmdLi...,
    FIndexBufferRHIParamRef IndexBuffer,
    uint32 Offset,
    uint32 SizeRHI,
    EResourceLockMode LockMode
)

Public function Virtual

void *

 

LockStagingBuffer_RenderThread

(
    FRHICommandListImmediate & RHICmdLi...,
    FStagingBufferRHIParamRef StagingBu...,
    uint32 Offset,
    uint32 SizeRHI
)

Lock a staging buffer to read contents on the CPU that were written by the GPU, without having to stall.

Public function Virtual

void *

 

LockTexture2D_RenderThread

(
    FRHICommandListImmediate & RHICmdLi...,
    FTexture2DRHIParamRef Texture,
    uint32 MipIndex,
    EResourceLockMode LockMode,
    uint32 & DestStride,
    bool bLockWithinMiptail,
    bool bNeedsDefaultRHIFlush
)

Public function Virtual

void *

 

LockVertexBuffer_RenderThread

(
    FRHICommandListImmediate & RHICmdLi...,
    FVertexBufferRHIParamRef VertexBuff...,
    uint32 Offset,
    uint32 SizeRHI,
    EResourceLockMode LockMode
)

Public function Virtual

void

 

PostInit()

Called after the RHI is initialized; before the render thread is started.

Public function

void

 

RHIAcquireThreadOwnership()

FlushType: Flush RHI Thread.

Public function Virtual

void

 

RHIAcquireTransientResource_RenderThread

(
    FStructuredBufferRHIParamRef Buffer
)

Public function Virtual

void

 

RHIAcquireTransientResource_RenderThread

(
    FVertexBufferRHIParamRef Buffer
)

Public function Virtual

void

 

RHIAcquireTransientResource_RenderThread

(
    FTextureRHIParamRef Texture
)

Public function

void

 

RHIAdvanceFrameForGetViewportBackBuffer

(
    FViewportRHIParamRef Viewport
)

Only relevant with an RHI thread, this advances the backbuffer for the purpose of GetViewportBackBuffer FlushType: Thread safe

Public function

FTexture2DRH ...

 

RHIAsyncCreateTexture2D

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

FlushType: Thread safe.

Public function

FTexture2DRH ...

 

RHIAsyncReallocateTexture2D

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

Starts an asynchronous texture reallocation.

Public function Virtual

void

 

RHIBeginSuspendRendering()

Tells the RHI we're about to suspend it.

Public function

void

 

RHIBindDebugLabelName

(
    FTextureRHIParamRef Texture,
    const TCHAR * Name
)

FlushType: Thread safe.

Public function Virtual

void

 

RHIBindDebugLabelName

(
    FUnorderedAccessViewRHIParamRef Uno...,
    const TCHAR * Name
)

Public function

void

 

RHIBlockUntilGPUIdle()

Blocks the CPU until the GPU catches up and goes idle. FlushType: Flush Immediate (seems wrong)

Public function

uint64

 

RHICalcTexture2DPlatformSize

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

FlushType: Thread safe.

Public function

uint64

 

RHICalcTexture3DPlatformSize

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

FlushType: Thread safe.

Public function

uint64

 

RHICalcTextureCubePlatformSize

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

FlushType: Thread safe.

Public function Virtual

void

 

RHICalibrateTimers()

Public function

ETextureReal ...

 

RHICancelAsyncReallocateTexture2D

(
    FTexture2DRHIParamRef Texture2D,
    bool bBlockUntilCompleted
)

FlushType: Wait RHI Thread.

Public function

uint32

 

RHIComputeMemorySize

(
    FTextureRHIParamRef TextureRHI
)

FlushType: Thread safe.

Public function

void

 

RHICopySharedMips

(
    FTexture2DRHIParamRef DestTexture2D,
    FTexture2DRHIParamRef SrcTexture2D
)

FlushType: Flush RHI Thread.

Public function Virtual

void

 

RHICopySubTextureRegion

(
    FTexture2DRHIParamRef SourceTexture,
    FTexture2DRHIParamRef DestinationTe...,
    FBox2D SourceBox,
    FBox2D DestinationBox
)

Public function Virtual

void

 

RHICopySubTextureRegion_RenderThread

(
    FRHICommandListImmediate & RHICmdLi...,
    FTexture2DRHIParamRef SourceTexture,
    FTexture2DRHIParamRef DestinationTe...,
    FBox2D SourceBox,
    FBox2D DestinationBox
)

Copy the source box pixels in the destination box texture, return true if implemented for the current platform

Public function

void

 

RHICopyVertexBuffer

(
    FVertexBufferRHIParamRef SourceBuff...,
    FVertexBufferRHIParamRef DestBuffer
)

FlushType: Flush Immediate (seems dangerous)

Public function

FBlendStateR ...

 

RHICreateBlendState

(
    const FBlendStateInitializerRHI & I...
)

FlushType: Thread safe.

Public function

FBoundShader ...

 

RHICreateBoundShaderState

(
    FVertexDeclarationRHIParamRef Verte...,
    FVertexShaderRHIParamRef VertexShad...,
    FHullShaderRHIParamRef HullShader,
    FDomainShaderRHIParamRef DomainShad...,
    FPixelShaderRHIParamRef PixelShader,
    FGeometryShaderRHIParamRef Geometry...
)

FlushType: Thread safe, but varies depending on the RHI.

Public function Virtual

FComputeFenc ...

 

RHICreateComputeFence

(
    const FName & Name
)

FlushType: Thread safe, but varies depending on the RHI.

Public function Virtual

TRefCountPtr ...

 

RHICreateComputePipelineState

(
    FRHIComputeShader * ComputeShad...,
    FRHIPipelineBinaryLibraryParamRef P...
)

Public function Virtual

TRefCountPtr ...

 

RHICreateComputePipelineState

(
    FRHIComputeShader * ComputeShad...
)

Public function Virtual

FComputeShad ...

 

RHICreateComputeShader

(
    FRHIShaderLibraryParamRef Library,
    FSHAHash Hash
)

FlushType: Wait RHI Thread.

Public function

FComputeShad ...

 

RHICreateComputeShader

(
    const TArray < uint8 >& Code
)

FlushType: Wait RHI Thread.

Public function

FDepthStenci ...

 

RHICreateDepthStencilState

(
    const FDepthStencilStateInitializer ...
)

FlushType: Thread safe.

Public function Virtual

FDomainShade ...

 

RHICreateDomainShader

(
    FRHIShaderLibraryParamRef Library,
    FSHAHash Hash
)

FlushType: Wait RHI Thread.

Public function

FDomainShade ...

 

RHICreateDomainShader

(
    const TArray < uint8 >& Code
)

FlushType: Wait RHI Thread.

Public function Virtual

FGeometrySha ...

 

RHICreateGeometryShader

(
    FRHIShaderLibraryParamRef Library,
    FSHAHash Hash
)

FlushType: Wait RHI Thread.

Public function

FGeometrySha ...

 

RHICreateGeometryShader

(
    const TArray < uint8 >& Code
)

FlushType: Wait RHI Thread.

Public function Virtual

FGeometrySha ...

 

RHICreateGeometryShaderWithStreamOutput

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

FlushType: Wait RHI Thread.

Public function

FGeometrySha ...

 

RHICreateGeometryShaderWithStreamOutput

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

FlushType: Wait RHI Thread.

Public function Virtual

FGPUFenceRHI ...

 

RHICreateGPUFence

(
    const FName & Name
)

Public function Virtual

FGraphicsPip ...

 

RHICreateGraphicsPipelineState

Public function Virtual

FGraphicsPip ...

 

RHICreateGraphicsPipelineState

(
    const FGraphicsPipelineStateInitial ...
)

Creates a graphics pipeline state object (PSO) that represents a complete gpu pipeline for rendering.

Public function Virtual

FHullShaderR ...

 

RHICreateHullShader

(
    FRHIShaderLibraryParamRef Library,
    FSHAHash Hash
)

FlushType: Wait RHI Thread.

Public function

FHullShaderR ...

 

RHICreateHullShader

(
    const TArray < uint8 >& Code
)

FlushType: Wait RHI Thread.

Public function

FIndexBuffer ...

 

RHICreateIndexBuffer

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

FlushType: Wait RHI Thread.

Public function Virtual

FPixelShader ...

 

RHICreatePixelShader

(
    FRHIShaderLibraryParamRef Library,
    FSHAHash Hash
)

FlushType: Wait RHI Thread.

Public function

FPixelShader ...

 

RHICreatePixelShader

(
    const TArray < uint8 >& Code
)

FlushType: Wait RHI Thread.

Public function

FRasterizerS ...

 

RHICreateRasterizerState

(
    const FRasterizerStateInitializerRH ...
)

FlushType: Thread safe.

Public function

FRenderQuery ...

 

RHICreateRenderQuery

(
    ERenderQueryType QueryType
)

FlushType: Wait RHI Thread.

Public function Virtual

FRenderQuery ...

 

RHICreateRenderQuery_RenderThread

(
    FRHICommandListImmediate & RHICmdLi...,
    ERenderQueryType QueryType
)

Public function Virtual

FStructuredB ...

 

RHICreateRTWriteMaskBuffer

(
    FTexture2DRHIParamRef RenderTarget
)

Creates an FStructuredBuffer for the RT write mask of a render target

Public function

FSamplerStat ...

 

RHICreateSamplerState

(
    const FSamplerStateInitializerRHI &...
)

FlushType: Thread safe.

Public function Virtual

FRHIShaderLi ...

 

RHICreateShaderLibrary

(
    EShaderPlatform Platform,
    FString const& FilePath,
    FString const& Name
)

FlushType: Must be Thread-Safe.

Public function Virtual

FRHIShaderLi ...

 

RHICreateShaderLibrary_RenderThread

(
    FRHICommandListImmediate & RHICmdLi...,
    EShaderPlatform Platform,
    FString FilePath,
    FString Name
)

Public function

FShaderResou ...

 

RHICreateShaderResourceView

(
    FIndexBufferRHIParamRef Buffer
)

FlushType: Wait RHI Thread.

Public function

FShaderResou ...

 

RHICreateShaderResourceView

(
    FTexture2DRHIParamRef Texture2DRHI,
    uint8 MipLevel
)

FlushType: Wait RHI Thread.

Public function

FShaderResou ...

 

RHICreateShaderResourceView

(
    FVertexBufferRHIParamRef VertexBuff...,
    uint32 Stride,
    uint8 Format
)

FlushType: Wait RHI Thread.

Public function

FShaderResou ...

 

RHICreateShaderResourceView

(
    FTextureCubeRHIParamRef TextureCube...,
    uint8 MipLevel
)

FlushType: Wait RHI Thread.

Public function

FShaderResou ...

 

RHICreateShaderResourceView

(
    FStructuredBufferRHIParamRef Struct...
)

FlushType: Wait RHI Thread.

Public function

FShaderResou ...

 

RHICreateShaderResourceView

(
    FTexture2DRHIParamRef Texture2DRHI,
    uint8 MipLevel,
    uint8 NumMipLevels,
    uint8 Format
)

FlushType: Wait RHI Thread.

Public function

FShaderResou ...

 

RHICreateShaderResourceView

(
    FTexture2DArrayRHIParamRef Texture2...,
    uint8 MipLevel
)

FlushType: Wait RHI Thread.

Public function

FShaderResou ...

 

RHICreateShaderResourceView

(
    FTexture3DRHIParamRef Texture3DRHI,
    uint8 MipLevel
)

FlushType: Wait RHI Thread.

Public function Virtual

FShaderResou ...

 

RHICreateShaderResourceView_RenderThread

(
    FRHICommandListImmediate & RHICmdLi...,
    FTextureCubeRHIParamRef TextureCube...,
    uint8 MipLevel
)

Public function Virtual

FShaderResou ...

 

RHICreateShaderResourceView_RenderThread

(
    FRHICommandListImmediate & RHICmdLi...,
    FTexture2DArrayRHIParamRef Texture2...,
    uint8 MipLevel
)

Public function Virtual

FShaderResou ...

 

RHICreateShaderResourceView_RenderThread

(
    FRHICommandListImmediate & RHICmdLi...,
    FTexture3DRHIParamRef Texture3DRHI,
    uint8 MipLevel
)

Public function Virtual

FShaderResou ...

 

RHICreateShaderResourceView_RenderThread

(
    FRHICommandListImmediate & RHICmdLi...,
    FTexture2DRHIParamRef Texture2DRHI,
    uint8 MipLevel
)

Public function Virtual

FShaderResou ...

 

RHICreateShaderResourceView_RenderThread

(
    FRHICommandListImmediate & RHICmdLi...,
    FStructuredBufferRHIParamRef Struct...
)

Public function Virtual

FShaderResou ...

 

RHICreateShaderResourceView_RenderThread

(
    FRHICommandListImmediate & RHICmdLi...,
    FIndexBufferRHIParamRef Buffer
)

Public function Virtual

FShaderResou ...

 

RHICreateShaderResourceView_RenderThread

(
    FRHICommandListImmediate & RHICmdLi...,
    FVertexBufferRHIParamRef VertexBuff...,
    uint32 Stride,
    uint8 Format
)

Public function Virtual

FShaderResou ...

 

RHICreateShaderResourceView_RenderThread

(
    FRHICommandListImmediate & RHICmdLi...,
    FTexture2DRHIParamRef Texture2DRHI,
    uint8 MipLevel,
    uint8 NumMipLevels,
    uint8 Format
)

Public function Virtual

FStagingBuff ...

 

RHICreateStagingBuffer

(
    FVertexBufferRHIParamRef BackingBuf...
)

FlushType: Thread safe.

Public function

FStructuredB ...

 

RHICreateStructuredBuffer

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

FlushType: Wait RHI Thread.

Public function

FTexture2DRH ...

 

RHICreateTexture2D

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

FlushType: Wait RHI Thread.

Public function Virtual

FTexture2DRH ...

 

RHICreateTexture2D_RenderThread

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

Public function

FTexture2DAr ...

 

RHICreateTexture2DArray

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

FlushType: Wait RHI Thread.

Public function Virtual

FTexture2DAr ...

 

RHICreateTexture2DArray_RenderThread

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

Public function

FTexture3DRH ...

 

RHICreateTexture3D

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

FlushType: Wait RHI Thread.

Public function Virtual

FTexture3DRH ...

 

RHICreateTexture3D_RenderThread

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

Public function

FTextureCube ...

 

RHICreateTextureCube

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

FlushType: Wait RHI Thread.

Public function Virtual

FTextureCube ...

 

RHICreateTextureCube_RenderThread

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

Public function

FTextureCube ...

 

RHICreateTextureCubeArray

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

FlushType: Wait RHI Thread.

Public function Virtual

FTextureCube ...

 

RHICreateTextureCubeArray_RenderThread

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

Public function Virtual

FTexture2DRH ...

 

RHICreateTextureExternal2D

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

FlushType: Wait RHI Thread.

Public function Virtual

FTexture2DRH ...

 

RHICreateTextureExternal2D_RenderThread

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

Public function

FTextureRefe ...

 

RHICreateTextureReference

(
    FLastRenderTimeContainer * Last...
)

FlushType: Wait RHI Thread.

Public function Virtual

FTextureRefe ...

 

RHICreateTextureReference_RenderThread

(
    FRHICommandListImmediate & RHICmdLi...,
    FLastRenderTimeContainer * Last...
)

Public function

FUniformBuff ...

 

RHICreateUniformBuffer

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

FlushType: Thread safe, but varies depending on the RHI.

Public function

FUnorderedAc ...

 

RHICreateUnorderedAccessView

(
    FStructuredBufferRHIParamRef Struct...,
    bool bUseUAVCounter,
    bool bAppendBuffer
)

FlushType: Wait RHI Thread.

Public function

FUnorderedAc ...

 

RHICreateUnorderedAccessView

(
    FIndexBufferRHIParamRef IndexBuffer,
    uint8 Format
)

FlushType: Wait RHI Thread.

Public function

FUnorderedAc ...

 

RHICreateUnorderedAccessView

(
    FVertexBufferRHIParamRef VertexBuff...,
    uint8 Format
)

FlushType: Wait RHI Thread.

Public function

FUnorderedAc ...

 

RHICreateUnorderedAccessView

(
    FTextureRHIParamRef Texture,
    uint32 MipLevel
)

FlushType: Wait RHI Thread.

Public function Virtual

FUnorderedAc ...

 

RHICreateUnorderedAccessView_RenderThread

(
    FRHICommandListImmediate & RHICmdLi...,
    FIndexBufferRHIParamRef IndexBuffer,
    uint8 Format
)

Public function Virtual

FUnorderedAc ...

 

RHICreateUnorderedAccessView_RenderThread

(
    FRHICommandListImmediate & RHICmdLi...,
    FVertexBufferRHIParamRef VertexBuff...,
    uint8 Format
)

Public function Virtual

FUnorderedAc ...

 

RHICreateUnorderedAccessView_RenderThread

(
    FRHICommandListImmediate & RHICmdLi...,
    FTextureRHIParamRef Texture,
    uint32 MipLevel
)

Public function Virtual

FUnorderedAc ...

 

RHICreateUnorderedAccessView_RenderThread

(
    FRHICommandListImmediate & RHICmdLi...,
    FStructuredBufferRHIParamRef Struct...,
    bool bUseUAVCounter,
    bool bAppendBuffer
)

Public function

FVertexBuffe ...

 

RHICreateVertexBuffer

(
    uint32 Size,
    uint32 InUsage,
    FRHIResourceCreateInfo & CreateInfo
)

FlushType: Wait RHI Thread.

Public function

FVertexDecla ...

 

RHICreateVertexDeclaration

(
    const FVertexDeclarationElementList ...
)

FlushType: Wait RHI Thread.

Public function

FVertexShade ...

 

RHICreateVertexShader

(
    const TArray < uint8 >& Code
)

FlushType: Wait RHI Thread.

Public function Virtual

FVertexShade ...

 

RHICreateVertexShader

(
    FRHIShaderLibraryParamRef Library,
    FSHAHash Hash
)

FlushType: Wait RHI Thread.

Public function

FViewportRHI ...

 

RHICreateViewport

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

Must be called from the main thread. FlushType: Thread safe

Public function Virtual

void

 

RHIDiscardTransientResource_RenderThread

(
    FTextureRHIParamRef Texture
)

Public function Virtual

void

 

RHIDiscardTransientResource_RenderThread

(
    FVertexBufferRHIParamRef Buffer
)

Public function Virtual

void

 

RHIDiscardTransientResource_RenderThread

(
    FStructuredBufferRHIParamRef Buffer
)

Public function Virtual

bool

 

RHIEnqueueCompress

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

Public function Virtual

bool

 

RHIEnqueueDecompress

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

FlushType: Flush Immediate.

Public function

void

 

RHIExecuteCommandList

(
    FRHICommandList * CmdList
)

FlushType: Wait RHI Thread.

Public function

ETextureReal ...

 

RHIFinalizeAsyncReallocateTexture2D

(
    FTexture2DRHIParamRef Texture2D,
    bool bBlockUntilCompleted
)

FlushType: Wait RHI Thread.

Public function

void

 

RHIFlushResources()

Flush driver resources.

Public function

void

 

RHIGenerateMips

(
    FTextureRHIParamRef Texture
)

FlushType: Flush Immediate (NP: this should be queued on the command list for RHI thread execution, not flushed)

Public function

bool

 

RHIGetAvailableResolutions

(
    FScreenResolutionArray & Resolution...,
    bool bIgnoreRefreshRate
)

FlushType: Thread safe.

Public function

IRHICommandC ...

 

RHIGetCommandContextContainer

(
    int32 Index,
    int32 Num,
    FRHIGPUMask GPUMask
)

Public function

IRHICommandC ...

 

RHIGetCommandContextContainer

(
    int32 Index,
    int32 Num
)

FlushType: Thread safe.

Public function Virtual

IRHIComputeC ...

 

RHIGetDefaultAsyncComputeContext()

FlushType: Thread safe.

Public function

IRHIComputeC ...

 

RHIGetDefaultAsyncComputeContext

(
    FRHIGPUMask GPUMask
)

Public function

IRHICommandC ...

 

RHIGetDefaultContext()

FlushType: Thread safe.

Public function

IRHICommandC ...

 

RHIGetDefaultContext

(
    FRHIGPUMask GPUMask
)

Public function Virtual

FTexture2DRH ...

 

RHIGetFMaskTexture

(
    FTextureRHIParamRef SourceTextureRH...
)

Public function

uint32

 

RHIGetGPUFrameCycles()

FlushType: Thread safe.

Public function

void *

 

RHIGetNativeDevice()

FlushType: Flush RHI Thread.

Public function

bool

 

RHIGetRenderQueryResult

(
    FRenderQueryRHIParamRef RenderQuery,
    uint64 & OutResult,
    bool bWait
)

CAUTION: Even though this is marked as threadsafe, it is only valid to call from the render thread.

Public function

void

 

RHIGetResourceInfo

(
    FTextureRHIParamRef Ref,
    FRHIResourceInfo & OutInfo
)

FlushType: Thread safe.

Public function

void

 

RHIGetSupportedResolution

(
    uint32 & Width,
    uint32 & Height
)

FlushType: Thread safe.

Public function

void

 

RHIGetTextureMemoryStats

(
    FTextureMemoryStats & OutStats
)

FlushType: Thread safe.

Public function

bool

 

RHIGetTextureMemoryVisualizeData

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

FlushType: Flush Immediate.

Public function

FTexture2DRH ...

 

RHIGetViewportBackBuffer

(
    FViewportRHIParamRef Viewport
)

With RHI thread, this is the current backbuffer from the perspective of the render thread.

Public function Virtual

FUnorderedAc ...

 

RHIGetViewportBackBufferUAV

(
    FViewportRHIParamRef ViewportRHI
)

Public function Virtual

uint32

 

RHIGetViewportNextPresentGPUIndex

(
    FViewportRHIParamRef Viewport
)

FlushType: Thread safe.

Public function Virtual

bool

 

RHIIsRenderingSuspended()

FlushType: Flush Immediate.

Public function Virtual

bool

 

RHIIsTypedUAVLoadSupported

(
    EPixelFormat PixelFormat
)

Public function

void *

 

RHILockIndexBuffer

(
    FIndexBufferRHIParamRef IndexBuffer,
    uint32 Offset,
    uint32 Size,
    EResourceLockMode LockMode
)

FlushType: Flush RHI Thread.

Public function Virtual

void *

 

RHILockStagingBuffer

(
    FStagingBufferRHIParamRef StagingBu...,
    uint32 Offset,
    uint32 SizeRHI
)

Lock a staging buffer to read contents on the CPU that were written by the GPU, without having to stall.

Public function

void *

 

RHILockStructuredBuffer

(
    FStructuredBufferRHIParamRef Struct...,
    uint32 Offset,
    uint32 SizeRHI,
    EResourceLockMode LockMode
)

FlushType: Flush RHI Thread.

Public function

void *

 

RHILockTexture2D

(
    FTexture2DRHIParamRef Texture,
    uint32 MipIndex,
    EResourceLockMode LockMode,
    uint32 & DestStride,
    bool bLockWithinMiptail
)

FlushType: Flush RHI Thread.

Public function

void *

 

RHILockTexture2DArray

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

FlushType: Flush RHI Thread.

Public function

void *

 

RHILockTextureCubeFace

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

FlushType: Flush RHI Thread.

Public function Virtual

void *

 

RHILockTextureCubeFace_RenderThread

(
    FRHICommandListImmediate & RHICmdLi...,
    FTextureCubeRHIParamRef Texture,
    uint32 FaceIndex,
    uint32 ArrayIndex,
    uint32 MipIndex,
    EResourceLockMode LockMode,
    uint32 & DestStride,
    bool bLockWithinMiptail
)

Public function

void *

 

RHILockVertexBuffer

(
    FVertexBufferRHIParamRef VertexBuff...,
    uint32 Offset,
    uint32 SizeRHI,
    EResourceLockMode LockMode
)

FlushType: Flush RHI Thread.

Public function

void

 

RHIMapStagingSurface

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

FlushType: Flush Immediate (seems wrong)

Public function Virtual

void

 

RHIPerFrameRHIFlushComplete()

FlushType: called from render thread when RHI thread is flushed.

Public function

void

 

RHIRead3DSurfaceFloatData

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

FlushType: Flush Immediate (seems wrong)

Public function

void

 

RHIReadSurfaceData

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

FlushType: Flush Immediate (seems wrong)

Public function Virtual

void

 

RHIReadSurfaceData

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

FlushType: Flush Immediate (seems wrong)

Public function

void

 

RHIReadSurfaceFloatData

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

FlushType: Flush Immediate (seems wrong)

Public function Virtual

void

 

RHIReadSurfaceFloatData_RenderThread

(
    FRHICommandListImmediate & RHICmdLi...,
    FTextureRHIParamRef Texture,
    FIntRect Rect,
    TArray < FFloat16Color >& OutData,
    ECubeFace CubeFace,
    int32 ArrayIndex,
    int32 MipIndex
)

Public function Virtual

void

 

RHIRecreateRecursiveBoundShaderStates()

FlushType: Flush Immediate.

Public function

void

 

RHIReleaseThreadOwnership()

FlushType: Flush RHI Thread.

Public function Virtual

void

 

RHIResizeViewport

(
    FViewportRHIParamRef Viewport,
    uint32 SizeX,
    uint32 SizeY,
    bool bIsFullscreen,
    EPixelFormat PreferredPixelFormat
)

Public function

void

 

RHIResizeViewport

(
    FViewportRHIParamRef Viewport,
    uint32 SizeX,
    uint32 SizeY,
    bool bIsFullscreen
)

Must be called from the main thread. FlushType: Thread safe

Public function Virtual

void

 

RHIResumeRendering()

FlushType: Thread safe.

Public function Virtual

void

 

RHISetResourceAliasability_RenderThread

(
    FRHICommandListImmediate & RHICmdLi...,
    EResourceAliasability AliasMode,
    FTextureRHIParamRef * InTexture...,
    int32 NumTextures
)

Public function

void

 

RHISetStreamOutTargets

(
    uint32 NumTargets,
    const FVertexBufferRHIParamRef *...,
    const uint32 * Offsets
)

Sets stream output targets, for use with a geometry shader created with RHICreateGeometryShaderWithStreamOutput.

Public function Virtual

void

 

RHISignalFlipEvent()

Public function Virtual

void

 

RHISubmitCommandsAndFlushGPU()

Kicks the current frame and makes sure GPU is actively working on them FlushType: Flush Immediate (copied from RHIBlockUntilGPUIdle)

Public function Virtual

void

 

RHISuspendRendering()

Operations to suspend title rendering and yield control to the system FlushType: Thread safe

Public function

void

 

RHITick

(
    float DeltaTime
)

Must be called from the main thread. FlushType: Thread safe

Public function Virtual

void

 

RHITransferTexture

(
    FTexture2DRHIParamRef Texture,
    FIntRect Rect,
    uint32 SrcGPUIndex,
    uint32 DestGPUIndex,
    bool PullData
)

FlushType: Flush RHI Thread.

Public function

void

 

RHIUnlockIndexBuffer

(
    FIndexBufferRHIParamRef IndexBuffer
)

FlushType: Flush RHI Thread.

Public function Virtual

void

 

RHIUnlockStagingBuffer

(
    FStagingBufferRHIParamRef StagingBu...
)

Unlock a staging buffer previously locked with RHILockStagingBuffer.

Public function

void

 

RHIUnlockStructuredBuffer

(
    FStructuredBufferRHIParamRef Struct...
)

FlushType: Flush RHI Thread.

Public function

void

 

RHIUnlockTexture2D

(
    FTexture2DRHIParamRef Texture,
    uint32 MipIndex,
    bool bLockWithinMiptail
)

FlushType: Flush RHI Thread.

Public function

void

 

RHIUnlockTexture2DArray

(
    FTexture2DArrayRHIParamRef Texture,
    uint32 TextureIndex,
    uint32 MipIndex,
    bool bLockWithinMiptail
)

FlushType: Flush RHI Thread.

Public function

void

 

RHIUnlockTextureCubeFace

(
    FTextureCubeRHIParamRef Texture,
    uint32 FaceIndex,
    uint32 ArrayIndex,
    uint32 MipIndex,
    bool bLockWithinMiptail
)

FlushType: Flush RHI Thread.

Public function Virtual

void

 

RHIUnlockTextureCubeFace_RenderThread

(
    FRHICommandListImmediate & RHICmdLi...,
    FTextureCubeRHIParamRef Texture,
    uint32 FaceIndex,
    uint32 ArrayIndex,
    uint32 MipIndex,
    bool bLockWithinMiptail
)

Public function

void

 

RHIUnlockVertexBuffer

(
    FVertexBufferRHIParamRef VertexBuff...
)

FlushType: Flush RHI Thread.

Public function

void

 

RHIUnmapStagingSurface

(
    FTextureRHIParamRef Texture
)

FlushType: Flush Immediate (seems wrong)

Public function

void

 

RHIUpdateTexture2D

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

FlushType: Flush RHI Thread.

Public function

void

 

RHIUpdateTexture3D

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

FlushType: Flush RHI Thread.

Public function

void

 

RHIVirtualTextureSetFirstMipInMemory

(
    FTexture2DRHIParamRef Texture,
    uint32 FirstMip
)

FlushType: Wait RHI Thread.

Public function

void

 

RHIVirtualTextureSetFirstMipVisible

(
    FTexture2DRHIParamRef Texture,
    uint32 FirstMip
)

FlushType: Wait RHI Thread.

Public function Virtual

FRHIFlipDeta ...

 

RHIWaitForFlip

(
    double TimeoutInSeconds
)

Public function

void

 

Shutdown()

Shutdown the RHI; handle shutdown and resource destruction before the RHI's actual destructor is called (so that all resources of the RHI are still available for shutdown).

Public function Virtual

void

 

UnlockIndexBuffer_RenderThread

(
    FRHICommandListImmediate & RHICmdLi...,
    FIndexBufferRHIParamRef IndexBuffer
)

Public function Virtual

void

 

UnlockStagingBuffer_RenderThread

(
    FRHICommandListImmediate & RHICmdLi...,
    FStagingBufferRHIParamRef StagingBu...
)

Unlock a staging buffer previously locked with LockStagingBuffer_RenderThread.

Public function Virtual

void

 

UnlockTexture2D_RenderThread

(
    FRHICommandListImmediate & RHICmdLi...,
    FTexture2DRHIParamRef Texture,
    uint32 MipIndex,
    bool bLockWithinMiptail,
    bool bNeedsDefaultRHIFlush
)

Public function Virtual

void

 

UnlockVertexBuffer_RenderThread

(
    FRHICommandListImmediate & RHICmdLi...,
    FVertexBufferRHIParamRef VertexBuff...
)

Public function Virtual

void

 

UpdateTexture2D_RenderThread

(
    FRHICommandListImmediate & RHICmdLi...,
    FTexture2DRHIParamRef Texture,
    uint32 MipIndex,
    const FUpdateTextureRegion2D & Upda...,
    uint32 SourcePitch,
    const uint8 * SourceData
)

Public function Virtual

void

 

UpdateTexture3D_RenderThread

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

Public function Virtual

void

 

VirtualTextureSetFirstMipInMemory_RenderThread

(
    FRHICommandListImmediate & RHICmdLi...,
    FTexture2DRHIParamRef Texture,
    uint32 FirstMip
)

Public function Virtual

void

 

VirtualTextureSetFirstMipVisible_RenderThread

(
    FRHICommandListImmediate & RHICmdLi...,
    FTexture2DRHIParamRef Texture,
    uint32 FirstMip
)

References

Module

RHI

Header

Runtime/RHI/Public/DynamicRHI.h