FNullDynamicRHI

A null implementation of the dynamically bound RHI.

Windows
MacOS
Linux

Inheritance Hierarchy

References

Module

NullDrv

Header

/Engine/Source/Runtime/NullDrv/Public/NullRHI.h

Include

#include "NullRHI.h"

Syntax

class FNullDynamicRHI :
    public FDynamicRHI,
    public IRHICommandContextPSOFallback

Remarks

A null implementation of the dynamically bound RHI.

Constructors

Name Description

Public function

FNullDynamicRHI()

Overridden from FDynamicRHI

Name Description

Public function Virtual

const TCHAR ...

 

GetName()

Public function Virtual

void

 

Init()

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

Public function Virtual

void *

 

LockIndexBuffer_BottomOfPipe

(
    FRHICommandListImmediate& RHICmdLi...,
    FRHIIndexBuffer* IndexBuffer,
    uint32 Offset,
    uint32 Size,
    EResourceLockMode LockMode
)

Public function Virtual

void *

 

LockStructuredBuffer_BottomOfPipe

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

Buffer Lock/Unlock.

Public function Virtual

void *

 

LockVertexBuffer_BottomOfPipe

(
    FRHICommandListImmediate& RHICmdLi...,
    FRHIVertexBuffer* VertexBuffer,
    uint32 Offset,
    uint32 SizeRHI,
    EResourceLockMode LockMode
)

Public function Virtual

void

 

RHIAcquireThreadOwnership()

FlushType: Flush RHI Thread.

Public function Virtual

void

 

RHIAdvanceFrameForGetViewportBackBuffer

(
    FRHIViewport* Viewport
)

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

Public function Virtual

void

 

RHIAliasTextureResources

(
    FTextureRHIRef& DestTexture,
    FTextureRHIRef& SrcTexture
)

Public function Virtual

FTexture2DRH...

 

RHIAsyncCreateTexture2D

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

FlushType: Thread safe.

Public function Virtual

FTexture2DRH...

 

RHIAsyncReallocateTexture2D

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

Starts an asynchronous texture reallocation.

Public function Virtual

void

 

RHIBindDebugLabelName

(
    FRHITexture* Texture,
    const TCHAR* Name
)

FlushType: Thread safe.

Public function Virtual

void

 

RHIBlockUntilGPUIdle()

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

Public function Virtual

uint64

 

RHICalcTexture2DPlatformSize

(
    uint32 SizeX,
    uint32 SizeY,
    uint8 Format,
    uint32 NumMips,
    uint32 NumSamples,
    ETextureCreateFlags Flags,
    const FRHIResourceCreateInfo& Crea...,
    uint32& OutAlign
)

FlushType: Thread safe.

Public function Virtual

uint64

 

RHICalcTexture3DPlatformSize

(
    uint32 SizeX,
    uint32 SizeY,
    uint32 SizeZ,
    uint8 Format,
    uint32 NumMips,
    ETextureCreateFlags Flags,
    const FRHIResourceCreateInfo& Crea...,
    uint32& OutAlign
)

FlushType: Thread safe.

Public function Virtual

uint64

 

RHICalcTextureCubePlatformSize

(
    uint32 Size,
    uint8 Format,
    uint32 NumMips,
    ETextureCreateFlags Flags,
    const FRHIResourceCreateInfo& Crea...,
    uint32& OutAlign
)

FlushType: Thread safe.

Public function Virtual

ETextureReal...

 

RHICancelAsyncReallocateTexture2D

(
    FRHITexture2D* Texture2D,
    bool bBlockUntilCompleted
)

FlushType: Wait RHI Thread.

Public function Virtual

void

 

RHICheckViewportHDRStatus

(
    FRHIViewport* Viewport
)

Tests the viewport to see if its HDR status has changed. This is usually tested after a window has been moved.

Public function Virtual

uint32

 

RHIComputeMemorySize

(
    FRHITexture* TextureRHI
)

FlushType: Thread safe.

Public function Virtual

void

 

RHICopySharedMips

(
    FRHITexture2D* DestTexture2D,
    FRHITexture2D* SrcTexture2D
)

FlushType: Flush RHI Thread.

Public function Virtual

void

 

RHICopyVertexBuffer

