RHI

Windows
MacOS
Linux

Filters

Classes

Name

Description

Public struct

AFRUtils

GPU mask utilities to get information about AFR groups and siblings.

Public struct

FAccelerationStructureBuildParams

Public class

FAsyncReallocationRequest

Asynchronous reallocation request.

Public class

FBlendStateInitializerRHI

Public struct

FBoundShaderStateInput

Public class

FBoundShaderStateKey

Key used to map a set of unique decl/vs/ps combinations to a vertex shader resource

Public class

FBoundShaderStateLookupKey

Correct lifetime management.

Public struct

FByteAddressBuffer

Public class

FCachedBoundShaderStateLink

Encapsulates a bound shader state's entry in the cache.

Public class

FCachedBoundShaderStateLink_Threadsafe

Public struct

FClearValueBinding

Public struct

FComputedGraphicsPipelineState

Public struct

FComputedUniformBuffer

Public struct

FCopyBufferRegionParams

Public class

FDefaultRHIRenderQueryPool

Public struct

FDepthStencilStateInitializerRHI

Public struct

FDrawCallCategoryName

Public class

FDumpTransitionsHelper

Public struct

FDynamicReadBuffer

Public class

FDynamicRHI

The interface which is implemented by the dynamically bound RHI.

Public class

FExclusiveDepthStencil

Public class

FGenericDataDrivenShaderPlatformInfo

Public class

FGenericRHIGPUFence

Generic implementation of FRHIGPUFence.

Public class

FGenericRHIStagingBuffer

Public struct

FGenericStaticFeatureLevel

Public struct

FGenericStaticShaderPlatform

Public class

FGPUDefragAllocator

Simple best fit allocator, splitting and coalescing whenever/ wherever possible.

Public struct

FGPUProfiler

Encapsulates GPU profiling logic and data.

Public class

FGPUProfilerEventNode

Stats for a single perf event node.

Public struct

FGPUProfilerEventNodeFrame

An entire frame of perf event nodes, including ancillary timers.

Public class

FGPUProfilerEventNodeStats

Stats for a single perf event node.

Public struct

FGpuProfilerTrace

Public struct

FGPUTiming

Holds information if this platform's GPU allows timing

Public struct

FGPUTimingCalibrationTimestamp

Two timestamps performed on GPU and CPU at nearly the same time.

Public class

FGraphicsPipelineStateInitializer

Public struct

FImmutableSamplerState

Public class

FInitStaticResourceRenderThreadTask

Helper task to initialize a static resource on the render thread.

Public class

FLastRenderTimeContainer

Textures

Public struct

FLocalCmdListParallelRenderPass

Public struct

FLocalCmdListRenderSubPass

Public struct

FLocalUniformBuffer

Public struct

FLocalUniformBufferWorkArea

Public struct

FLockTracker

Public struct

FPipelineCacheFileFormatPSO

Public struct

FPipelineCacheFileFormatPSORead

Public struct

FPipelineCachePSOHeader

Public class

FPipelineFileCache

Public struct

FPipelineFileCacheRasterizerState

Public struct

FPipelineFileCacheRayTracingDesc

Public struct

FPipelineStateStats

Tracks stats for the current session between opening & closing the file-cache.

Public struct

FPixelFormatInfo

Information about a pixel format.

Public struct

FPSOUsageData

FPipelineFileCache: The RHI-level backend for FShaderPipelineCache, responsible for tracking PSOs and their usage stats as well as dealing with the pipeline cache files.

Public struct

FRasterizerStateInitializerRHI

Public struct

FRayTracingGeometryInitializer

Public struct

FRayTracingGeometryInstance

Public struct

FRayTracingGeometrySegment

Public class

FRayTracingPipelineStateInitializer

Public class

FRayTracingPipelineStateSignature

Public struct

FRayTracingSceneInitializer

Public struct

FReadBuffer

Encapsulates a GPU read buffer with its SRV.

Public class

FReadSurfaceDataFlags

To customize the RHIReadSurfaceData() output

Public class

FRenderTask

Public struct

FResolveParams

Public struct

FResolveRect

Public class

FRHIAsyncComputeCommandListImmediate

Single commandlist for async compute generation.

Public class

FRHIBlendState

Public class

FRHIBoundShaderState

Public struct

FRHICommand

Public struct

FRHICommandBase

Public struct

FRHICommandBeginDrawingViewport

Public struct

FRHICommandBeginDrawingViewportString__LINE__

Public struct

FRHICommandBeginFrame

Public struct

FRHICommandBeginFrameString__LINE__

Public struct

FRHICommandBeginLateLatching

Public struct

FRHICommandBeginLateLatchingString__LINE__

Public struct

FRHICommandBeginParallelRenderPass

Public struct

FRHICommandBeginParallelRenderPassString__LINE__

Public struct

FRHICommandBeginRenderPass

Public struct

FRHICommandBeginRenderPassString__LINE__

Public struct

FRHICommandBeginRenderQuery

Public struct

FRHICommandBeginRenderQueryString__LINE__

Public struct

FRHICommandBeginRenderSubPass

Public struct

FRHICommandBeginRenderSubPassString__LINE__

Public struct

FRHICommandBeginScene

Public struct

FRHICommandBeginSceneString__LINE__

Public struct

FRHICommandBeginSpecificUAVOverlap

Public struct

FRHICommandBeginSpecificUAVOverlapString__LINE__

Public struct

FRHICommandBeginTransitions

Public struct

FRHICommandBeginTransitionsString__LINE__

Public struct

FRHICommandBeginUAVOverlap

Public struct

FRHICommandBeginUAVOverlapString__LINE__

Public struct

FRHICommandBeginUpdateMultiFrameResource

Public struct

FRHICommandBeginUpdateMultiFrameResourceString__LINE__

Public struct

FRHICommandBeginUpdateMultiFrameUAV

Public struct

FRHICommandBeginUpdateMultiFrameUAVString__LINE__

Public struct

FRHICommandBuildLocalUniformBuffer

Public struct

FRHICommandBuildLocalUniformBufferString__LINE__

Public struct

FRHICommandCalibrateTimers

Public struct

FRHICommandCalibrateTimersString__LINE__

Public struct

FRHICommandClearColorTexture

Public struct

FRHICommandClearColorTextures

Public struct

FRHICommandClearColorTexturesString__LINE__

Public struct

FRHICommandClearColorTextureString__LINE__

Public struct

FRHICommandClearDepthStencilTexture

Public struct

FRHICommandClearDepthStencilTextureString__LINE__

Public struct

FRHICommandClearUAVFloat

Public struct

FRHICommandClearUAVFloatString__LINE__

Public struct

FRHICommandClearUAVUint

Public struct

FRHICommandClearUAVUintString__LINE__

Public struct

FRHICommandCopyBufferRegion

Public struct

FRHICommandCopyBufferRegionString__LINE__

Public struct

FRHICommandCopyTexture

Public struct

FRHICommandCopyTextureString__LINE__

Public struct

FRHICommandCopyToResolveTarget

Public struct

FRHICommandCopyToResolveTargetString__LINE__

Public struct

FRHICommandCopyToStagingBuffer

Public struct

FRHICommandCopyToStagingBufferString

Public struct

FRHICommandDebugBreak

Public struct

FRHICommandDebugBreakString__LINE__

Public struct

FRHICommandDiscardRenderTargets

Public struct

FRHICommandDiscardRenderTargetsString__LINE__

Public struct

FRHICommandDispatchComputeShader

Public struct

FRHICommandDispatchComputeShaderString

Public struct

FRHICommandDispatchIndirectComputeShader

Public struct

FRHICommandDispatchIndirectComputeShaderString

Public struct

FRHICommandDrawIndexedIndirect

Public struct

FRHICommandDrawIndexedIndirectString__LINE__

Public struct

FRHICommandDrawIndexedPrimitive

Public struct

FRHICommandDrawIndexedPrimitiveIndirect

Public struct

FRHICommandDrawIndexedPrimitiveIndirectString__LINE__

Public struct

FRHICommandDrawIndexedPrimitiveString__LINE__

Public struct

FRHICommandDrawPrimitive

Public struct

FRHICommandDrawPrimitiveIndirect

Public struct

FRHICommandDrawPrimitiveIndirectString__LINE__

Public struct

FRHICommandDrawPrimitiveString__LINE__

Public struct

FRHICommandEndDrawingViewport

Public struct

FRHICommandEndDrawingViewportString__LINE__

Public struct

FRHICommandEndFrame

Public struct

FRHICommandEndFrameString__LINE__

Public struct

FRHICommandEndLateLatching

Public struct

FRHICommandEndLateLatchingString__LINE__

Public struct

FRHICommandEndParallelRenderPass

Public struct

FRHICommandEndParallelRenderPassString__LINE__

Public struct

FRHICommandEndRenderPass

Public struct

FRHICommandEndRenderPassString__LINE__

Public struct

FRHICommandEndRenderQuery

Public struct

FRHICommandEndRenderQueryString__LINE__

Public struct

FRHICommandEndRenderSubPass

Public struct

FRHICommandEndRenderSubPassString__LINE__

Public struct

FRHICommandEndScene

Public struct

FRHICommandEndSceneString__LINE__

Public struct

FRHICommandEndSpecificUAVOverlap

Public struct

FRHICommandEndSpecificUAVOverlapString__LINE__

Public struct

FRHICommandEndTransitions

Public struct

FRHICommandEndTransitionsString__LINE__

Public struct

FRHICommandEndUAVOverlap

Public struct

FRHICommandEndUAVOverlapString__LINE__

Public struct

FRHICommandEndUpdateMultiFrameResource

Public struct

FRHICommandEndUpdateMultiFrameResourceString__LINE__

Public struct

FRHICommandEndUpdateMultiFrameUAV

Public struct

FRHICommandEndUpdateMultiFrameUAVString__LINE__

Public struct

FRHICommandInvalidateCachedState

Public struct

FRHICommandInvalidateCachedStateString__LINE__

Public class

FRHICommandList

Public class

FRHICommandList_RecursiveHazardous

Public class

FRHICommandListBase

Public struct

FRHICommandListDebugContext

Public class

FRHICommandListExecutor

Public class

FRHICommandListFenceAllocator

Thread-safe allocator for GPU fences used in deferred command list execution Fences are stored in a ringbuffer

Public class

FRHICommandListImmediate

Public class

FRHICommandListIterator

Helper class for traversing a FRHICommandList.

Public class

FRHICommandListScopedFlushAndExecute

Public struct

FRHICommandNextSubpass

Public struct

FRHICommandNextSubpassString__LINE__

Public struct

FRHICommandPollOcclusionQueries

Public struct

FRHICommandPollOcclusionQueriesString__LINE__

Public struct

FRHICommandPopEvent

Public struct

FRHICommandPopEventString

Public struct

FRHICommandPostExternalCommandsReset

Public struct

FRHICommandPostExternalCommandsResetString__LINE__

Public struct

FRHICommandPushEvent

Public struct

FRHICommandPushEventString

Public struct

FRHICommandResourceTransition

Public struct

FRHICommandResourceTransitionString__LINE__

Public struct

FRHICommandResummarizeHTile

Public struct

FRHICommandResummarizeHTileString__LINE__

Public struct

FRHICommandSetAsyncComputeBudget

Public struct

FRHICommandSetAsyncComputeBudgetString

Public struct

FRHICommandSetBlendFactor

Public struct

FRHICommandSetBlendFactorString__LINE__

Public struct

FRHICommandSetComputePipelineState

Public struct

FRHICommandSetComputePipelineStateString

Public struct

FRHICommandSetComputeShader

Public struct

FRHICommandSetComputeShaderString

Public struct

FRHICommandSetDepthBounds

Public struct

FRHICommandSetDepthBoundsString__LINE__

Public struct

FRHICommandSetGlobalUniformBuffers

Public struct

FRHICommandSetGlobalUniformBuffersString__LINE__

Public struct

FRHICommandSetGraphicsPipelineState

Public struct

FRHICommandSetGraphicsPipelineStateString__LINE__

Public struct

FRHICommandSetLocalUniformBuffer

Public struct

FRHICommandSetLocalUniformBufferString

Public struct