(
    FRHIVertexBuffer* SourceBuffer,
    FRHIVertexBuffer* DestBuffer
)

FlushType: Flush Immediate (seems dangerous)

Public function Virtual

FBlendStateR...

 

RHICreateBlendState

(
    const FBlendStateInitializerRHI& I...
)

FlushType: Thread safe.

Public function Virtual

FBoundShader...

 

RHICreateBoundShaderState

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

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

Public function Virtual

FComputeShad...

 

RHICreateComputeShader

(
    TArrayView< const uint8 > Code,
    const FSHAHash& Hash
)

FlushType: Wait RHI Thread.

Public function Virtual

FDepthStenci...

 

RHICreateDepthStencilState

(
    const FDepthStencilStateInitializer...
)

FlushType: Thread safe.

Public function Virtual

FDomainShade...

 

RHICreateDomainShader

(
    TArrayView< const uint8 > Code,
    const FSHAHash& Hash
)

FlushType: Wait RHI Thread.

Public function Virtual

FGeometrySha...

 

RHICreateGeometryShader

(
    TArrayView< const uint8 > Code,
    const FSHAHash& Hash
)

FlushType: Wait RHI Thread.

Public function Virtual

FHullShaderR...

 

RHICreateHullShader

(
    TArrayView< const uint8 > Code,
    const FSHAHash& Hash
)

FlushType: Wait RHI Thread.

Public function Virtual

FIndexBuffer...

 

RHICreateIndexBuffer

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

FlushType: Wait RHI Thread.

Public function Virtual

FPixelShader...

 

RHICreatePixelShader

(
    TArrayView< const uint8 > Code,
    const FSHAHash& Hash
)

FlushType: Wait RHI Thread.

Public function Virtual

FRasterizerS...

 

RHICreateRasterizerState

(
    const FRasterizerStateInitializerRH...
)

FlushType: Thread safe.

Public function Virtual

FRenderQuery...

 

RHICreateRenderQuery

(
    ERenderQueryType QueryType
)

FlushType: Wait RHI Thread.

Public function Virtual

FSamplerStat...

 

RHICreateSamplerState

(
    const FSamplerStateInitializerRHI&...
)

FlushType: Thread safe.

Public function Virtual

FShaderResou...

 

RHICreateShaderResourceView

(
    FRHIIndexBuffer* Buffer
)

FlushType: Wait RHI Thread.

Public function Virtual

FShaderResou...

 

RHICreateShaderResourceView

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

FlushType: Wait RHI Thread.

Public function Virtual

FShaderResou...

 

RHICreateShaderResourceView

(
    FRHIVertexBuffer* VertexBuffer,
    uint32 Stride,
    uint8 Format
)

FlushType: Wait RHI Thread.

Public function Virtual

FShaderResou...

 

RHICreateShaderResourceView

(
    const FShaderResourceViewInitialize...
)

Creates a shader resource view

Public function Virtual

FShaderResou...

 

RHICreateShaderResourceView

(
    FRHIStructuredBuffer* Structur...
)

FlushType: Wait RHI Thread.

Public function Virtual

FStructuredB...

 

RHICreateStructuredBuffer

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

FlushType: Wait RHI Thread.

Public function Virtual

FTexture2DRH...

 

RHICreateTexture2D

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

FlushType: Wait RHI Thread.

Public function Virtual

FTexture2DAr...

 

RHICreateTexture2DArray

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

FlushType: Wait RHI Thread.

Public function Virtual

FTexture3DRH...

 

RHICreateTexture3D

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

FlushType: Wait RHI Thread.

Public function Virtual

FTextureCube...

 

RHICreateTextureCube

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

FlushType: Wait RHI Thread.

Public function Virtual

FTextureCube...

 

RHICreateTextureCubeArray

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

FlushType: Wait RHI Thread.

Public function Virtual

FTextureRefe...

 

RHICreateTextureReference

(
    FLastRenderTimeContainer* Last...
)

FlushType: Wait RHI Thread.

Public function Virtual

void

 

RHICreateTransition

(
    FRHITransition* Transition,
    ERHIPipeline SrcPipelines,
    ERHIPipeline DstPipelines,
    ERHICreateTransitionFlags CreateFla...,
    TArrayView< const FRHITransitionInf...
)

Public function Virtual

FUniformBuff...

 

RHICreateUniformBuffer

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

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

Public function Virtual

FUnorderedAc...

 

RHICreateUnorderedAccessView

(
    FRHIVertexBuffer* VertexBuffer,
    uint8 Format
)

FlushType: Wait RHI Thread.

Public function Virtual

FUnorderedAc...

 

RHICreateUnorderedAccessView

(
    FRHITexture* Texture,
    uint32 MipLevel
)

FlushType: Wait RHI Thread.

Public function Virtual

FUnorderedAc...

 

RHICreateUnorderedAccessView

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

FlushType: Wait RHI Thread.

Public function Virtual

FUnorderedAc...

 

RHICreateUnorderedAccessView

(
    FRHIIndexBuffer* IndexBuffer,
    uint8 Format
)

FlushType: Wait RHI Thread.

Public function Virtual

FVertexBuffe...

 

RHICreateVertexBuffer

(
    uint32 Size,
    uint32 InUsage,
    ERHIAccess InResourceState,
    FRHIResourceCreateInfo& CreateInfo
)

FlushType: Wait RHI Thread.

Public function Virtual

FVertexDecla...

 

RHICreateVertexDeclaration

(
    const FVertexDeclarationElementList...
)

FlushType: Wait RHI Thread.

Public function Virtual

FVertexShade...

 

RHICreateVertexShader

(
    TArrayView< const uint8 > Code,
    const FSHAHash& Hash
)

FlushType: Wait RHI Thread.

Public function Virtual

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

bool

 

RHIEnqueueDecompress

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

FlushType: Flush Immediate.

Public function Virtual

void

 

RHIExecuteCommandList

(
    FRHICommandList* CmdList
)

FlushType: Wait RHI Thread.

Public function Virtual

ETextureReal...

 

RHIFinalizeAsyncReallocateTexture2D

(
    FRHITexture2D* Texture2D,
    bool bBlockUntilCompleted
)

FlushType: Wait RHI Thread.

Public function Virtual

void

 

RHIFlushResources()

Flush driver resources.

Public function Virtual

bool

 

RHIGetAvailableResolutions

(
    FScreenResolutionArray& Resolution...,
    bool bIgnoreRefreshRate
)

FlushType: Thread safe.

Public function Virtual

EColorSpaceA...

 

RHIGetColorSpace

(
    FRHIViewport* Viewport
)

Return what colour space the viewport is in. Used for HDR displays.

Public function Virtual

IRHICommandC...

 

RHIGetCommandContextContainer

(
    int32 Index,
    int32 Num
)

FlushType: Thread safe.

Public function Virtual

IRHICommandC...

 

RHIGetDefaultContext()

FlushType: Thread safe.

Public function Virtual

uint32

 

RHIGetGPUFrameCycles

(
    uint32 GPUIndex
)

FlushType: Thread safe.

Public function Virtual

void *

 

RHIGetNativeDevice()

FlushType: Flush RHI Thread.

Public function Virtual

void *

 

RHIGetNativeInstance()

FlushType: Flush RHI Thread.

Public function Virtual

bool

 

RHIGetRenderQueryResult

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

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

Public function Virtual

void

 

RHIGetResourceInfo

(
    FRHITexture* Ref,
    FRHIResourceInfo& OutInfo
)

FlushType: Thread safe.

Public function Virtual

void

 

RHIGetSupportedResolution

(
    uint32& Width,
    uint32& Height
)

FlushType: Thread safe.

Public function Virtual

void

 

RHIGetTextureMemoryStats

(
    FTextureMemoryStats& OutStats
)

FlushType: Thread safe.

Public function Virtual

bool

 

RHIGetTextureMemoryVisualizeData

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

FlushType: Flush Immediate.

Public function Virtual

FTexture2DRH...

 

RHIGetViewportBackBuffer

(
    FRHIViewport* Viewport
)

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

Public function Virtual

void *

 

RHILockTexture2D

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

FlushType: Flush RHI Thread.

Public function Virtual

void *

 

RHILockTexture2DArray

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

FlushType: Flush RHI Thread.

Public function Virtual

void *

 

RHILockTextureCubeFace

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

FlushType: Flush RHI Thread.