FRHICommandSetScissorRect

Public struct

FRHICommandSetScissorRectString__LINE__

Public struct

FRHICommandSetShaderParameter

Public struct

FRHICommandSetShaderParameterString

Public struct

FRHICommandSetShaderResourceViewParameter

Public struct

FRHICommandSetShaderResourceViewParameterString

Public struct

FRHICommandSetShaderSampler

Public struct

FRHICommandSetShaderSamplerString

Public struct

FRHICommandSetShaderTexture

Public struct

FRHICommandSetShaderTextureString

Public struct

FRHICommandSetShaderUniformBuffer

Public struct

FRHICommandSetShaderUniformBufferString

Public struct

FRHICommandSetShadingRate

Public struct

FRHICommandSetShadingRateImage

Public struct

FRHICommandSetShadingRateImageString__LINE__

Public struct

FRHICommandSetShadingRateString__LINE__

Public struct

FRHICommandSetStencilRef

Public struct

FRHICommandSetStencilRefString__LINE__

Public struct

FRHICommandSetStereoViewport

Public struct

FRHICommandSetStereoViewportString__LINE__

Public struct

FRHICommandSetStreamSource

Public struct

FRHICommandSetStreamSourceString__LINE__

Public struct

FRHICommandSetUAVParameter

Public struct

FRHICommandSetUAVParameter_InitialCount

Public struct

FRHICommandSetUAVParameter_InitialCountString

Public struct

FRHICommandSetUAVParameterString

Public struct

FRHICommandSetViewport

Public struct

FRHICommandSetViewportString__LINE__

Public struct

FRHICommandSubmitCommandsHint

Public struct

FRHICommandSubmitCommandsHintString__LINE__

Public struct

FRHICommandUpdateRHIResources

Public struct

FRHICommandUpdateRHIResourcesString__LINE__

Public struct

FRHICommandUpdateTextureReference

Public struct

FRHICommandUpdateTextureReferenceString__LINE__

Public struct

FRHICommandWriteGPUFence

Public struct

FRHICommandWriteGPUFenceString

Public class

FRHIComputeCommandList

Public class

FRHIComputeCommandList_RecursiveHazardous

Public class

FRHIComputeFence

Public class

FRHIComputePipelineState

Public class

FRHIComputePipelineStateFallback

Public class

FRHIComputeShader

Public struct

FRHICopyTextureInfo

Public class

FRHICustomPresent

Public class

FRHIDepthRenderTargetView

Public class

FRHIDepthStencilState

Public struct

FRHIDispatchIndirectParameters

Public class

FRHIDomainShader

Public struct

FRHIDrawIndexedIndirectParameters

Public struct

FRHIDrawIndirectParameters

Public struct

FRHIFlipDetails

Struct to provide details of swap chain flips

Public class

FRHIGeometryShader

Public class

FRHIGPUBufferReadback

Buffer readback implementation.

Public class

FRHIGPUFence

Generic GPU fence class.

Public struct

FRHIGPUMask

A mask where each bit is a GPU index.

Public class

FRHIGPUMemoryReadback

FRHIGPUMemoryReadback: Represents a memory readback request scheduled with CopyToStagingBuffer Wraps a staging buffer with a FRHIGPUFence for synchronization.

Public class

FRHIGPUTextureReadback

Texture readback implementation.

Public class

FRHIGraphicsPipelineState

Pipeline States

Public class

FRHIGraphicsPipelineStateFallBack

This PSO is used as a fallback for RHIs that dont support PSOs. It is used to set the graphics state using the legacy state setting APIs.

Public class

FRHIGraphicsShader

Public class

FRHIHullShader

Public class

FRHIIndexBuffer

Public struct

FRHIIndexBufferUpdateInfo

Public struct

FRHILockTracker

Public class

FRHIPipelineBinaryLibrary

Public class

FRHIPixelShader

Public class

FRHIPooledRenderQuery

Public struct

FRHIR10G10B10A2

Helper for accessing R10G10B10A2 colors.

Public class

FRHIRasterizerState

Public class

FRHIRayTracingGeometry

Ray tracing resourcesBottom level ray tracing acceleration structure (contains triangles).

Public class

FRHIRayTracingPipelineState

Public class

FRHIRayTracingScene

Top level ray tracing acceleration structure (contains instances of meshes).

Public class

FRHIRayTracingShader

Public struct

FRHIRenderPassInfo

Public class

FRHIRenderQuery

Public class

FRHIRenderQueryPool

Public class

FRHIRenderTargetView

Public class

FRHIResource

The base type of RHI resources.

Public struct

FRHIResourceCreateInfo

Public struct

FRHIResourceInfo

Public struct

FRHIResourceTableEntry

Public struct

FRHIResourceUpdateInfo

Public struct

FRHIRG16

Helper for accessing R16G16 colors.

Public struct

FRHIRGBA16

Helper for accessing R16G16B16A16 colors.

Public class

FRHISamplerState

State blocks

Public class

FRHISetRenderTargetsInfo

Public class

FRHIShader

Shaders

Public class

FRHIShaderLibrary

Shader Library

Public class

FRHIShaderResourceView

Public struct

FRHIShaderResourceViewUpdateInfo_IB

Public struct

FRHIShaderResourceViewUpdateInfo_VB

Public class

FRHIStagingBuffer

Generic staging buffer class used by FRHIGPUMemoryReadback RHI specific staging buffers derive from this

Public class

FRHIStructuredBuffer

Public struct

FRHISubresourceRange

Public class

FRHITexture

Public class

FRHITexture2D

Public class

FRHITexture2DArray

Public class

FRHITexture3D

Public class

FRHITextureCube

Public class

FRHITextureReference

Public class

FRHITextureReferenceNullImpl

Public struct

FRHITextureSRVCreateInfo

Public class

FRHITimestampCalibrationQuery

Misc

Public struct

FRHITransition

Opaque data structure used to represent a pending resource transition in the RHI.

Public struct

FRHITransitionInfo

Public class

FRHIUniformBuffer

Public struct

FRHIUniformBufferLayout

The layout of a uniform buffer in memory.

Public class

FRHIUnorderedAccessView

Views

Public class

FRHIVertexBuffer

Public struct

FRHIVertexBufferUpdateInfo

Public class

FRHIVertexDeclaration

Public class

FRHIVertexShader

Public class

FRHIViewport

Public struct

FRWBuffer

Encapsulates a GPU read/write buffer with its UAV and SRV.

Public struct

FRWBufferStructured

Encapsulates a GPU read/write structured buffer with its UAV and SRV.

Public struct

FRWByteAddressBuffer

Encapsulates a GPU read/write ByteAddress buffer with its UAV and SRV.

Public struct

FSamplerStateInitializerRHI

Public struct

FScopedCommandListWaitForTasks

Public class

FScopedGPUDefragLock

FScopedGPUDefragLock can't cover any scope that will add dcb commands or we might deadlock with a master reserve failure.

Public struct

FScopedGPUMask

Public class

FScopedRHIThreadStaller

Public struct

FScopedUniformBufferGlobalBindings

Public struct

FScreenResolutionRHI

Screen Resolution

Public struct

FShaderResourceViewInitializer

Public class

FStaticShaderPlatformNames

Public struct

FStreamOutElement

RHI representation of a single stream out element.

Public struct

FTextureMemoryStats

Public struct

FTextureReadBuffer2D

Encapsulates a GPU read only texture 2D with its SRV.

Public struct

FTextureRWBuffer2D

Encapsulates a GPU read/write texture 2D with its UAV and SRV.

Public struct

FTextureRWBuffer3D

Encapsulates a GPU read/write texture 3d with its UAV and SRV.

Public struct

FTransferTextureParams

Parameters for RHITransferTextures, used to copy memory between GPUs

Public class

FUniformBufferStaticBindings

A list of global uniform buffer bindings.

Public struct

FUnnamedRhiCommand

Public struct

FUpdateTexture3DData

Struct to hold common data between begin/end updatetexture3d

Public struct

FUpdateTextureRegion2D

Specifies an update region for a texture

Public struct

FUpdateTextureRegion3D

Specifies an update region for a texture

Public struct

FVertexElement

Public class

FVertexElementTypeSupportInfo

Info for supporting the vertex element types

Public struct

FViewportBounds

Viewport bounds structure to set multiple view ports for the geometry shader (needs to be 1:1 to the D3D11 structure)

Public struct

FVRamAllocation

Public class

IDynamicRHIModule

Defines the interface of a module implementing a dynamic RHI.

Public class

IRHICommandContext

The interface RHI command context.

Public class

IRHICommandContextContainer

Public class

IRHICommandContextPSOFallback

Command Context for RHIs that do not support real Graphics Pipelines.

Public class

IRHIComputeContext

Context that is capable of doing Compute work. Can be async or compute on the gfx pipe.

Public class

TPsoLruCache

Implements a Least Recently Used (LRU) cache.

Public class

TRHICommandList_RecursiveHazardous

Helper class used internally by RHIs to make use of FRHICommandList_RecursiveHazardous safer.

Public class

TRHIComputeCommandList_RecursiveHazardous

Public class

TRHIGlobal

Wrapper for GRHI## global variables, allows values to be overridden for mobile preview modes.

Public struct

TRHIResourceUpdateBatcher

Public struct

TRHIShaderToEnum

Template magic to convert an FRHI*Shader to its enum.

Public class

TStaticBlendState

A static RHI blend state resource.

Public class

TStaticBlendStateWriteMask

A static RHI blend state resource which only allows controlling MRT write masks, for use when only opaque blending is needed.

Public class

TStaticDepthStencilState

A static RHI stencil state resource.

Public class

TStaticRasterizerState

A static RHI rasterizer state resource.

Public class

TStaticSamplerState

A static RHI sampler state resource.

Public class

TStaticStateRHI

The base class of the static RHI state classes.

Constants

Name

Description

EResourceTransitionAccess::EReadable

EResourceTransitionAccess::ERWBarrier

EResourceTransitionAccess::ERWNoBarrier

EResourceTransitionAccess::EWritable

MAX_MESH_LOD_COUNT

Maximum number of static/skeletal mesh LODs

MAX_TEXTURE_MIP_COUNT

Maximum number of miplevels in a texture.

MAX_UNIFORM_BUFFER_STATIC_SLOTS

The maximum number of static slots allowed.

MaxImmutableSamplers

Maximum number of immutable samplers in a PSO.

MaxSimultaneousRenderTargets

The number of render-targets that may be simultaneously written to.

MaxSimultaneousRenderTargets_NumBits

The number of render-targets that may be simultaneously written to.

MaxSimultaneousUAVs

The number of UAVs that may be simultaneously bound to a shader.

MaxVertexElementCount

The maximum number of vertex elements which can be used by a vertex declaration.

MaxVertexElementCount_NumBits

The maximum number of vertex elements which can be used by a vertex declaration.

NAME_GLSL_150_ES31

NAME_GLSL_ES3_1_ANDROID

NAME_GLSL_SWITCH

NAME_GLSL_SWITCH_FORWARD

NAME_PCD3D_ES3_1

NAME_PCD3D_SM5

NAME_SF_METAL

NAME_SF_METAL_MACES3_1

NAME_SF_METAL_MRT

NAME_SF_METAL_MRT_MAC

NAME_SF_METAL_MRT_TVOS

NAME_SF_METAL_SM5

NAME_SF_METAL_SM5_NOTESS

NAME_SF_METAL_TVOS

NAME_SF_XBOXONE_D3D12

NAME_VULKAN_ES3_1

NAME_VULKAN_ES3_1_ANDROID

NAME_VULKAN_ES3_1_LUMIN

NAME_VULKAN_SM5

NAME_VULKAN_SM5_ANDROID

NAME_VULKAN_SM5_LUMIN

ShaderArrayElementAlignBytes

The alignment in bytes between elements of array shader parameters.

Typedefs

Enums

Name

Description

Public enum

EAccelerationStructureBuildMode

Public enum

EApplyRendertargetOption

Utility flags for modifying render target behavior on a PSO.

Public enum

EAsyncComputeBudget

Hint to the driver on how to load balance async compute work.

Public enum

EAsyncComputePriority

Public enum

EBlendFactor

Public enum

EBlendOperation