Public function Virtual

void

 

RHIMapStagingSurface

(
    FRHITexture* Texture,
    FRHIGPUFence* Fence,
    void*& OutData,
    int32& OutWidth,
    int32& OutHeight,
    uint32 GPUIndex
)

FlushType: Flush Immediate (seems wrong)

Public function Virtual

void

 

RHIRead3DSurfaceFloatData

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

FlushType: Flush Immediate (seems wrong)

Public function Virtual

void

 

RHIReadSurfaceData

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

FlushType: Flush Immediate (seems wrong)

Public function Virtual

void

 

RHIReadSurfaceFloatData

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

FlushType: Flush Immediate (seems wrong)

Public function Virtual

void

 

RHIReleaseThreadOwnership()

FlushType: Flush RHI Thread.

Public function Virtual

void

 

RHIReleaseTransition

(
    FRHITransition* Transition
)

Public function Virtual

void

 

RHIResizeViewport

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

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

Public function Virtual

void

 

RHITick

(
    float DeltaTime
)

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

Public function Virtual

void

 

RHITransferIndexBufferUnderlyingResource

(
    FRHIIndexBuffer* DestIndexBuff...,
    FRHIIndexBuffer* SrcIndexBuffe...
)

Transfer metadata and underlying resource from src to dest and release any resource owned by dest.

Public function Virtual

void

 

RHITransferVertexBufferUnderlyingResource

(
    FRHIVertexBuffer* DestVertexBu...,
    FRHIVertexBuffer* SrcVertexBuf...
)

Transfer metadata and underlying resource from src to dest and release any resource owned by dest.

Public function Virtual

void

 

RHIUnlockTexture2D

(
    FRHITexture2D* Texture,
    uint32 MipIndex,
    bool bLockWithinMiptail
)

FlushType: Flush RHI Thread.

Public function Virtual

void

 

RHIUnlockTexture2DArray

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

FlushType: Flush RHI Thread.

Public function Virtual

void

 

RHIUnlockTextureCubeFace

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

FlushType: Flush RHI Thread.

Public function Virtual

void

 

RHIUnmapStagingSurface

(
    FRHITexture* Texture,
    uint32 GPUIndex
)

FlushType: Flush Immediate (seems wrong)

Public function Virtual

void

 

RHIUpdateTexture2D

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

FlushType: Flush RHI Thread.

Public function Virtual

void

 

RHIUpdateTexture3D

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

FlushType: Flush RHI Thread.

Public function Virtual

void

 

RHIUpdateUniformBuffer

(
    FRHIUniformBuffer* UniformBuff...,
    const void* Contents
)

Public function Virtual

void

 

RHIVirtualTextureSetFirstMipInMemory

(
    FRHITexture2D* Texture,
    uint32 FirstMip
)

FlushType: Wait RHI Thread.

Public function Virtual

void

 

RHIVirtualTextureSetFirstMipVisible

(
    FRHITexture2D* Texture,
    uint32 FirstMip
)

FlushType: Wait RHI Thread.

Public function Virtual

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_BottomOfPipe

(
    FRHICommandListImmediate& RHICmdLi...,
    FRHIIndexBuffer* IndexBuffer
)

Public function Virtual

void

 

UnlockStructuredBuffer_BottomOfPipe

(
    FRHICommandListImmediate& RHICmdLi...,
    FRHIStructuredBuffer* Structur...
)

Public function Virtual

void

 

UnlockVertexBuffer_BottomOfPipe

(
    FRHICommandListImmediate& RHICmdLi...,
    FRHIVertexBuffer* VertexBuffer
)

Overridden from IRHICommandContextPSOFallback

Name Description

Public function Virtual

void

 

RHIEnableDepthBoundsTest

(
    bool bEnable
)

Public function Virtual

void

 

RHISetBlendState

(
    FRHIBlendState* NewState,
    const FLinearColor& BlendFactor
)

Public function Virtual

void

 

RHISetBoundShaderState

(
    FRHIBoundShaderState* BoundSha...
)

Set bound shader state. This will set the vertex decl/shader, and pixel shader

Public function Virtual

void

 

RHISetDepthStencilState

(
    FRHIDepthStencilState* NewStat...,
    uint32 StencilRef
)

Public function Virtual

void

 

RHISetRasterizerState

(
    FRHIRasterizerState* NewState
)

Overridden from IRHICommandContext

Name Description

Public function Virtual

void

 

RHIBeginDrawingViewport

(
    FRHIViewport* Viewport,
    FRHITexture* RenderTargetRHI
)

This method is queued with an RHIThread, otherwise it will flush after it is queued; without an RHI thread there is no benefit to queuing this frame advance commands.

Public function Virtual

void

 

RHIBeginFrame()

This method is queued with an RHIThread, otherwise it will flush after it is queued; without an RHI thread there is no benefit to queuing this frame advance commands.

Public function Virtual

void

 

RHIBeginRenderPass

(
    const FRHIRenderPassInfo& InInfo,
    const TCHAR* InName
)

Public function Virtual

void

 

RHIBeginRenderQuery

(
    FRHIRenderQuery* RenderQuery
)

Public function Virtual

void

 

RHIBeginScene()

This method is queued with an RHIThread, otherwise it will flush after it is queued; without an RHI thread there is no benefit to queuing this frame advance commands.

Public function Virtual

void

 

RHICopyTexture

(
    FRHITexture* SourceTexture,
    FRHITexture* DestTexture,
    const FRHICopyTextureInfo& CopyInf...
)

Public function Virtual

void

 

RHICopyToResolveTarget

(
    FRHITexture* SourceTexture,
    FRHITexture* DestTexture,
    const FResolveParams& ResolveParam...
)

Resolves from one texture to another.

Public function Virtual

void

 

RHIDrawIndexedIndirect

(
    FRHIIndexBuffer* IndexBufferRH...,
    FRHIStructuredBuffer* Argument...,
    int32 DrawArgumentsIndex,
    uint32 NumInstances
)

Public function Virtual

void

 

RHIDrawIndexedPrimitive

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

Public function Virtual

void

 

RHIDrawIndexedPrimitiveIndirect

(
    FRHIIndexBuffer* IndexBuffer,
    FRHIVertexBuffer* ArgumentBuff...,
    uint32 ArgumentOffset
)

Public function Virtual

void

 

RHIDrawPrimitive

(
    uint32 BaseVertexIndex,
    uint32 NumPrimitives,
    uint32 NumInstances
)

Public function Virtual

void

 

RHIDrawPrimitiveIndirect

(
    FRHIVertexBuffer* ArgumentBuff...,
    uint32 ArgumentOffset
)

Public function Virtual

void

 

RHIEndDrawingViewport

(
    FRHIViewport* Viewport,
    bool bPresent,
    bool bLockToVsync
)

This method is queued with an RHIThread, otherwise it will flush after it is queued; without an RHI thread there is no benefit to queuing this frame advance commands.

Public function Virtual

void

 

RHIEndFrame()

This method is queued with an RHIThread, otherwise it will flush after it is queued; without an RHI thread there is no benefit to queuing this frame advance commands.

Public function Virtual

void

 

RHIEndRenderPass()

Public function Virtual

void

 

RHIEndRenderQuery

(
    FRHIRenderQuery* RenderQuery
)

Public function Virtual

void

 

RHIEndScene()

This method is queued with an RHIThread, otherwise it will flush after it is queued; without an RHI thread there is no benefit to queuing this frame advance commands.

Public function Virtual

void

 

RHISetDepthBounds

(
    float MinDepth,
    float MaxDepth
)

Sets Depth Bounds range with the given min/max depth.

Public function Virtual

void

 

RHISetMultipleViewports

(
    uint32 Count,
    const FViewportBounds* Data
)

Useful when used with geometry shader (emit polygons to different viewports), otherwise SetViewPort() is simpler

Public function Virtual

void

 

RHISetScissorRect

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

Public function Virtual

void

 

RHISetShaderParameter

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

Public function Virtual

void

 

RHISetShaderResourceViewParameter

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

Public function Virtual

void

 

RHISetShaderSampler

(
    FRHIGraphicsShader* Shader,
    uint32 SamplerIndex,
    FRHISamplerState* NewState
)

Sets sampler state.

Public function Virtual

void

 

RHISetShaderTexture