Public enum

EBufferUsageFlags

Resource usage flags - for vertex and index buffers.

Public enum

EClearBinding

Public enum

EClearDepthStencil

Public enum

EColorSpaceAndEOTF

Public enum

EColorWriteMask

Public enum

ECompareFunction

Public enum

ECubeFace

Public enum

EDepthStencilTargetActions

Public enum

EGpuVendorId

Public enum

EImmediateFlushType::Type

Public enum

EPrimitiveTopologyType

Public enum

EPrimitiveType

Public enum

ERangeCompressionMode

Limited to 8 types in FReadSurfaceDataFlags

Public enum

ERasterizerCullMode

Public enum

ERasterizerFillMode

Public enum

ERayTracingGeometryType

Public enum

ERayTracingPipelineCacheFlags

Public enum

ERayTracingSceneLifetime

Public enum

ERenderQueryType

Public enum

ERenderTargetActions

Public enum

ERenderTargetLoadAction

Action to take when a render target is set.

Public enum

ERenderTargetStoreAction

Action to take when a render target is unset or at the end of a pass.

Public enum

EResourceLockMode

Public enum

EResourceTransitionFlags

Public enum

EResourceTransitionPipeline

Public enum

ERHIAccess

Public enum

ERHICreateTransitionFlags

Public enum

ERHIFeatureLevel::Type

The RHI's feature level indicates what level of support can be relied upon.

Public enum

ERHIPipeline

Public enum

ERHIResourceType

An enumeration of the different RHI reference types.

Public enum

ERHIShadingPath::Type

The RHI's currently enabled shading path.

Public enum

ERHITextureSRVOverrideSRGBType

Public enum

ERHIZBuffer

Public enum

ESamplerAddressMode

Public enum

ESamplerCompareFunction

Public enum

ESamplerFilter

Public enum

EShaderFrequency

Public enum

EShaderPlatform

: update LegacyShaderPlatform when the below changes

Public enum

ESimpleRenderTargetMode

Common render target use cases

Public enum

EStencilMask

Public enum

EStencilOp

Public enum

ESubpassHint

Hints for some RHIs that support subpasses.

Public enum

ETextureCreateFlags

Flags used for texture creation

Public enum

ETextureDimension

Describes the dimension of a texture.

Public enum

ETextureReallocationStatus

Async texture reallocation status, returned by RHIGetReallocateTexture2DStatus().

Public enum

EUniformBufferBaseType

The base type of a value in a uniform buffer.

Public enum

EUniformBufferUsage

Public enum

EUniformBufferValidation

Public enum

EVertexElementType

Public enum

EVRSAxisShadingRate

Public enum

EVRSImageDataType

Public enum

EVRSRateCombiner

Public enum

EVRSShadingRate

Functions

Name Description

Public function

FMatrix

 

AdjustProjectionMatrixForRHI

(
    const FMatrix& InProjectionMatrix
)

Adjusts a projection matrix to output in the correct clip space for the current RHI.

Public function

void

 

appDefragmentTexturePool()

Defragment the texture pool.

Public function

void

 

appDumpTextureMemoryStats

(
    const TCHAR*
)

Log the current texture memory stats.

Public function

bool

 

appIsPoolTexture

(
    FRHITexture* TextureRHI
)

Checks if the texture data is allocated within the texture pool or not.

Public function

SIZE_T

 

CalculateImageBytes

(
    uint32 SizeX,
    uint32 SizeY,
    uint32 SizeZ,
    uint8 Format
)

CalculateImageBytes

Public function

uint32

 

ComputeAnisotropyRT

(
    int32 InitializerMaxAnisotropy
)

Public function Static

void

 

ConvertRawA2B10G10R10DataToFLinearColor

(
    uint32 Width,
    uint32 Height,
    uint8* In,
    uint32 SrcPitch,
    FLinearColor* Out
)

Public function Static

void

 

ConvertRawB8G8R8A8DataToFColor

(
    uint32 Width,
    uint32 Height,
    uint8* In,
    uint32 SrcPitch,
    FColor* Out
)

Public function Static

void

 

ConvertRawB8G8R8A8DataToFLinearColor

(
    uint32 Width,
    uint32 Height,
    uint8* In,
    uint32 SrcPitch,
    FLinearColor* Out
)

Public function Static

void

 

ConvertRawD32S8DataToFColor

(
    uint32 Width,
    uint32 Height,
    uint8* In,
    uint32 SrcPitch,
    FColor* Out,
    FReadSurfaceDataFlags InFlags
)

Public function Static

void

 

ConvertRawR10G10B10A2DataToFColor

(
    uint32 Width,
    uint32 Height,
    uint8* In,
    uint32 SrcPitch,
    FColor* Out
)

Public function Static

void

 

ConvertRawR11G11B10DataToFColor

(
    uint32 Width,
    uint32 Height,
    uint8* In,
    uint32 SrcPitch,
    FColor* Out,
    bool LinearToGamma
)

Public function Static

void

 

ConvertRawR16DataToFColor

(
    uint32 Width,
    uint32 Height,
    uint8* In,
    uint32 SrcPitch,
    FColor* Out
)

Public function Static

void

 

ConvertRawR16DataToFLinearColor

(
    uint32 Width,
    uint32 Height,
    uint8* In,
    uint32 SrcPitch,
    FLinearColor* Out
)

Public function Static

void

 

ConvertRawR16G16B16A16DataToFColor

(
    uint32 Width,
    uint32 Height,
    uint8* In,
    uint32 SrcPitch,
    FColor* Out
)

Public function Static

void

 

ConvertRawR16G16B16A16DataToFLinearColor

(
    uint32 Width,
    uint32 Height,
    uint8* In,
    uint32 SrcPitch,
    FLinearColor* Out
)

Public function Static

void

 

ConvertRawR16G16B16A16FDataToFColor

(
    uint32 Width,
    uint32 Height,
    uint8* In,
    uint32 SrcPitch,
    FColor* Out,
    bool LinearToGamma
)

Public function Static

void

 

ConvertRawR16G16B16A16FDataToFFloat16Color

(
    uint32 Width,
    uint32 Height,
    uint8* In,
    uint32 SrcPitch,
    FFloat16Color* Out
)

Public function Static

void

 

ConvertRawR16G16B16A16FDataToFLinearColor

(
    uint32 Width,
    uint32 Height,
    uint8* In,
    uint32 SrcPitch,
    FLinearColor* Out,
    FReadSurfaceDataFlags InFlags
)

Public function Static

void

 

ConvertRawR16G16DataToFColor

(
    uint32 Width,
    uint32 Height,
    uint8* In,
    uint32 SrcPitch,
    FColor* Out
)

Public function Static

void

 

ConvertRawR16G16DataToFLinearColor

(
    uint32 Width,
    uint32 Height,
    uint8* In,
    uint32 SrcPitch,
    FLinearColor* Out
)

Public function Static

void

 

ConvertRawR24G8DataToFColor

(
    uint32 Width,
    uint32 Height,
    uint8* In,
    uint32 SrcPitch,
    FColor* Out,
    FReadSurfaceDataFlags InFlags
)

Public function Static

void

 

ConvertRawR24G8DataToFLinearColor

(
    uint32 Width,
    uint32 Height,
    uint8* In,
    uint32 SrcPitch,
    FLinearColor* Out,
    FReadSurfaceDataFlags InFlags
)

Public function Static

void

 

ConvertRawR32DataToFColor

(
    uint32 Width,
    uint32 Height,
    uint8* In,
    uint32 SrcPitch,
    FColor* Out,
    FReadSurfaceDataFlags InFlags
)

Public function Static

void

 

ConvertRawR32DataToFLinearColor

(
    uint32 Width,
    uint32 Height,
    uint8* In,
    uint32 SrcPitch,
    FLinearColor* Out,
    FReadSurfaceDataFlags InFlags
)

Public function Static

void

 

ConvertRawR32G32B32A32DataToFColor

(
    uint32 Width,
    uint32 Height,
    uint8* In,
    uint32 SrcPitch,
    FColor* Out,
    bool LinearToGamma
)

Public function Static

void

 

ConvertRawR32G32B32A32DataToFLinearColor

(
    uint32 Width,
    uint32 Height,
    uint8* In,
    uint32 SrcPitch,
    FLinearColor* Out,
    FReadSurfaceDataFlags InFlags
)

Public function Static

void

 

ConvertRawR8DataToFColor

(
    uint32 Width,
    uint32 Height,
    uint8* In,
    uint32 SrcPitch,
    FColor* Out
)

Public function Static

void

 

ConvertRawR8G8B8A8DataToFColor

(
    uint32 Width,
    uint32 Height,
    uint8* In,
    uint32 SrcPitch,
    FColor* Out
)

Public function Static

void

 

ConvertRawR8G8B8A8DataToFLinearColor

(
    uint32 Width,
    uint32 Height,
    uint8* In,
    uint32 SrcPitch,
    FLinearColor* Out
)

Public function Static

void

 

ConvertRawRR11G11B10DataToFLinearColor

(
    uint32 Width,
    uint32 Height,
    uint8* In,
    uint32 SrcPitch,
    FLinearColor* Out
)

Public function

void

 

DecodeRenderTargetMode

(
    ESimpleRenderTargetMode Mode,
    ERenderTargetLoadAction& ColorLoad...,
    ERenderTargetStoreAction& ColorSto...,
    ERenderTargetLoadAction& DepthLoad...,
    ERenderTargetStoreAction& DepthSto...,
    ERenderTargetLoadAction& StencilLo...,
    ERenderTargetStoreAction& StencilS...,
    FExclusiveDepthStencil DepthStencil...
)

Convert the ESimpleRenderTargetMode into usable values

Public function

void

 

EmptyCachedBoundShaderStates()

Public function

int32

 

FindRayTracingHitGroupIndex

(
    FRayTracingPipelineState* Pipe...,
    FRHIRayTracingShader* HitGroup...,
    bool bRequired
)

Returns the hit group index within the ray tracing pipeline or INDEX_NONE if given shader does not exist.

Public function

FCachedBound...

 

GetCachedBoundShaderState

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

Searches for a cached bound shader state.

Public function

FBoundShader...

 

GetCachedBoundShaderState_Threadsafe

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

Searches for a cached bound shader state. Threadsafe version.

Public function

ERenderTarge...

 

GetDepthActions

(
    EDepthStencilTargetActions Action
)

Public function

uint32

 

GetExpectedFeatureLevelMaxTextureSamplers

(
    const FStaticFeatureLevel FeatureLe...
)

Return what the expected number of samplers will be supported by a feature level.

Public function

bool

 

GetFeatureLevelFromName

(
    FName Name,
    ERHIFeatureLevel::Type& OutFeature...
)

Current shader platform.

Public function

void

 

GetFeatureLevelName

(
    ERHIFeatureLevel::Type InFeatureLev...,
    FName& OutName
)

Creates an FName for the given feature level.

Public function

void

 

GetFeatureLevelName

(
    ERHIFeatureLevel::Type InFeatureLev...,
    FString& OutName
)

Creates a string for the given feature level.

Public function

EShaderPlatf...

 

GetFeatureLevelShaderPlatform

(
    const FStaticFeatureLevel InFeature...
)

Get the shader platform associated with the supplied feature level on this machine

Public function Static

FText

 

GetFriendlyShaderPlatformName

(
    const EShaderPlatform InShaderPlatf...
)

Public function

ERenderTarge...

 

GetLoadAction

(
    ERenderTargetActions Action
)

Public function

uint32

 

GetMax2DTextureDimension()

Public function

uint64

 

GetMaxBufferDimension()

Public function

uint64

 

GetMaxComputeSharedMemory()

Public function

uint32

 

GetMaxCubeTextureDimension()

Public function

FStaticFeatu...

 

GetMaxSupportedFeatureLevel

(
    const FStaticShaderPlatform InShade...
)

Public function

uint32

 

GetMaxTextureArrayLayers()

Public function

uint32

 

GetMaxTextureSamplers()

Public function

uint32

 

GetMaxWorkGroupInvocations()

Public function

FString

 

GetResourceTransitionFlagsName

(
    EResourceTransitionFlags Flags
)

Public function

FString

 

GetRHIAccessName

(
    ERHIAccess Access
)

Public function

FString

 

GetRHIPipelineName

(
    ERHIPipeline Pipeline
)

Public function

const TCHAR ...

 

GetSelectedDynamicRHIModuleName

(
    bool bCleanup
)

Name of the RHI module that will be created when PlatformCreateDynamicRHI is called.

Public function

const TCHAR ...

 

GetShaderFrequencyString

(
    EShaderFrequency Frequency,
    bool bIncludePrefix
)

Public function

bool

 

GetShadingPathFromName

(
    FName Name,
    ERHIShadingPath::Type& OutShadingP...
)

Finds a corresponding ERHIShadingPath::Type given an FName, or returns false if one could not be found.

Public function

void

 

GetShadingPathName

(
    ERHIShadingPath::Type InShadingPath,
    FString& OutName
)

Creates a string for the given shading path.

Public function

void

 

GetShadingPathName

(
    ERHIShadingPath::Type InShadingPath,
    FName& OutName
)

Creates an FName for the given shading path.

Public function

EShaderPlatf...

 

GetSimulatedPlatform

(
    EShaderPlatform Platform
)

Public function

FRHIRasteriz...

 

GetStaticRasterizerState

(
    ERasterizerFillMode FillMode,
    ERasterizerCullMode CullMode
)

Given a fill and cull mode, returns a static rasterizer state.

Public function

ERenderTarge...

 

GetStencilActions

(
    EDepthStencilTargetActions Action
)

Public function

ERenderTarge...

 

GetStoreAction

(
    ERenderTargetActions Action
)

Public function

uint32

 

GetTypeHash

(
    const FRHITextureSRVCreateInfo& Va...
)

Public function

uint32

 

GetVertexCountForPrimitiveCount

(
    uint32 NumPrimitives,
    uint32 PrimitiveType
)

Computes the vertex count for a given number of primitives of the specified type.

Public function

bool

 

IsAndroidOpenGLESPlatform

(
    const FStaticShaderPlatform Platfor...
)

Public function

bool

 

IsConsolePlatform

(
    const FStaticShaderPlatform Platfor...
)

Public function

bool

 

IsD3DPlatform

(
    const FStaticShaderPlatform Platfor...
)

Public function

bool

 

IsD3DPlatform

(
    const FStaticShaderPlatform Platfor...,
    bool bIncludeXboxOne
)

IsD3DPlatform(bIncludeXboxOne) is deprecated; please use IsD3DPlatform() and DataDrivenShaderPlatformInfo instead.

Public function

bool

 

IsDeprecatedShaderPlatform

(
    const FStaticShaderPlatform ShaderP...
)

Removed; please don't use.

Public function Static

bool

 

IsDepthOrStencilFormat

(
    EPixelFormat Format
)

Public function

bool

 

IsFeatureLevelSupported

(
    const FStaticShaderPlatform InShade...,
    ERHIFeatureLevel::Type InFeatureLev...
)

Returns true if the feature level is supported by the shader platform.

Public function

bool

 

IsHlslccShaderPlatform

(
    const FStaticShaderPlatform Platfor...
)

Public function

constexpr bo...

 

IsInvalidAccess

(
    ERHIAccess Access
)

Public function

constexpr bo...

 

IsLegacyAccess

(
    ERHIAccess Access
)

Public function

bool

 

IsMetalMobilePlatform

(
    const FStaticShaderPlatform Platfor...
)

Public function

bool

 

IsMetalMRTPlatform

(
    const FStaticShaderPlatform Platfor...
)

Public function

bool

 

IsMetalPlatform

(
    const FStaticShaderPlatform Platfor...
)

Public function

bool

 

IsMetalSM5Platform

(
    const FStaticShaderPlatform Platfor...
)

Public function

bool

 

IsMobilePlatform

(
    const EShaderPlatform Platform
)

Whether the shader platform corresponds to the ES3.1/Metal/Vulkan feature level.

Public function

bool

 

IsOpenGLPlatform

(
    const FStaticShaderPlatform Platfor...
)

Public function

bool

 

IsPCPlatform

(
    const FStaticShaderPlatform Platfor...
)

Public function

bool

 

IsPS4Platform

(
    const FStaticShaderPlatform Platfor...
)

IsPS4Platform() is deprecated; please use DataDrivenShaderPlatformInfo instead.

Public function

bool

 

IsRayTracingShaderFrequency

(
    EShaderFrequency Frequency
)

Public function

bool

 

IsRDGBufferReferenceShaderParameterType

(
    EUniformBufferBaseType BaseType
)

Returns whether the shader parameter type references an RDG buffer.

Public function

bool

 

IsRDGResourceReferenceShaderParameterType

(
    EUniformBufferBaseType BaseType
)

Returns whether the shader parameter type is a reference onto a RDG resource.

Public function

bool

 

IsRDGTextureReferenceShaderParameterType

(
    EUniformBufferBaseType BaseType
)

Returns whether the shader parameter type references an RDG texture.

Public function

constexpr bo...

 

IsReadableAccess

(
    ERHIAccess Access
)

Public function

constexpr bo...

 

IsReadOnlyAccess

(
    ERHIAccess Access
)

Public function

bool

 

IsRHIDeviceAMD()

To trigger GPU specific optimizations and fallbacks

Public function

bool

 

IsRHIDeviceIntel()

To trigger GPU specific optimizations and fallbacks

Public function

bool

 

IsRHIDeviceNVIDIA()

To trigger GPU specific optimizations and fallbacks

Public function

bool

 

IsRunningRHIInDedicatedThread()

Whether the RHI commands are being run on a dedicated thread other than the render thread

Public function

bool

 

IsRunningRHIInSeparateThread()

Trace::FChannel& FORCEINLINE GetRHICommandsChannel() {

} Whether the RHI commands are being run in a thread other than the render thread

Public function

bool

 

IsRunningRHIInTaskThread()

Whether the RHI commands are being run on a dedicated thread other than the render thread

Public function

bool

 

IsShaderParameterTypeForUniformBufferLayout

(
    EUniformBufferBaseType BaseType
)

Returns whether the shader parameter type needs to be passdown to RHI through FRHIUniformBufferLayout when creating an uniform buffer.

Public function

bool

 

IsShaderParameterTypeIgnoredByRHI

(
    EUniformBufferBaseType BaseType
)

Returns whether the shader parameter type in FRHIUniformBufferLayout is actually ignored by the RHI.

Public function

bool

 

IsSimulatedPlatform

(
    const FStaticShaderPlatform Platfor...
)

Returns true if the shader platform Platform is used to simulate a mobile feature level on a PC platform.

Public function Static

bool

 

IsStencilFormat

(
    EPixelFormat Format
)

Public function

bool

 

IsSwitchPlatform

(
    const FStaticShaderPlatform Platfor...
)

Public function

bool

 

IsUniformBufferStaticSlotValid

(
    const FUniformBufferStaticSlot Slot
)

Returns whether a static uniform buffer slot index is valid.

Public function

constexpr bo...

 

IsValidAccess

(
    ERHIAccess Access
)

Public function

bool

 

IsVulkanMobilePlatform

(
    const FStaticShaderPlatform Platfor...
)

Public function

bool

 

IsVulkanMobileSM5Platform

(
    const EShaderPlatform Platform
)

Public function

bool

 

IsVulkanPlatform

(
    const FStaticShaderPlatform Platfor...
)

Public function

bool

 

IsVulkanSM5Platform

(
    const FStaticShaderPlatform Platfor...
)

Public function

constexpr bo...

 

IsWritableAccess

(
    ERHIAccess Access
)

Public function

constexpr bo...

 

IsWriteOnlyAccess

(
    ERHIAccess Access
)

Public function

FName

 

LegacyShaderPlatformToShaderFormat

(
    EShaderPlatform Platform
)

Public function

FString

 

LexToString

(
    EShaderPlatform Platform
)

Stringifies EShaderPlatform

Public function

FString

 

LexToString

(
    ERHIFeatureLevel::Type Level
)

Stringifies ERHIFeatureLevel

Public function

constexpr ED...

 

MakeDepthStencilTargetActions

(
    const ERenderTargetActions Depth,
    const ERenderTargetActions Stencil
)

Public function

ERenderTarge...

 

MakeRenderTargetActions

(
    ERenderTargetLoadAction Load,
    ERenderTargetStoreAction Store
)

Public function

constexpr bo...

 

operator!

(
    EBufferUsageFlags E
)

Public function

constexpr bo...

 

operator!

(
    ETextureCreateFlags E
)

Public function

constexpr bo...

 

operator!

Public function

constexpr bo...

 

operator!

Public function

constexpr bo...

 

operator!

(
    ERHIAccess E
)

Public function

constexpr bo...

 

operator!

(
    ERHIPipeline E
)

Public function

constexpr bo...

 

operator!

Public function

constexpr bo...

 

operator!

Public function

constexpr ET...

 

operator&

(
    ETextureCreateFlags Lhs,
    ETextureCreateFlags Rhs
)

Public function

constexpr ER...

 

operator&

Public function

constexpr ER...

 

operator&

Public function

constexpr EB...

 

operator&

(
    EBufferUsageFlags Lhs,
    EBufferUsageFlags Rhs
)

Public function

constexpr ER...

 

operator&

(
    ERHIPipeline Lhs,
    ERHIPipeline Rhs
)

Public function

constexpr ER...

 

operator&

Public function

constexpr EA...

 

operator&

Public function

constexpr ER...

 

operator&

(
    ERHIAccess Lhs,
    ERHIAccess Rhs
)

Public function

ERHICreateTr...

 

operator&=

Public function

EApplyRender...

 

operator&=

Public function

ERayTracingP...

 

operator&=

Public function

ERHIPipeline...

 

operator&=

(
    ERHIPipeline& Lhs,
    ERHIPipeline Rhs
)

Public function

ETextureCrea...

 

operator&=

(
    ETextureCreateFlags& Lhs,
    ETextureCreateFlags Rhs
)

Public function

EBufferUsage...

 

operator&=

(
    EBufferUsageFlags& Lhs,
    EBufferUsageFlags Rhs
)

Public function

EResourceTra...

 

operator&=

Public function

ERHIAccess &

 

operator&=

(
    ERHIAccess& Lhs,
    ERHIAccess Rhs
)

Public function

constexpr ER...

 

operator^

Public function

constexpr ER...

 

operator^

Public function

constexpr ER...

 

operator^

(
    ERHIPipeline Lhs,
    ERHIPipeline Rhs
)

Public function

constexpr ER...

 

operator^

(
    ERHIAccess Lhs,
    ERHIAccess Rhs
)

Public function

constexpr ER...

 

operator^

Public function

constexpr EB...

 

operator^

(
    EBufferUsageFlags Lhs,
    EBufferUsageFlags Rhs
)

Public function

constexpr ET...

 

operator^

(
    ETextureCreateFlags Lhs,
    ETextureCreateFlags Rhs
)

Public function

constexpr EA...

 

operator^

Public function

ETextureCrea...

 

operator^=

(
    ETextureCreateFlags& Lhs,
    ETextureCreateFlags Rhs
)

Public function

EBufferUsage...

 

operator^=

(
    EBufferUsageFlags& Lhs,
    EBufferUsageFlags Rhs
)

Public function

EResourceTra...

 

operator^=

Public function

ERHIPipeline...

 

operator^=

(
    ERHIPipeline& Lhs,
    ERHIPipeline Rhs
)

Public function

ERHIAccess &

 

operator^=

(
    ERHIAccess& Lhs,
    ERHIAccess Rhs
)

Public function

ERayTracingP...

 

operator^=

Public function

EApplyRender...

 

operator^=

Public function

ERHICreateTr...

 

operator^=

Public function

constexpr EB...

 

operator|

(
    EBufferUsageFlags Lhs,
    EBufferUsageFlags Rhs
)

Public function

constexpr ET...

 

operator|

(
    ETextureCreateFlags Lhs,
    ETextureCreateFlags Rhs
)

Public function

constexpr ER...

 

operator|

Public function

constexpr EA...

 

operator|

Public function

constexpr ER...

 

operator|

(
    ERHIAccess Lhs,
    ERHIAccess Rhs
)

Public function

constexpr ER...

 

operator|

(
    ERHIPipeline Lhs,
    ERHIPipeline Rhs
)

Public function

constexpr ER...

 

operator|

Public function

constexpr ER...

 

operator|

Public function

EApplyRender...

 

operator|=

Public function

ERayTracingP...

 

operator|=

Public function

ERHIPipeline...

 

operator|=

(
    ERHIPipeline& Lhs,
    ERHIPipeline Rhs
)

Public function

EBufferUsage...

 

operator|=

(
    EBufferUsageFlags& Lhs,
    EBufferUsageFlags Rhs
)

Public function

EResourceTra...

 

operator|=

Public function

ETextureCrea...

 

operator|=

(
    ETextureCreateFlags& Lhs,
    ETextureCreateFlags Rhs
)

Public function

ERHICreateTr...

 

operator|=

Public function

ERHIAccess &

 

operator|=

(
    ERHIAccess& Lhs,
    ERHIAccess Rhs
)

Public function

constexpr EA...

 

operator~

Public function

constexpr ER...

 

operator~

Public function

constexpr ER...

 

operator~

Public function

constexpr EB...

 

operator~

(
    EBufferUsageFlags E
)

Public function

constexpr ET...

 

operator~

(
    ETextureCreateFlags E
)

Public function

constexpr ER...

 

operator~

Public function

constexpr ER...

 

operator~

(
    ERHIAccess E
)

Public function

constexpr ER...

 

operator~

(
    ERHIPipeline E
)

Public function

bool

 

operator==

(
    const FRHIUniformBufferLayout& A,
    const FRHIUniformBufferLayout& B
)

Compare two uniform buffer layouts.

Public function

bool

 

operator==

(
    const FRHIUniformBufferLayout::FRes...,
    const FRHIUniformBufferLayout::FRes...
)

Compare two uniform buffer layouts.

Public function

void

 

PipelineStateCache::FlushResources()

Evicts unused state entries based on r.pso.evictiontime time.

Public function

FComputePipe...

 

PipelineStateCache::GetAndOrCreateComputePipelineState

(
    FRHICommandList& RHICmdList,
    FRHIComputeShader* ComputeShad...
)

Public function

FGraphicsPip...

 

PipelineStateCache::GetAndOrCreateGraphicsPipelineState

(
    FRHICommandList& RHICmdList,
    const FGraphicsPipelineStateInitial...,
    EApplyRendertargetOption ApplyFlags
)

Public function

FRayTracingP...

 

PipelineStateCache::GetAndOrCreateRayTracingPipelineState

(
    FRHICommandList& RHICmdList,
    const FRayTracingPipelineStateIniti...,
    ERayTracingPipelineCacheFlags Flags
)

Retrieves RTPSO object from cache or adds a task to create it, which will be waited on by RHI thread.

Public function

FRHIVertexDe...

 

PipelineStateCache::GetOrCreateVertexDeclaration

(
    const FVertexDeclarationElementList...
)

Public function

FRayTracingP...

 

PipelineStateCache::GetRayTracingPipelineState

(
    const FRayTracingPipelineStateSigna...
)

Retrieves RTPSO object from cache or returns NULL if it's not found.

Public function

void

 

PipelineStateCache::Shutdown()

Clears all pipeline cached state.

Public function

FDynamicRHI ...

 

PlatformCreateDynamicRHI()

Each platform that utilizes dynamic RHIs should implement this function Called to create the instance of the dynamic RHI.

Public function

void

 

RHIAcquireThreadOwnership()

Public function

void

 

RHIAcquireTransientResource

(
    FRHITexture* Resource
)

Public function

void

 

RHIAcquireTransientResource

(
    FRHIStructuredBuffer* Resource
)

Public function

void

 

RHIAcquireTransientResource

(
    FRHIVertexBuffer* Resource
)

Public function

void

 

RHIAdvanceFrameForGetViewportBackBuffer

(
    FRHIViewport* Viewport
)

Public function

FIndexBuffer...

 

RHIAsyncCreateIndexBuffer

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

Public function

FIndexBuffer...

 

RHIAsyncCreateIndexBuffer

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

Public function

FTexture2DRH...

 

RHIAsyncCreateTexture2D

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

Public function

FTexture2DRH...

 

RHIAsyncCreateTexture2D

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

Public function

FVertexBuffe...

 

RHIAsyncCreateVertexBuffer

(
    uint32 Size,
    uint32 InUsage,
    FRHIResourceCreateInfo& CreateInfo
)

Public function

FVertexBuffe...

 

RHIAsyncCreateVertexBuffer

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

Public function

FTexture2DRH...

 

RHIAsyncReallocateTexture2D

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

Public function

void

 

RHIBeginSuspendRendering()

Public function

FUpdateTextu...

 

RHIBeginUpdateTexture3D

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

Public function

void

 

RHIBindDebugLabelName

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

Public function

void

 

RHIBindDebugLabelName

(
    FRHITexture* Texture,
    const TCHAR* Name
)

Public function

uint64

 

RHICalcTexture2DPlatformSize

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

Public function

uint64

 

RHICalcTexture3DPlatformSize

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

Public function

uint64

 

RHICalcTextureCubePlatformSize

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

Public function

uint64

 

RHICalcVMTexture2DPlatformSize

(
    uint32 Mip0Width,
    uint32 Mip0Height,
    uint8 Format,
    uint32 NumMips,
    uint32 FirstMipIdx,
    uint32 NumSamples,
    ETextureCreateFlags Flags,
    uint32& OutAlign
)

Public function

ETextureReal...

 

RHICancelAsyncReallocateTexture2D

(
    FRHITexture2D* Texture2D,
    bool bBlockUntilCompleted
)

Public function

void

 

RHICheckViewportHDRStatus

(
    FRHIViewport* Viewport
)

Public function

void

 

RHICompleteGraphEventOnFlip

(
    uint64 PresentIndex,
    FGraphEventRef Event
)

Signals the completion of the specified task graph event when the given frame has flipped.

Public function

uint32

 

RHIComputeMemorySize

(
    FRHITexture* TextureRHI
)

Public function

EGpuVendorId

 

RHIConvertToGpuVendorId

(
    uint32 VendorId
)

Public function

void

 

RHICopySharedMips

(
    FRHITexture2D* DestTexture2D,
    FRHITexture2D* SrcTexture2D
)

Public function

FIndexBuffer...

 

RHICreateAndLockIndexBuffer

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

Public function

FVertexBuffe...

 

RHICreateAndLockVertexBuffer

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

Public function

FBlendStateR...

 

RHICreateBlendState

(
    const FBlendStateInitializerRHI& I...
)

Public function

FBoundShader...

 

RHICreateBoundShaderState

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

Public function

FBoundShader...

 

RHICreateBoundShaderState

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

Public function

FComputeFenc...

 

RHICreateComputeFence

(
    const FName& Name
)

Public function

TRefCountPtr...

 

RHICreateComputePipelineState

(
    FRHIComputeShader* ComputeShad...
)

Public function

FComputeShad...

 

RHICreateComputeShader

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

Public function

FDepthStenci...

 

RHICreateDepthStencilState

(
    const FDepthStencilStateInitializer...
)

Public function

FDomainShade...

 

RHICreateDomainShader

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

Public function

FGeometrySha...

 

RHICreateGeometryShader

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

Public function

FGPUFenceRHI...

 

RHICreateGPUFence

(
    const FName& Name
)

Public function

FGraphicsPip...

 

RHICreateGraphicsPipelineState

(
    const FGraphicsPipelineStateInitial...
)

Before using this directly go through PipelineStateCache::GetAndOrCreateGraphicsPipelineState()

Public function

FHullShaderR...

 

RHICreateHullShader

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

Public function

FIndexBuffer...

 

RHICreateIndexBuffer

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

Forward declare RHI creation function so they can still be called from the deprecated immediate command list resource creation functions.

Public function

FIndexBuffer...

 

RHICreateIndexBuffer

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

Public function

FPixelShader...

 

RHICreatePixelShader

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

Public function

FRasterizerS...

 

RHICreateRasterizerState

(
    const FRasterizerStateInitializerRH...
)

Public function

FRenderQuery...

 

RHICreateRenderQuery

(
    ERenderQueryType QueryType
)

CreateRenderQuery API is deprecated; use RHICreateRenderQueryPool and suballocate queries there

Public function

FRenderQuery...

 

RHICreateRenderQueryPool

(
    ERenderQueryType QueryType,
    uint32 NumQueries
)

Public function

FSamplerStat...

 

RHICreateSamplerState

(
    const FSamplerStateInitializerRHI&...
)

Public function

FRHIShaderLi...

 

RHICreateShaderLibrary

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

Public function

FShaderResou...

 

RHICreateShaderResourceView

(
    const FShaderResourceViewInitialize...
)

Public function

FShaderResou...

 

RHICreateShaderResourceView

(
    FRHIIndexBuffer* Buffer
)

Public function

FShaderResou...

 

RHICreateShaderResourceView

(
    FRHITexture* Texture,
    uint8 MipLevel
)

Public function

FShaderResou...

 

RHICreateShaderResourceView

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

Public function

FShaderResou...

 

RHICreateShaderResourceView

(
    FRHIVertexBuffer* VertexBuffer,
    uint32 Stride,
    uint8 Format
)

Public function

FShaderResou...

 

RHICreateShaderResourceView

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

Public function

FShaderResou...

 

RHICreateShaderResourceView

(
    FRHIStructuredBuffer* Structur...
)

Public function

FShaderResou...

 

RHICreateShaderResourceViewFMask

(
    FRHITexture2D* Texture2D
)

Public function

FShaderResou...

 

RHICreateShaderResourceViewHTile

(
    FRHITexture2D* RenderTarget
)

Public function

FShaderResou...

 

RHICreateShaderResourceViewWriteMask

(
    FRHITexture2D* Texture2D
)

Public function

FStagingBuff...

 

RHICreateStagingBuffer()

Public function

FStructuredB...

 

RHICreateStructuredBuffer

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

Public function

FStructuredB...

 

RHICreateStructuredBuffer

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

Public function

void

 

RHICreateTargetableShaderResource2D

(
    uint32 SizeX,
    uint32 SizeY,
    uint8 Format,
    uint32 NumMips,
    ETextureCreateFlags Flags,
    ETextureCreateFlags TargetableTextu...,
    bool bForceSeparateTargetAndShaderR...,
    bool bForceSharedTargetAndShaderRes...,
    FRHIResourceCreateInfo& CreateInfo,
    FTexture2DRHIRef& OutTargetableTex...,
    FTexture2DRHIRef& OutShaderResourc...,
    uint32 NumSamples
)

Creates 1 or 2 textures with the same dimensions/format.

Public function

void

 

RHICreateTargetableShaderResource2D

(
    uint32 SizeX,
    uint32 SizeY,
    uint8 Format,
    uint32 NumMips,
    ETextureCreateFlags Flags,
    ETextureCreateFlags TargetableTextu...,
    bool bForceSeparateTargetAndShaderR...,
    FRHIResourceCreateInfo& CreateInfo,
    FTexture2DRHIRef& OutTargetableTex...,
    FTexture2DRHIRef& OutShaderResourc...,
    uint32 NumSamples
)

Public function

void

 

RHICreateTargetableShaderResource2DArray

(
    uint32 SizeX,
    uint32 SizeY,
    uint32 SizeZ,
    uint8 Format,
    uint32 NumMips,
    ETextureCreateFlags Flags,
    ETextureCreateFlags TargetableTextu...,
    FRHIResourceCreateInfo& CreateInfo,
    FTexture2DArrayRHIRef& OutTargetab...,
    FTexture2DArrayRHIRef& OutShaderRe...,
    uint32 NumSamples
)

Public function

void

 

RHICreateTargetableShaderResource2DArray

(
    uint32 SizeX,
    uint32 SizeY,
    uint32 SizeZ,
    uint8 Format,
    uint32 NumMips,
    ETextureCreateFlags Flags,
    ETextureCreateFlags TargetableTextu...,
    bool bForceSeparateTargetAndShaderR...,
    bool bForceSharedTargetAndShaderRes...,
    FRHIResourceCreateInfo& CreateInfo,
    FTexture2DArrayRHIRef& OutTargetab...,
    FTexture2DArrayRHIRef& OutShaderRe...,
    uint32 NumSamples
)

Public function

void

 

RHICreateTargetableShaderResource3D

(
    uint32 SizeX,
    uint32 SizeY,
    uint32 SizeZ,
    uint8 Format,
    uint32 NumMips,
    ETextureCreateFlags Flags,
    ETextureCreateFlags TargetableTextu...,
    bool bForceSeparateTargetAndShaderR...,
    FRHIResourceCreateInfo& CreateInfo,
    FTexture3DRHIRef& OutTargetableTex...,
    FTexture3DRHIRef& OutShaderResourc...
)

Creates 1 or 2 textures with the same dimensions/format.

Public function

void

 

RHICreateTargetableShaderResourceCube

(
    uint32 LinearSize,
    uint8 Format,
    uint32 NumMips,
    ETextureCreateFlags Flags,
    ETextureCreateFlags TargetableTextu...,
    bool bForceSeparateTargetAndShaderR...,
    FRHIResourceCreateInfo& CreateInfo,
    FTextureCubeRHIRef& OutTargetableT...,
    FTextureCubeRHIRef& OutShaderResou...
)

Creates 1 or 2 textures with the same dimensions/format.

Public function

void

 

RHICreateTargetableShaderResourceCubeArray

(
    uint32 LinearSize,
    uint32 ArraySize,
    uint8 Format,
    uint32 NumMips,
    ETextureCreateFlags Flags,
    ETextureCreateFlags TargetableTextu...,
    bool bForceSeparateTargetAndShaderR...,
    FRHIResourceCreateInfo& CreateInfo,
    FTextureCubeRHIRef& OutTargetableT...,
    FTextureCubeRHIRef& OutShaderResou...
)

Creates 1 or 2 textures with the same dimensions/format.

Public function

FTexture2DRH...

 

RHICreateTexture2D

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

Public function

FTexture2DRH...

 

RHICreateTexture2D

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

Public function

FTexture2DAr...

 

RHICreateTexture2DArray

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

Public function

FTexture2DAr...

 

RHICreateTexture2DArray

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

Public function

FTexture3DRH...

 

RHICreateTexture3D

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

Public function

FTexture3DRH...

 

RHICreateTexture3D

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

Public function

FTextureCube...

 

RHICreateTextureCube

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

Public function

FTextureCube...

 

RHICreateTextureCube

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

Public function

FTextureCube...

 

RHICreateTextureCubeArray

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

Public function

FTextureCube...

 

RHICreateTextureCubeArray

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

Public function

FTexture2DRH...

 

RHICreateTextureExternal2D

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

Public function

FTexture2DRH...

 

RHICreateTextureExternal2D

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

Public function

FTextureRefe...

 

RHICreateTextureReference

(
    FLastRenderTimeContainer* Last...
)

Public function

const FRHITr...

 

RHICreateTransition

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

Public function

FUniformBuff...

 

RHICreateUniformBuffer

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

Public function

FUnorderedAc...

 

RHICreateUnorderedAccessView

(
    FRHITexture* Texture,
    uint32 MipLevel,
    uint8 Format
)

Public function

FUnorderedAc...

 

RHICreateUnorderedAccessView

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

Public function

FUnorderedAc...

 

RHICreateUnorderedAccessView

(
    FRHIIndexBuffer* IndexBuffer,
    uint8 Format
)

Public function

FUnorderedAc...

 

RHICreateUnorderedAccessView

(
    FRHIVertexBuffer* VertexBuffer,
    uint8 Format
)

Public function

FUnorderedAc...

 

RHICreateUnorderedAccessView

(
    FRHITexture* Texture,
    uint32 MipLevel
)

Public function

FUnorderedAc...

 

RHICreateUnorderedAccessViewHTile

(
    FRHITexture2D* RenderTarget
)

Public function

FUnorderedAc...

 

RHICreateUnorderedAccessViewStencil

(
    FRHITexture2D* DepthTarget,
    int32 MipLevel
)

Public function

FVertexBuffe...

 

RHICreateVertexBuffer

(
    uint32 Size,
    uint32 InUsage,
    FRHIResourceCreateInfo& CreateInfo
)

Public function

FVertexBuffe...

 

RHICreateVertexBuffer

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

Public function

FVertexDecla...

 

RHICreateVertexDeclaration

(
    const FVertexDeclarationElementList...
)

Before using this directly go through PipelineStateCache::GetOrCreateVertexDeclaration()

Public function

FVertexShade...

 

RHICreateVertexShader

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

Public function

FViewportRHI...

 

RHICreateViewport

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

Public function

ERHIAccess

 

RHIDecayResourceAccess

(
    ERHIAccess AccessMask,
    ERHIAccess RequiredAccess,
    bool bAllowUAVOverlap
)

Public function

void

 

RHIDiscardTransientResource

(
    FRHITexture* Resource
)

Public function

void

 

RHIDiscardTransientResource

(
    FRHIVertexBuffer* Resource
)

Public function

void

 

RHIDiscardTransientResource

(
    FRHIStructuredBuffer* Resource
)

Public function

void

 

RHIEndMultiUpdateTexture3D

(
    TArray< FUpdateTexture3DData >& Up...
)

Public function

void

 

RHIEndUpdateTexture3D

(
    FUpdateTexture3DData& UpdateData
)

Public function

void

 

RHIExecuteCommandList

(
    FRHICommandList* CmdList
)

Public function

void

 

RHIExit()

Shuts down the RHI.

Public function

ETextureReal...

 

RHIFinalizeAsyncReallocateTexture2D

(
    FRHITexture2D* Texture2D,
    bool bBlockUntilCompleted
)

Public function

void

 

RHIFlushResources()

Public function

bool

 

RHIGetAvailableResolutions

(
    FScreenResolutionArray& Resolution...,
    bool bIgnoreRefreshRate
)

Public function

EColorSpaceA...

 

RHIGetColorSpace

(
    FRHIViewport* Viewport
)

Public function

IRHICommandC...

 

RHIGetCommandContextContainer

(
    int32 Index,
    int32 Num,
    FRHIGPUMask GPUMask
)

Public function

IRHIComputeC...

 

RHIGetDefaultAsyncComputeContext()

Public function

IRHICommandC...

 

RHIGetDefaultContext()

Public function

ERHIAccess

 

RHIGetDefaultResourceState

(
    ETextureCreateFlags InUsage,
    bool bInHasInitialData
)

Get the best default resource state for the given texture creation flags

Public function

ERHIAccess

 

RHIGetDefaultResourceState

(
    EBufferUsageFlags InUsage,
    bool bInHasInitialData
)

Get the best default resource state for the given buffer creation flags

Public function

ERHIAccess

 

RHIGetDefaultResourceState

(
    EBufferUsageFlags InUsage,
    bool bInHasInitialData
)

Get the best default resource state for the given buffer creation flags

Public function

ERHIAccess

 

RHIGetDefaultResourceState

(
    ETextureCreateFlags InUsage,
    bool bInHasInitialData
)

Public function

uint32

 

RHIGetGPUFrameCycles

(
    uint32 GPUIndex
)

Public function

uint64

 

RHIGetMinimumAlignmentForBufferBackedSRV

(
    EPixelFormat Format
)

Public function

void *

 

RHIGetNativeCommandBuffer()

Public function

void *

 

RHIGetNativeComputeQueue()

Public function

void *

 

RHIGetNativeDevice()

Public function

void *

 

RHIGetNativeGraphicsQueue()

Public function

void *

 

RHIGetNativeInstance()

Public function

void *

 

RHIGetNativePhysicalDevice()

Public function

FRHIPanicEve...

 

RHIGetPanicDelegate()

Public function

int32

 

RHIGetPreferredClearUAVRectPSResourceType

(
    const FStaticShaderPlatform Platfor...
)

Helper to check which resource type should be used for clear (UAV) replacement shaders.

Public function

void

 

RHIGetPresentThresholds

(
    float& OutTopPercent,
    float& OutBottomPercent
)

Returns the top and bottom vsync present thresholds (the values of rhi.PresentThreshold.Top and rhi.PresentThreshold.Bottom)

Public function

bool

 

RHIGetPreviewFeatureLevel

(
    ERHIFeatureLevel::Type& PreviewFea...
)

Helper to check if a preview feature level has been requested.

Public function

bool

 

RHIGetRenderQueryResult

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

Public function

void

 

RHIGetResourceInfo

(
    FRHITexture* Ref,
    FRHIResourceInfo& OutInfo
)

Public function

uint32

 

RHIGetShaderLanguageVersion

(
    const FStaticShaderPlatform Platfor...
)

Helper to return the shader language version for the given shader platform.

Public function

void

 

RHIGetSupportedResolution

(
    uint32& Width,
    uint32& Height
)

Public function

uint32

 

RHIGetSyncInterval()

Returns the value of the rhi.SyncInterval CVar.

Public function

float

 

RHIGetSyncSlackMS()

Returns the value of the rhi.SyncSlackMS CVar or length of a full frame interval if the frame offset system is disabled.

Public function

void

 

RHIGetTextureMemoryStats

(
    FTextureMemoryStats& OutStats
)

Public function

FTexture2DRH...

 

RHIGetViewportBackBuffer

(
    FRHIViewport* Viewport
)

Public function

uint32

 

RHIGetViewportNextPresentGPUIndex

(
    FRHIViewport* Viewport
)

Public function

bool

 

RHIHasTiledGPU

(
    const FStaticShaderPlatform Platfor...
)

Public function

void

 

RHIInit

(
    bool bHasEditorToken
)

RHI memory stats.

Public function

void

 

RHIInitializeFlipTracking()

Public function

void *

 

RHILockIndexBuffer

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

Public function

void *

 

RHILockStagingBuffer

(
    FRHIStagingBuffer* StagingBuff...,
    FRHIGPUFence* Fence,
    uint32 Offset,
    uint32 Size
)

Public function

void *

 

RHILockStagingBuffer

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

Public function

void *

 

RHILockStructuredBuffer

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

Public function

void *

 

RHILockTexture2D

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

Public function

void *

 

RHILockTexture2DArray

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

Public function

void *

 

RHILockTextureCubeFace

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

Public function

void *

 

RHILockVertexBuffer

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

Public function

bool

 

RHINeedsToSwitchVerticalAxis

(
    const FStaticShaderPlatform Platfor...
)

Public function

void

 

RHIPostInit

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

Performs additional RHI initialization before the render thread starts.

Public function

EPixelFormat

 

RHIPreferredPixelFormatHint

(
    EPixelFormat PreferredPixelFormat
)

Helper to check if preferred EPixelFormat is supported, return one if it is not

Public function

void

 

RHIPrivateBeginFrame()

Called once per frame only from within an RHI.

Public function

void

 

RHIReleaseThreadOwnership()

Public function

void

 

RHIReleaseTransition

(
    FRHITransition* Transition
)

Public function

bool

 

RHIRequiresComputeGenerateMips()

Public function

void

 

RHIResizeViewport

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

Public function

void

 

RHIResumeRendering()

Public function

void

 

RHISetFrameDebugInfo

(
    uint64 PresentIndex,
    uint64 FrameIndex,
    uint64 InputTime
)

Sets the FrameIndex and InputTime for the current frame.

Public function

void

 

RHISetMobilePreviewFeatureLevel

(
    ERHIFeatureLevel::Type MobilePrevie...
)

Set runtime selection of mobile feature level preview.

Public function

void

 

RHIShutdownFlipTracking()

Public function

bool

 

RHISupports4ComponentUAVReadWrite

(
    const FStaticShaderPlatform Platfor...
)

Public function

bool

 

RHISupportsAbsoluteVertexID

(
    const EShaderPlatform InShaderPlatf...
)

Returns true if SV_VertexID contains BaseVertexIndex passed to the draw call, false if shaders must manually construct an absolute VertexID.

Public function

bool

 

RHISupportsBufferLoadTypeConversion

(
    const FStaticShaderPlatform Platfor...
)

Public function

bool

 

RHISupportsComputeShaders

(
    const FStaticShaderPlatform Platfor...
)

Public function

bool

 

RHISupportsDualSourceBlending

(
    const FStaticShaderPlatform Platfor...
)

Public function

bool

 

RHISupportsGeometryShaders

(
    const FStaticShaderPlatform Platfor...
)

Public function

bool

 

RHISupportsIndexBufferUAVs

(
    const FStaticShaderPlatform Platfor...
)

Helper to check that the shader platform supports creating a UAV off an index buffer.

Public function

bool

 

RHISupportsInstancedStereo

(
    const FStaticShaderPlatform Platfor...
)

Public function

bool

 

RHISupportsManualVertexFetch

(
    const FStaticShaderPlatform InShade...
)

Whether Manual Vertex Fetch is supported for the specified shader platform.

Public function

bool

 

RHISupportsMobileMultiView

(
    const FStaticShaderPlatform Platfor...
)

Public function

bool

 

RHISupportsMSAA

(
    const FStaticShaderPlatform Platfor...
)

Public function

bool

 

RHISupportsMultithreadedShaderCreation

(
    const FStaticShaderPlatform Platfor...
)

Public function

bool

 

RHISupportsMultiView

(
    const FStaticShaderPlatform Platfor...
)

Public function

bool

 

RHISupportsNativeShaderLibraries

(
    const FStaticShaderPlatform Platfor...
)

Public function

bool

 

RHISupportsPixelShaderUAVs

(
    const FStaticShaderPlatform Platfor...
)

Helper to check that the shader platform supports writing to UAVs from pixel shaders.

Public function

bool

 

RHISupportsRayTracingShaders

(
    const FStaticShaderPlatform Platfor...
)

Can this platform compile ray tracing shaders (regardless of project settings).

Public function

bool

 

RHISupportsRenderTargetWriteMask

(
    const FStaticShaderPlatform Platfor...
)

True if the given shader platform supports a render target write mask

Public function

bool

 

RHISupportsSeparateMSAAAndResolveTextures

(
    const FStaticShaderPlatform Platfor...
)

Public function

bool

 

RHISupportsShaderPipelines

(
    const FStaticShaderPlatform Platfor...
)

Public function

bool

 

RHISupportsTessellation

(
    const FStaticShaderPlatform Platfor...
)

Helper to check that the shader platform supports tessellation.

Public function

bool

 

RHISupportsVertexShaderLayer

(
    const FStaticShaderPlatform Platfor...
)

Public function

bool

 

RHISupportsVolumeTextures

(
    const FStaticFeatureLevel FeatureLe...
)

Whether the platform supports reading from volume textures (does not cover rendering to volume textures).

Public function

bool

 

RHISupportsWaveOperations

(
    const FStaticShaderPlatform Platfor...
)

Can this platform compile shaders that use shader model 6.0 wave intrinsics.

Public function

void

 

RHISuspendRendering()

Public function

void

 

RHITick

(
    float DeltaTime
)

Public function

void

 

RHIUnlockIndexBuffer

(
    FRHIIndexBuffer* IndexBuffer
)

Public function

void

 

RHIUnlockStagingBuffer

(
    FRHIStagingBuffer* StagingBuff...
)

Public function

void

 

RHIUnlockStructuredBuffer

(
    FRHIStructuredBuffer* Structur...
)

Public function

void

 

RHIUnlockTexture2D

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

Public function

void

 

RHIUnlockTexture2DArray

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

Public function

void

 

RHIUnlockTextureCubeFace

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

Public function

void

 

RHIUnlockVertexBuffer

(
    FRHIVertexBuffer* VertexBuffer
)

Public function

void

 

RHIUpdateRHIResources

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

Public function

void

 

RHIUpdateTexture2D

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

Public function

void

 

RHIUpdateTexture3D

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

Public function

void

 

RHIUpdateTextureReference

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

Public function

void

 

RHIUpdateUniformBuffer

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

Public function

const TCHAR ...

 

RHIVendorIdToString()

Helper to convert GRHIVendorId into a printable string, or "Unknown" if unknown.

Public function

const TCHAR ...

 

RHIVendorIdToString

(
    EGpuVendorId VendorId
)

Helper to convert VendorId into a printable string, or "Unknown" if unknown.

Public function

void

 

RHIVirtualTextureSetFirstMipInMemory

(
    FRHITexture2D* Texture,
    uint32 FirstMip
)

Public function

void

 

RHIVirtualTextureSetFirstMipVisible

(
    FRHITexture2D* Texture,
    uint32 FirstMip
)

Public function

bool

 

RHIVolumeTextureRenderingSupportGuaranteed

(
    const FStaticShaderPlatform Platfor...
)

Return true if and only if the GPU support rendering to volume textures (2D Array, 3D) is guaranteed supported for a target platform.

Public function

void

 

SetComputePipelineState

(
    FRHICommandList& RHICmdList,
    FRHIComputeShader* ComputeShad...
)

Public function

void

 

SetDepthBoundsTest

(
    FRHICommandList& RHICmdList,
    float WorldSpaceDepthNear,
    float WorldSpaceDepthFar,
    const FMatrix& ProjectionMatrix
)

Public function

void

 

SetGraphicsPipelineState

(
    FRHICommandList& RHICmdList,
    const FGraphicsPipelineStateInitial...,
    EApplyRendertargetOption ApplyFlags,
    bool bApplyAdditionalState
)

Public function Static

EShaderPlatf...

 

ShaderFormatNameToShaderPlatform

(
    FName ShaderFormat
)

Public function

EShaderPlatf...

 

ShaderFormatToLegacyShaderPlatform

(
    FName ShaderFormat
)

Public function

FName

 

ShaderPlatformToPlatformName

(
    EShaderPlatform Platform
)

Public function Static

FName

 

ShaderPlatformToShaderFormatName

(
    EShaderPlatform Platform
)

Public function

void

 

TransitionRenderPassTargets

(
    FRHICommandList& RHICmdList,
    const FRHIRenderPassInfo& RPInfo
)

Variables

Name Description

Public variable

FAutoConsoleTas...

 

CPrio_SceneRenderingTask

Public variable

TAutoConsoleVar...

 

CVarRHICmdFlushRenderThreadTasks

Public variable

TAutoConsoleVar...

 

CVarRHICmdWidth

Public variable

const uint32

 

FPipelineCacheFileFormatCurrentVersion

Public variable

int32[1]

 

GCurrentNumDrawCallsRHI

Num draw calls and primitives this frame (only accurate on RenderThread)

Public variable

int32[1]

 

GCurrentNumDrawCallsRHIPtr

Public variable

int32[1]

 

GCurrentNumPrimitivesDrawnRHI

Public variable

int32

 

GCurrentRendertargetMemorySize

Amount of memory allocated by rendertargets. In kilobytes.

Public variable

int32

 

GCurrentTextureMemorySize

Amount of memory allocated by textures. In kilobytes.

Public variable

int32

 

GDrawUPIndexCheckCount

The size to check against for Draw*UP call index counts.

Public variable

int32

 

GDrawUPVertexCheckCount

The size to check against for Draw*UP call vertex counts.

Public variable

FDynamicRHI ...

 

GDynamicRHI

A global pointer to the dynamically bound RHI implementation.

Public variable

bool

 

GEnableAsyncCompute

Public variable

FString

 

GGPUTraceFileName

Non-empty if we are performing a gpu trace. Also says where to place trace file.

Public variable

bool

 

GHardwareHiddenSurfaceRemoval

True if the GPU supports hidden surface removal in hardware.

Public variable

uint64

 

GInputLatencyTime

How many cycles the from sampling input to the frame being flipped.

Public variable

bool

 

GIsRHIInitialized

RHI globals.True if the render hardware has been initialized.

RHI globals.

Public variable

bool

 

GIsRunningRHIInDedicatedThread_InternalUseOnly

Public variable

bool

 

GIsRunningRHIInSeparateThread_InternalUseOnly

Public variable

bool

 

GIsRunningRHIInTaskThread_InternalUseOnly

Public variable

TRHIGlobal< int...

 

GMaxBufferDimensions

The maximum size allowed for 2D textures in both dimensions.

Public variable

TRHIGlobal< int...

 

GMaxComputeDispatchDimension

The maximum size allowed for a computeshader dispatch.

Public variable

TRHIGlobal< int...

 

GMaxComputeSharedMemory

The maximum size allowed for Shared Compute Memory.

Public variable

TRHIGlobal< int...

 

GMaxCubeTextureDimensions

The maximum size allowed for cube textures.

Public variable

ERHIFeatureLeve...

 

GMaxRHIFeatureLevel

The maximum feature level and shader platform available on this system GRHIFeatureLevel and GRHIShaderPlatform have been deprecated.

Public variable

EShaderPlatform

 

GMaxRHIShaderPlatform

Public variable

TRHIGlobal< int...

 

GMaxShadowDepthBufferSizeX

The maximum size to allow for the shadow depth buffer in the X dimension.

Public variable

TRHIGlobal< int...

 

GMaxShadowDepthBufferSizeY

The maximum size to allow for the shadow depth buffer in the Y dimension.

Public variable

int32

 

GMaxTextureArrayLayers

The Maximum number of layers in a 1D or 2D texture array.

Public variable

TRHIGlobal< int...

 

GMaxTextureDimensions

The maximum size allowed for 2D textures in both dimensions.

Public variable

int32

 

GMaxTextureMipCount

RHI capabilities.The maximum number of mip-maps that a texture can contain.

Public variable

int32

 

GMaxTextureSamplers

Public variable

TRHIGlobal< int...

 

GMaxVolumeTextureDimensions

The maximum size allowed for 3D textures in all three dimensions.

Public variable

TRHIGlobal< int...

 

GMaxWorkGroupInvocations

The maximum work group invocations allowed for compute shader.

Public variable

float

 

GMinClipZ

The minimum Z value in clip space for the RHI.

Public variable

int32[1]

 

GNumDrawCallsRHI

Some simple runtime stats, reset on every call to RHIBeginFrame Num draw calls & primitives on previous frame (accurate on any thread)

Public variable

int32[1]

 

GNumPrimitivesDrawnRHI

Public variable

FPixelFormatInf...

 

GPixelFormats

Public variable

int32

 

GPoolSizeVRAMPercentage

In percent. If non-zero, the texture pool size is a percentage of GTotalGraphicsMemory.

Public variable

float

 

GProjectionSignY

The sign to apply to the Y axis of projection matrices.

Public variable

FString

 

GRHIAdapterDriverDate

Public variable

FString

 

GRHIAdapterInternalDriverVersion

Public variable

FString

 

GRHIAdapterName

Only set if RHI has the information (after init of the RHI and only if RHI has that information, never changes after that) e.g. "NVIDIA GeForce GTX 670"

Public variable

FString

 

GRHIAdapterUserDriverVersion

Public variable

bool

 

GRHIAttachmentVariableRateShadingEnabled

Whether attachment (image-based) VRS is currently enabled (separate from whether it's supported/available).

Public variable

FRHICommandList...

 

GRHICommandList

Public variable

uint32

 

GRHIDeviceId

Public variable

bool

 

GRHIDeviceIsAMDPreGCNArchitecture

True if the GPU is AMD's Pre-GCN architecture

Public variable

uint32

 

GRHIDeviceRevision

Public variable

FRHICommandList...

 

GRHIFenceAllocator

Public variable

bool

 

GRHIForceNoDeletionLatencyForStreamingTextures

Allow opt-out default RHI resource deletion latency for streaming textures

Public variable

EPixelFormat

 

GRHIHDRDisplayOutputFormat

Format used for the backbuffer when outputting to a HDR display.

Public variable

bool

 

GRHIIsHDREnabled

Whether or not HDR is currently enabled

Public variable

bool

 

GRHILazyShaderCodeLoading

If true, then avoiding loading shader code and instead force the "native" path, which sends a library and a hash instead.

Public variable

FRHILockTracker

 

GRHILockTracker

Public variable

int32

 

GRHIMaximumReccommendedOustandingOcclusionQueries

If an RHI cannot do an unlimited number of occlusion queries without stalling and waiting for the GPU, this can be used to tune hte occlusion culler to try not to do that.

Public variable

int32

 

GRHIMaximumWaveSize

Public variable

int32

 

GRHIMinimumWaveSize

Specifies the minimum and maximum number of lanes in the SIMD wave that this GPU can support.

Public variable

bool

 

GRHINeedsExtraDeletionLatency

Does this RHI need to wait for deletion of resources due to ref counting.

Public variable

bool

 

GRHINeedsUnatlasedCSMDepthsWorkaround

True if the RHI has artifacts with atlased CSM depths.

Public variable

uint64

 

GRHIPresentCounter

Counter incremented once on each frame present.

Public variable

bool

 

GRHIRequiresRenderTargetForPixelShaderUAVs

True if the RHI requires a valid RT bound during UAV scatter operation inside the pixel shader

Public variable

bool

 

GRHISupportsArrayIndexFromAnyShader

True if the RHI supports setting the render target array index from any shader stage

Public variable

bool

 

GRHISupportsAsyncTextureCreation

True if the RHI supports asynchronous creation of texture resources

Public variable

bool

 

GRHISupportsAtomicUInt64

True if the RHI supports 64 bit uint atomics.

Public variable

bool

 

GRHISupportsAttachmentVariableRateShading

Whether or not the RHI can support image-based Variable Rate Shading.

Public variable

bool

 

GRHISupportsBackBufferWithCustomDepthStencil

Whether or not the RHI can render to the backbuffer with a custom depth/stencil surface bound.

Public variable

bool

 

GRHISupportsBaseVertexIndex

Whether or not the RHI can handle a non-zero BaseVertexIndex - extra SetStreamSource calls will be needed if this is false

Public variable

bool

 

GRHISupportsComplexVariableRateShadingCombinerOps

Whether or not the RHI can support complex combiner operatations between per-draw (pipeline) VRS and image VRS.

Public variable

bool

 

GRHISupportsCopyToTextureMultipleMips

Does the RHI implements CopyToTexture() with [FRHICopyTextureInfo::NumMips](API\Runtime\RHI\FRHICopyTextureInfo\NumMips) > 1

Public variable

bool

 

GRHISupportsDepthUAV

True if the RHI supports depth target unordered access views.

Public variable

bool

 

GRHISupportsDirectGPUMemoryLock

True if the pointer returned by Lock is a persistent direct pointer to gpu memory

Public variable

bool

 

GRHISupportsDrawIndirect

True if the RHI supports Draw Indirect

Public variable

bool

 

GRHISupportsDynamicResolution

Whether or not the RHI can handle dynamic resolution or not.

Public variable

bool

 

GRHISupportsExactOcclusionQueries

Some RHIs can only do visible or not occlusion queries.

Public variable

bool

 

GRHISupportsExplicitFMask

True if the RHI supports explicit access to MSAA target FMask meta data.

Public variable

bool

 

GRHISupportsExplicitHTile

True if the RHI supports explicit access to depth target HTile meta data.

Public variable

bool

 

GRHISupportsFirstInstance

Whether or not the RHI can handle a non-zero FirstInstance to DrawIndexedPrimitive and friends - extra SetStreamSource calls will be needed if this is false

Public variable

bool

 

GRHISupportsFrameCyclesBubblesRemoval

True if RHIGetGPUFrameCycles removes CPu generated bubbles.

Public variable

bool

 

GRHISupportsGPUTimestampBubblesRemoval

True if RQT_AbsoluteTime is supported by RHICreateRenderQuery

Public variable

bool

 

GRHISupportsHDROutput

Whether the present adapter/display offers HDR output capabilities.

Public variable

bool

 

GRHISupportsLateVariableRateShadingUpdate

Whether Variable Rate Shading deferred shading rate texture update is supported.

Public variable

bool

 

GRHISupportsLazyShaderCodeLoading

If true, then it is possible to turn on GRHILazyShaderCodeLoading.

Public variable

bool

 

GRHISupportsMSAADepthSampleAccess

Whether or not the RHI can perform MSAA sample load.

Public variable

bool

 

GRHISupportsMultithreading

Whether the RHI can send commands to the device context from multiple threads.

Public variable

bool

 

GRHISupportsParallelRHIExecute

Whether or not the RHI supports parallel RHIThread executes / translates Requirements: RHICreateBoundShaderState & RHICreateGraphicsPipelineState is threadsafe and GetCachedBoundShaderState must not be used.

Public variable

bool

 

GRHISupportsPipelineFileCache

True if the pipeline file cache can be used with this RHI

Public variable

bool

 

GRHISupportsPipelineVariableRateShading

Whether or not the RHI can support per-draw Variable Rate Shading.

Public variable

bool

 

GRHISupportsPixelShaderUAVs

True if the RHI supports Pixel Shader UAV

Public variable

bool

 

GRHISupportsPrimitiveShaders

True if the RHI supports primitive shaders.

Public variable

bool

 

GRHISupportsQuadTopology

True if the RHI supports quad topology (PT_QuadList).

Public variable

bool

 

GRHISupportsRayTracing

Whether or not the RHI supports ray tracing on current hardware (acceleration structure building and new ray tracing-specific shader types).

Public variable

bool

 

GRHISupportsRayTracingAMDHitToken

Whether or not the RHI supports the AMD Hit Token extension.

Public variable

bool

 

GRHISupportsRayTracingAsyncBuildAccelerationStructure

Whether or not the RHI supports async building ray tracing acceleration structures.

Public variable

bool

 

GRHISupportsRayTracingPSOAdditions

Whether or not the RHI supports adding new shaders to an existing RT PSO.

Public variable

bool

 

GRHISupportsRectTopology

True if the RHI supports rectangular topology (PT_RectList).

Public variable

bool

 

GRHISupportsResolveCubemapFaces

True if the RHI supports copying cubemap faces using CopyToResolveTarget

Public variable

bool

 

GRHISupportsResummarizeHTile

True if the RHI supports resummarizing depth target HTile meta data.

Public variable

bool

 

GRHISupportsRHIOnTaskThread

As above, but we run the commands on arbitrary task threads

Public variable

bool

 

GRHISupportsRHIThread

Whether or not the RHI supports an RHI thread.

Public variable

bool

 

GRHISupportsRWTextureBuffers

Whether RW texture buffers are supported

Public variable

bool

 

GRHISupportsTextureStreaming

True if the RHI supports texture streaming

Public variable

bool

 

GRHISupportsUAVFormatAliasing

True if the RHI supports unordered access view format aliasing

Public variable

bool

 

GRHISupportsVariableRateShadingAttachmentArrayTextures

Whether or not the RHI can support shading rate attachments as array textures.

Public variable

bool

 

GRHISupportsWaveOperations

Whether or not the RHI supports shader wave operations (shader model 6.0).

Public variable

ERHIAccess

 

GRHITextureReadAccessMask

Mask of read states that can be used together for textures.

Public variable

bool

 

GRHIThreadNeedsKicking

If an RHI is so slow, that it is the limiting factor for the entire frame, we can kick early to try to give it as much as possible.

Public variable

uint64

 

GRHITransitionPrivateData_AlignInBytes

Public variable

uint64

 

GRHITransitionPrivateData_SizeInBytes

The size in bytes of the storage required by the platform RHI for each resource transition.

Public variable

const bool

 

GRHIValidationEnabled

Public variable

bool

 

GRHIVariableRateShadingEnabled

Whether VRS (in all flavors) is currently enabled (separate from whether it's supported/available).

Public variable

EVRSImageDataTy...

 

GRHIVariableRateShadingImageDataType

Data type contained in a shading-rate image for image-based Variable Rate Shading.

Public variable

EPixelFormat

 

GRHIVariableRateShadingImageFormat

Image format for the shading rate image for image-based Variable Rate Shading.

Public variable

int32

 

GRHIVariableRateShadingImageTileMaxHeight

Maximum tile height in a screen space texture that can be used to drive Variable Rate Shading.

Public variable

int32

 

GRHIVariableRateShadingImageTileMaxWidth

Maximum tile width in a screen space texture that can be used to drive Variable Rate Shading.

Public variable

int32

 

GRHIVariableRateShadingImageTileMinHeight

Minimum tile height in a screen space texture that can be used to drive Variable Rate Shading.

Public variable

int32

 

GRHIVariableRateShadingImageTileMinWidth

Minimum tile width in a screen space texture that can be used to drive Variable Rate Shading.

Public variable

uint32

 

GRHIVendorId

0 means not defined yet, use functions like IsRHIDeviceAMD() to access

Public variable

EShaderPlatform...

 

GShaderPlatformForFeatureLevel

Table for finding out which shader platform corresponds to a given feature level for this RHI.

Public variable

bool

 

GSupportsDepthBoundsTest

True if the RHI and current hardware supports supports depth bounds testing

Public variable

bool

 

GSupportsEfficientAsyncCompute

True if the RHI and current hardware supports efficient AsyncCompute (by default we assume false and later we can enable this for more hardware)

Public variable

bool

 

GSupportsImageExternal

True if the RHI supports image external

Public variable

bool

 

GSupportsMobileMultiView

True if the RHI supports mobile multi-view

Public variable

bool

 

GSupportsParallelOcclusionQueries

True if the RHI supports getting the result of occlusion queries when on a thread other than the render thread

Public variable

bool

 

GSupportsParallelRenderingTasksWithSeparateRHIThread

Temporary.

Public variable

bool

 

GSupportsQuadBufferStereo

True if this platform has quad buffer stereo support.

Public variable

bool

 

GSupportsRenderDepthTargetableShaderResources

True if the RHI supports textures that may be bound as both a render target and a shader resource.

Public variable

TRHIGlobal< boo...

 

GSupportsRenderTargetFormat_PF_FloatRGBA

True if PF_FloatRGBA render targets are supported

Public variable

TRHIGlobal< boo...

 

GSupportsRenderTargetFormat_PF_G8

True if PF_G8 render targets are supported

Public variable

bool

 

GSupportsResourceView

True if the RHI supports SRVs

Public variable

bool

 

GSupportsSeparateRenderTargetBlendState

True if the RHI supports separate blend states per render target.

Public variable

bool

 

GSupportsShaderDepthStencilFetch

True if mobile depth & stencil fetch is supported

Public variable

bool

 

GSupportsShaderFramebufferFetch

True if mobile framebuffer fetch is supported

Public variable

bool

 

GSupportsTexture3D

True if the RHI supports 3D textures

Public variable

bool

 

GSupportsTimestampRenderQueries

True if RQT_AbsoluteTime is supported by RHICreateRenderQuery

Public variable

bool

 

GSupportsTransientResourceAliasing

True if the RHI supports aliasing of transient resources

Public variable

bool

 

GSupportsVolumeTextureRendering

True if and only if the GPU support rendering to volume textures (2D Array, 3D).

Public variable

bool

 

GSupportsWideMRT

True if the RHI supports 256bit MRT

Public variable

int64

 

GTexturePoolSize

Current texture streaming pool size, in bytes. 0 means unlimited.

Public variable

bool

 

GTriggerGPUHitchProfile

Whether we are profiling GPU hitches.

Public variable

bool

 

GTriggerGPUProfile

Whether the next frame should profile the GPU.

Public variable

bool

 

GUseRHITaskThreads_InternalUseOnly

Public variable

bool

 

GUseRHIThread_InternalUseOnly

Public variable

bool

 

GUsingNullRHI

True if we are running with the NULL RHI

Public variable

FVertexElementT...

 

GVertexElementTypeSupport

True for each VET that is supported. One-to-one mapping with EVertexElementType

Public variable

uint32

 

GWorkingRHIThreadStallTime

Public variable

uint32

 

GWorkingRHIThreadStartCycles

Public variable

uint32

 

GWorkingRHIThreadTime

Private accumulator for the RHI thread.

Public variable

const FName

 

LANGUAGE_D3D

Public variable

const FName

 

LANGUAGE_Metal

Public variable

const FName

 

LANGUAGE_Nintendo

Public variable

const FName

 

LANGUAGE_OpenGL

Public variable

const FName

 

LANGUAGE_Sony

Public variable

const FName

 

LANGUAGE_Vulkan

Public variable

 

STATCAT_Advanced

Public variable

 

STATCAT_Advanced

Public variable

FCriticalSectio...

 

StaticStateRHICriticalSection

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