(
    FRHIGraphicsShader* Shader,
    uint32 TextureIndex,
    FRHITexture* NewTexture
)

Set the shader resource view of a surface.

Public function Virtual

void

 

RHISetShaderUniformBuffer

(
    FRHIGraphicsShader* Shader,
    uint32 BufferIndex,
    FRHIUniformBuffer* Buffer
)

Public function Virtual

void

 

RHISetShadingRate

(
    EVRSShadingRate ShadingRate,
    EVRSRateCombiner Combiner
)

Public function Virtual

void

 

RHISetStreamSource

(
    uint32 StreamIndex,
    FRHIVertexBuffer* VertexBuffer,
    uint32 Offset
)

Public function Virtual

void

 

RHISetUAVParameter

(
    FRHIPixelShader* PixelShader,
    uint32 UAVIndex,
    FRHIUnorderedAccessView* UAV
)

Sets a pixel shader UAV parameter.

Public function Virtual

void

 

RHISetViewport

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

Public function Virtual

void

 

RHIUpdateTextureReference

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

Overridden from IRHIComputeContext

Name Description

Public function Virtual

void

 

RHIBeginTransitions

(
    TArrayView< const FRHITransition&#...
)

Public function Virtual

void

 

RHIClearUAVFloat

(
    FRHIUnorderedAccessView* Unord...,
    const FVector4& Values
)

Clears a UAV to the multi-channel floating point value provided.

Public function Virtual

void

 

RHIClearUAVUint

(
    FRHIUnorderedAccessView* Unord...,
    const FUintVector4& Values
)

Clears a UAV to the multi-component unsigned integer value provided.

Public function Virtual

void

 

RHIDispatchComputeShader

(
    uint32 ThreadGroupCountX,
    uint32 ThreadGroupCountY,
    uint32 ThreadGroupCountZ
)

Public function Virtual

void

 

RHIDispatchIndirectComputeShader

(
    FRHIVertexBuffer* ArgumentBuff...,
    uint32 ArgumentOffset
)

Public function Virtual

void

 

RHIEndTransitions

(
    TArrayView< const FRHITransition&#...
)

Public function Virtual

void

 

RHIPopEvent()

Public function Virtual

void

 

RHIPushEvent

(
    const TCHAR* Name,
    FColor Color
)

Public function Virtual

void

 

RHISetComputeShader

(
    FRHIComputeShader* ComputeShad...
)

Sets the current compute shader.

Public function Virtual

void

 

RHISetShaderParameter

(
    FRHIComputeShader* ComputeShad...,
    uint32 BufferIndex,
    uint32 BaseIndex,
    uint32 NumBytes,
    const void* NewValue
)

Public function Virtual

void

 

RHISetShaderResourceViewParameter

(
    FRHIComputeShader* ComputeShad...,
    uint32 SamplerIndex,
    FRHIShaderResourceView* SRV
)

Public function Virtual

void

 

RHISetShaderSampler

(
    FRHIComputeShader* ComputeShad...,
    uint32 SamplerIndex,
    FRHISamplerState* NewState
)

Sets sampler state.

Public function Virtual

void

 

RHISetShaderTexture

(
    FRHIComputeShader* PixelShader,
    uint32 TextureIndex,
    FRHITexture* NewTexture
)

Set the shader resource view of a surface.

Public function Virtual

void

 

RHISetShaderUniformBuffer

(
    FRHIComputeShader* ComputeShad...,
    uint32 BufferIndex,
    FRHIUniformBuffer* Buffer
)

Public function Virtual

void

 

RHISetUAVParameter

(
    FRHIComputeShader* ComputeShad...,
    uint32 UAVIndex,
    FRHIUnorderedAccessView* UAV
)

Sets a compute shader UAV parameter.

Public function Virtual

void

 

RHISetUAVParameter

(
    FRHIComputeShader* ComputeShad...,
    uint32 UAVIndex,
    FRHIUnorderedAccessView* UAV,
    uint32 InitialCount
)

Sets a compute shader counted UAV parameter and initial count

Public function Virtual

void

 

RHISubmitCommandsHint()

Submit the current command buffer to the GPU if possible.

Deprecated Functions

Name Description

Public function Virtual

void

 

RHIGenerateMips

(
    FRHITexture* Texture
)

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

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss