RenderCore

Filters

Classes

Name

Description

Public struct

DispatchContext

Public struct

FACESTonemapParams

Public struct

FAdaptiveVTDescription

Describes an adaptive virtual texture.

Public struct

FAllocatedVTDescription

Parameters needed to create an IAllocatedVirtualTexture Describes both page table and physical texture size, format, and layout

Public class

FARGB16BigConvertPS

Pixel shader to convert ARGB16, big endian to RGB

Public class

FAYUVConvertPS

Pixel shader to convert an AYUV texture to RGBA.

Public struct

FBinkDrawICtCpPS

Public struct

FBinkDrawVS

Public struct

FBinkDrawYCbCrPS

Public class

FBinkParameters

Public class

FBMPConvertPS

Pixel shader to convert a Windows Bitmap texture.

Public class

FBudget

Represent an independent budget to dynamically scale by its own.

Public class

FBufferWithRDG

Public struct

FCachedUniformBufferDeclaration

Public struct

FClearQuadCallbacks

Public class

FClearVertexBuffer

Public struct

FCompactFullName

Public class

FCompareShaderPipelineNameTypes

Used to compare two shader pipeline types by name.

Public class

FCompareShaderTypes

Used to compare two shader types by name.

Public class

FCompareVertexFactoryTypes

Used to compare two Vertex Factory types by name.

Public struct

FCompressedTransform

Public class

FCopyRectPS

Pixel shader to copy pixels from src to dst performing a format change that works on all platforms.

Public class

FCopyTextureCS

Public class

FCoreRenderDelegates

Public class

FCubeIndexBuffer

Public class

FDeferredCleanupInterface

The base class of objects that need to defer deletion until the render command queue has been flushed.

Public class

FDeprecatedSerializedPackedNormal

Public struct

FDepthStencilBinding

Render graph information about how to bind a depth-stencil render target.

Public struct

FDisplayInformation

Public struct

FDummyResolveParameter

Public struct

FDynamicAllocReadBuffer

Public class

FEmptyShaderParameters

An empty shader parameter structure ready to be used anywhere.

Public class

FEmptyVertexDeclaration

The empty vertex declaration resource type.

Public struct

FExtraShaderCompilerSettings

Additional compilation settings that can be configured by each FMaterial instance before compilation

Public class

FFillTextureCS

Compute shader for writing values

Public struct

FFilterVertex

The vertex data used to filter a texture.

Public class

FFilterVertexDeclaration

The filter vertex declaration resource type.

Public struct

FGBufferBinding

Public struct

FGBufferBindings

Describes the bindings of the GBuffer for a given layout.

Public struct

FGBufferCompressionInfo

Public struct

FGBufferInfo

Public struct

FGBufferItem

The texture positions in the GBuffer

Public struct

FGBufferPacking

Public struct

FGBufferParams

Public struct

FGBufferTarget

Public class

FGenerateMips

Public struct

FGenerateMipsParams

Public struct

FGlobalBoundShaderState

Public struct

FGlobalBoundShaderStateArgs

Public class

FGlobalBoundShaderStateResource

FGlobalBoundShaderState

Public struct

FGlobalBoundShaderStateWorkArea

Public class

FGlobalDynamicIndexBuffer

A system for dynamically allocating GPU memory for indices.

Public struct

FGlobalDynamicIndexBufferAllocation

Public struct

FGlobalDynamicIndexBufferAllocationEx

Public class

FGlobalDynamicReadBuffer

A system for dynamically allocating GPU memory for rendering.

Public class

FGlobalDynamicVertexBuffer

A system for dynamically allocating GPU memory for vertices.

Public struct

FGlobalDynamicVertexBufferAllocation

Public class

FGlobalShader

FGlobalShader

Public struct

FGlobalShaderBackupData

Container for Backup/RestoreGlobalShaderMap functions.

Public class

FGlobalShaderMap

Public class

FGlobalShaderMapContent

Public class

FGlobalShaderMapId

Class that encapsulates logic to create a DDC key for the global shader map.

Public class

FGlobalShaderMapSection

Public struct

FGlobalShaderPermutationParameters

Public class

FGlobalShaderType

A shader meta type for the simplest shaders; shaders which are not material or vertex factory linked.

Public class

FHandler

Base class persistent handler for receiving messages.

Public struct

FHeuristicSettings

Represent an independent budget to dynamically scale by its own.

Public class

FIndexBuffer

An index buffer resource.

Public class

FInitStaticResourceRenderThreadTask

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

Public struct

FInputLatencyTimer

Encapsulates a latency timer that measures the time from when mouse input is read on the gamethread until that frame is fully displayed by the GPU.

Public class

FInstancedScreenVertexShaderVS

Vertex shader to draw an instanced quad covering all the viewports (SV_ViewportArrayIndex is output for each SV_InstanceID).

Public class

FIoStoreShaderCodeArchive

Public struct

FIoStoreShaderCodeArchiveHeader

Public struct

FIoStoreShaderCodeEntry

Descriptor of an individual shader.

Public struct

FIoStoreShaderGroupEntry

Descriptor of a group of shaders compressed together.

Public struct

FIoStoreShaderMapEntry

Descriptor of a shader map.

Public class

FLongGPUTaskPS

Public struct

FMediaElementVertex

Stores media drawing vertices.

Public class

FMediaShadersVS

Media vertex shader (shared by all media shaders).

Public class

FMediaVertexDeclaration

The simple element vertex declaration resource type.

Public struct

FMemcpyResourceParams

Public struct

FMemsetResourceParams

Can store arbitrary data so long as it follows alignment restrictions.

Public struct

FMipBiasFade

Functionality for fading in/out texture mip-levels.

Public struct

FMipFadeSettings

Mip fade settings, selectable by chosing a different EMipFadeSettings.

Public class

FModifyAlphaSwizzleRgbaPS

Pixel shader to swizzle R G B A components, set alpha to 1 or inverts alpha

Public class

FNullColorVertexBuffer

A vertex buffer with a single color component.

Public class

FNULLPS

An internal dummy pixel shader to use when the user calls RHISetPixelShader(NULL).

Public class

FNullVertexBuffer

A vertex buffer with a single zero float3 component.

Public class

FNV12ConvertAsBytesPS

Pixel shader to convert a NV12 frame to RGBA (NV12 data; texture viewed as G8)

Public class

FNV12ConvertPS

Pixel shader to convert a NV12 frame to RGBA.

Public class

FNV21ConvertPS

Pixel shader to convert a NV21 frame to RGBA.

Public class

FOculusAlphaInverseShader

Public class

FOculusBlackShader

Public class

FOculusCubemapPS

A pixel shader for rendering a textured screen element.

Public class

FOculusVertexShader

Public class

FOculusWhiteShader

Public class

FOneColorPS

Pixel shader for rendering a single, constant color.

Public class

FP010_2101010ConvertPS

Pixel shader to convert a P010 frame stored as 3 plane RGB2101010 to RGBA.

Public class

FP010ConvertAsUINT16sPS

Pixel shader to convert a P010 frame inside a G16 texture to RGBA.

Public class

FP010ConvertPS

Pixel shader to convert a P010 frame to RGBA.

Public struct

FPackedArrayInfo

Public struct

FPackedNormal

A normal vector, quantized and packed into 32-bits.

Public struct

FPackedPosition

A 3x1 of xyz(11:11:10) format.

Public struct

FPackedRGB10A2N

A vector, quantized and packed into 32-bits.

Public struct

FPackedRGBA16N

A vector, quantized and packed into 32-bits.

Public struct

FParameterAllocation

Public class

FParameters

Shader parameters used to write to write a GPU message.

Public class

FPendingCleanupObjects

A set of cleanup objects which are pending deletion.

Public struct

FPendingShaderMapCompileResults

Public struct

FPermsPerPSO

Describes a PSO with an array of other stable shaders that could be used with it.

Public struct

FPermutation

Describes a particular combination of shaders.

Public class

FPixelInspectorRequest

Class use to add FScene pixel inspect request

Public class

FPixelRenderCounters

Public struct

FPixelShaderUtils

All utils for pixel shaders.

Public struct

FPooledRenderTarget

The reference to a pooled render target, use like this: TRefCountPtr

Public struct

FPooledRenderTargetDesc

All necessary data to create a render target from the pooled render targets.

Public class

FPostOpaqueRenderParameters

Public class

FPrimitiveIdDummyBuffer

Default PrimitiveId vertex buffer.

Public class

FPrimitiveIdDummyBufferMobile

Public struct

FRayGenShaderUtils

All utils for ray generation shaders.

Public class

FRayTracingGeometry

A ray tracing geometry resource

Public class

FRDGAllocator

Private allocator used by RDG to track its internal memory.

Public class

FRDGAllocatorScope

Base class for RDG builder which scopes the allocations and releases them in the destructor.

Public class

FRDGAsyncComputeBudgetScopeGuard

Public class

FRDGAsyncScatterUploadBuffer

Public class

FRDGBarrierBatchBegin

Public struct

FRDGBarrierBatchBeginId

Public class

FRDGBarrierBatchEnd

Public struct

FRDGBarrierBatchEndId

Public class

FRDGBarrierValidation

This class validates and logs barriers submitted by the graph.

Public class

FRDGBlackboard

The blackboard is a map of struct instances with a lifetime tied to a render graph allocator.

Public class

FRDGBuffer

A render graph tracked buffer.

Public class

FRDGBufferAccess

Public struct

FRDGBufferDesc

Descriptor for render graph tracked Buffer.

Public class

FRDGBufferSRV

Render graph tracked buffer SRV.

Public struct

FRDGBufferSRVDesc

Public class

FRDGBufferUAV

Render graph tracked buffer UAV.

Public struct

FRDGBufferUAVDesc

Public class

FRDGBuilder

Use the render graph builder to build up a graph of passes and then call Execute() to process them.

Public struct

FRDGDrawTextureInfo

Public class

FRDGEventName

GPU Events - Named hierarchical events emitted to external profiling tools.Stores a GPU event name for the render graph.

Public class

FRDGEventScope

Public class

FRDGEventScopeGuard

Public class

FRDGEventScopeOpArray

Public class

FRDGEventScopeStack

Manages a stack of event scopes.

Public class

FRDGExternalAccessQueue

Batches up RDG external resource access mode requests and submits them all at once to RDG.

Public struct

FRDGGPUScopeOpArrays

Public struct

FRDGGPUScopes

General GPU scopes

Public struct

FRDGGPUScopeStacks

The complete set of scope stack implementations.

Public struct

FRDGGPUScopeStacksByPipeline

Public class

FRDGGPUStatScope

GPU Stats - Aggregated counters emitted to the runtime 'stat GPU' profiler.

Public class

FRDGGPUStatScopeGuard

Public class

FRDGGPUStatScopeOp

Public class

FRDGGPUStatScopeOpArray

Public class

FRDGGPUStatScopeStack

Public class

FRDGParameter

A helper class for identifying and accessing a render graph pass parameter.

Public class

FRDGParameterStruct

Wraps a pass parameter struct payload and provides helpers for traversing members.

Public class

FRDGPass

Base class of a render graph pass.

Public class

FRDGPooledBuffer

Public class

FRDGPooledTexture

Public struct

FRDGProducerState

Used for tracking pass producer / consumer edges in the graph for culling and pipe fencing.

Public class

FRDGResource

Generic graph resource.

Public class

FRDGScatterUploadBase

Public class

FRDGScatterUploadBuffer

Public class

FRDGScatterUploader

Public class

FRDGScope

Public class

FRDGSentinelPass

Render graph pass used for the prologue / epilogue passes.

Public class

FRDGShaderResourceView

Render graph tracked SRV.

Public struct

FRDGSubresourceState

Used for tracking the state of an individual subresource during execution.

Public class

FRDGTexture

Render graph tracked Texture.

Public class

FRDGTextureAccess

Public struct

FRDGTextureClearInfo

Public struct

FRDGTextureDesc

Public struct

FRDGTextureMSAA

Simple pair of RDG textures used for MSAA.

Public class

FRDGTextureSRV

Render graph tracked SRV.

Public class

FRDGTextureSRVDesc

Descriptor for render graph tracked SRV.

Public struct

FRDGTextureSubresource

Public struct

FRDGTextureSubresourceLayout

Public struct

FRDGTextureSubresourceRange

Public class

FRDGTextureUAV

Render graph tracked texture UAV.

Public class

FRDGTextureUAVDesc

Descriptor for render graph tracked UAV.

Public class

FRDGTimingScope

GPU Timing

Public class

FRDGTimingScopeOpArray

Public class

FRDGTimingScopeStack

Public class

FRDGUniformBuffer

Public class

FRDGUniformBufferBinding

Public class

FRDGUnorderedAccessView

Render graph tracked UAV.

Public struct

FRDGUploadData

Helper class to allocate data from a GraphBuilder in order to upload said data to an RDG resource.

Public class

FRDGUserValidation

Used by the render graph builder to validate correct usage of the graph API from setup to execution.

Public class

FRDGView

A render graph resource (e.g. a view) which references a single viewable resource (e.g. a texture / buffer).

Public class

FRDGViewableResource

A render graph resource with an allocation lifetime tracked by the graph.

Public class

FRDGWaitForTasksScope

Scope used to wait for outstanding tasks when the scope destructor is called.

Public class

FReadbackBufferParameters

Public class

FReadbackTextureParameters

Public class

FReader

Interface for the handelr to read data from the GPU buffer during readback.

Public class

FReadTextureExternalPS

Pixel shader to read from TextureExternal source

Public struct

FRegisterRayTracingPayloadTypeHelper

Public struct

FRenderBounds

Public class

FRenderCommand

Render commands.

Public class

FRenderCommandFence

Render fences.

Public class

FRenderResource

A rendering resource which is owned by the rendering thread.

Public struct

FRenderTargetBinding

Render graph information about how to bind a render target.

Public struct

FRenderTargetBindingSlots

Special shader parameters type for a pass parameter to setup render targets.

Public class

FRenderTargetParameters

Useful parameter struct that only have render targets.

Public class

FRenderTargetPool

Encapsulates the render targets pools that allows easy sharing (mostly used on the render thread side)

Public class

FRenderThreadScope

Public struct

FRenderThreadStructBase

Public class

FRenderTimer

Timer helper class.

Public struct

FRenderTransform

TODO: Further compress data size with tighter encoding LWC_TODO: Rebasing support (no 64bit types in here) TODO: Optimization (avoid full 4x4 math)

Public struct

FResizeResourceSOAParams

Public class

FResolveArrayVS

Public class

FResolveDepth2XPS

Public class

FResolveDepth4XPS

Public class

FResolveDepth8XPS

Public class

FResolveDepthArray2XPS

Public class

FResolveDepthArray4XPS

Public class

FResolveDepthArray8XPS

Public class

FResolveDepthArrayPS

Public class

FResolveDepthPS

Public class

FResolveSingleSamplePS

Public class

FResolveVS

A vertex shader for rendering a textured screen element.

Public class

FRGB10toYUVv210ConvertPS

Pixel shader to convert RGB 10 bits to YUV v210

Public class

FRGB8toUYVY8ConvertPS

Pixel shader to convert RGB 8 bits to UYVY 8 bits

Public class

FRGB8toY8ConvertPS

Pixel shader to convert RGB 8 bits to Y 8 bits

Public class

FRGBConvertPS

Pixel shader to convert an RGB texture.

Public class

FRGBToYUVConversion

Struct of common parameters used in media capture shaders to do RGB to YUV conversions

Public class

FRHIAsyncCommandList

RenderThread scoped work.

Public struct

FScatterCopyParams

Public class

FScatterUploadBuffer

Public struct

FScenePrimitiveRenderingContextScopeHelper

Public struct

FSceneRenderingBlockAllocationTag

Public struct

FSceneRenderTargetItem

Single render target item consists of a render surface and its resolve texture, Render thread side

Public class

FScope

RAII object for controlling a new GPU message scope.

Public class

FScopedCapture

Helper for capturing within a scope.

Public class

FScreenRectangleIndexBuffer

Public class

FScreenRectangleVertexBuffer

Static vertex and index buffer used for 2D screen rectangles.

Public class

FScreenSpaceVertexBuffer

Public class

FScreenVertexShaderVS

Vertex shader to draw a screen quad that works on all platforms.

Public struct

FSCWErrorCode

Public class

FSerializationHistory

Encapsulates information about a shader's serialization behavior, used to detect when C++ serialization changes to auto-recompile.

Public class

FSerializationHistoryTraversalState

Tracks state when traversing a FSerializationHistory.

Public class

FSerializedShaderArchive

Portion of shader code archive that's serialize to disk.

Public class

FShader

A compiled shader and its parameter bindings.

Public struct

FShaderBindingInOutMask

Public struct

FShaderBindings

Public class

FShaderCode

Public class

FShaderCodeArchive

Public struct

FShaderCodeEntry

Public struct

FShaderCodeFeatures

Public struct

FShaderCodeLibrary

Collection of unique shader code Populated at cook time

Public struct

FShaderCodeLibraryPipeline

Public struct

FShaderCodeName

If this changes you need to make sure all shaders get invalidated

Public struct

FShaderCodePackedResourceCounts

If this changes you need to make sure all shaders get invalidated

Public class

FShaderCodeReader

Later we can transform that to the actual class passed around at the RHI level

Public struct

FShaderCodeResourceMasks

Public struct

FShaderCodeUniformBuffers

Public struct

FShaderCodeValidationExtension

Public struct

FShaderCodeVendorExtension

If this changes you need to make sure all shaders get invalidated

Public class

FShaderCommonCompileJob

Stores all of the common information used to compile a shader or pipeline.

Public struct

FShaderCompiledShaderInitializerType

Public class

FShaderCompileJob

Stores all of the input and output information used to compile a single shader.

Public struct

FShaderCompileJobKey

Public struct

FShaderCompilerDefines

These are also the platform defines.

Public class

FShaderCompilerDefinitions

Container for shader compiler definitions.

Public struct

FShaderCompilerEnvironment

The environment used to compile a shader.

Public struct

FShaderCompilerError

A shader compiler error or warning.

Public class

FShaderCompilerFlags

Simple wrapper for a uint64 bitfield; doesn't use TBitArray as it is fixed size and doesn't need dynamic memory allocations.

Public struct

FShaderCompilerInput

Struct that gathers all readonly inputs needed for the compilation of a single shader.

Public struct

FShaderCompilerOutput

The output of the shader compiler.

Public struct

FShaderCompilerResourceTable

Public struct

FShaderDiagnosticRemapper

Helper class used to remap compiler diagnostic messages from stripped preprocessed source (i.e. source with all whitespace normalized and comments and line directives removed) back to line numbers/locations from the original source.

Public struct

FShaderGlobalDefines

Public class

FShaderId

Uniquely identifies an FShader instance.

Public class

FShaderKey

Public struct

FShaderLibraryCooker

Public struct

FShaderLightmapPropertyDefines

Maybe should rename this to VertexFactoryDefines?

Public class

FShaderLooseParameterBufferInfo

Public class

FShaderLooseParameterInfo

Public class

FShaderMapBase

Public struct

FShaderMapCompileResults

Results for a single compiled shader map.

Public class

FShaderMapContent

A collection of shaders of different types

Public struct

FShaderMapEntry

Public class

FShaderMapPointerTable

Public class

FShaderMapResource

Public class

FShaderMapResource_InlineCode

Public class

FShaderMapResourceCode

Public struct

FShaderMaterialDerivedDefines

Public struct

FShaderMaterialPropertyDefines

Public class

FShaderParameter

A shader parameter's register binding. e.g. float1/2/3/4, can be an array, UAV

Public class

FShaderParameterBindings

Stores all shader parameter bindings and their corresponding offset and size in the shader's parameters struct.

Public class

FShaderParameterMap

A map of shader parameter names to registers allocated to that parameter.

Public class

FShaderParameterMapInfo

Public class

FShaderParameterParser

Validates and moves all the shader loose data parameter defined in the root scope of the shader into the root uniform buffer.

Public class

FShaderParametersMetadata

A uniform buffer struct.

Public class

FShaderParametersMetadataBuilder

Public class

FShaderParametersMetadataRegistration

Public struct

FShaderPermutationBool

Defines at compile time a boolean permutation dimension.

Public struct

FShaderPermutationParameters

Public class

FShaderPipeline

A Shader Pipeline instance with compiled stages.

Public class

FShaderPipelineCache

FShaderPipelineCache: The FShaderPipelineCache provides the new Pipeline State Object (PSO) logging, serialisation & precompilation mechanism that replaces FShaderCache.

Public class

FShaderPipelineCompileJob

Public struct

FShaderPipelineCompileJobKey

Public class

FShaderPipelineRef

Public class

FShaderPipelineType

Binding of a set of shader stages in a single pipeline.

Public class

FShaderPipelineTypeDependency

Public struct

FShaderPlatformCachedIniValue

Public class

FShaderPreprocessOutput

Public class

FShaderResourceParameter

A shader resource binding (textures or samplerstates).

Public class

FShaderResourceParameterInfo

Public struct

FShaderResourceTable

Public struct

FShaderResourceTableMap

Public class

FShaderSaveArchive

Archive used when saving shaders, which generates data used to detect serialization mismatches on load.

Public class

FShaderStableKeyDebugInfoReader

Class that uses build metadata (*.shk files storing mapping of stable shader keys to their hashes) to provide high level info on shaders and PSOs.

Public struct

FShaderTarget

Public class

FShaderType

An object which is used to serialize/deserialize, compile, and cache a particular shader class.

Public class

FShaderTypeDependency

Encapsulates a dependency on a shader type and saved state from that shader type.

Public class

FShaderTypeRegistration

Registers a shader type in various systems.

Public class

FShaderUniformBufferParameter

Public class

FShaderUniformBufferParameterInfo

Public struct

FShaderUsageVisualizer

Run-time only debugging facility

Public struct

FSharedShaderCompilerEnvironment

Public class

FSocket

A socket object mapped to a persistently registered handler.

Public struct

FStableShaderKeyAndValue

Public class

FStereoShaderAspects

Detect the single-draw stereo shader variant, in order to support usage across different platforms

Public class

FSuspendRenderingThread

Render thread suspension.

Public class

FTexture

A textures resource.

Public class

FTextureReference

A texture reference resource.

Public struct

FTextureRenderTargetBinding

Public class

FTextureWithSRV

A textures resource that includes an SRV.

Public class

FTickableObjectRenderThread

This class provides common registration for render thread tickable objects.

Public class

FTileVertexDeclaration

Public class

FTwoTrianglesIndexBuffer

Public class

FUniformBufferBinding

Public struct

FUniformBufferCopyInfo

Information for copying members from uniform buffers to packed.

Public struct

FUniformBufferEntry

Minimal information about each uniform buffer entry fed to the shader compiler.

Public struct

FUniformBufferNameSortOrder

Public class

FUniformBufferStaticSlotRegistrar

Simple class that registers a uniform buffer static slot in the constructor.

Public class

FUniformBufferStaticSlotRegistry

Registry for uniform buffer static slots.

Public struct

FUniformResourceEntry

Each entry in a resource table is provided to the shader compiler for creating mappings.

Public class

FUYVYConvertPS

Pixel shader to convert a UYVY (Y422, UYNV) frame to RGBA.

Public class

FVertexBuffer

A vertex buffer resource

Public class

FVertexBufferWithSRV

Public class

FVertexFactory

Encapsulates a vertex data source which can be linked into a vertex shader.

Public class

FVertexFactoryShaderParameters

An interface to the parameter bindings for the vertex factory used by a shader.

Public class

FVertexFactoryType

An object used to represent the type of a vertex factory.

Public class

FVertexFactoryTypeDependency

Encapsulates a dependency on a vertex factory type and saved state from that vertex factory type.

Public struct

FVertexInputStream

Public struct

FVertexStreamComponent

A typed data source for a vertex factory which streams data from a vertex buffer.

Public struct

FVirtualTextureLocalTile

Identifies a VT tile within a given producer

Public struct

FVirtualTextureProducerHandle

Public class

FVisualizeTexture

Public struct

FVTProducerDescription

Public struct

FVTProduceTargetLayer

Describes a location to write a single layer of a VT tile

Public struct

FVTRequestPageResult

Public class

FYCbCrConvertPS

Pixel shader to convert a PS4 YCbCr texture to RGBA.

Public class

FYCbCrConvertPS_4x4Matrix

Public class

FYCoCgConvertPS

Pixel convert to resize an YCoCg texture.

Public class

FYUVConvertPS

Pixel shader to convert Y, U, and V planes to RGBA.

Public class

FYUVv210ConvertPS

Pixel shader to convert YUV v210 to RGB

Public class

FYUVv216ConvertPS

Pixel shader to convert YUV v216/2vuy/yuv2 to RGB

Public class

FYUVY416ConvertPS

Pixel shader to convert YUV Y416 to RGB

Public class

FYUY2ConvertPS

Pixel shader to convert a YUY2 frame to RGBA.

Public class

FYVYUConvertPS

Pixel shader to convert a YVYU frame to RGBA.

Public class

IAdaptiveVirtualTexture

Interface for adaptive virtual textures.

Public class

IAllocatedVirtualTexture

This interface represents a chunk of VT data allocated and owned by the renderer module, backed by both a page table texture, and a physical texture cache for each layer.

Public class

ICustomCulling

Public class

ICustomResourcePool

Public class

ICustomVisibilityQuery

Public class

IDumpGPUUploadServiceProvider

Public class

IPersistentViewUniformBufferExtension

Public struct

IPooledRenderTarget

Render thread side, use TRefCountPtr, allows sharing and VisualizeTexture

Public class

IRenderCaptureProvider

Public class

IRendererModule

The public interface of the renderer module.

Public class

IScenePrimitiveRenderingContext

Public class

IVirtualTexture

This is the interface that can produce tiles of virtual texture data This can be extended to represent different ways of generating VT, such as disk streaming, runtime compositing, or whatever It's provided to the renderer module

Public class

IVirtualTextureFinalizer

Public class

TAlignedShaderParameterPtr

PLATFORM_64BITS.

Public class

TAlignedTypedef

Alignements tools because alignas() does not work on type in clang.

Public struct

TClearReplacementBase

Public class

TClearReplacementCS

Public class

TClearReplacementPS

Public struct

TClearReplacementTypeSelector

Public class

TClearReplacementVS

Public class

TCompareShaderTypePermutation

Used to compare order shader types permutation deterministically.

Public class

TCopyResourceCS

Public class

TEnqueueUniqueRenderCommandType

Public class

TGlobalResource

Used to declare a render resource that is initialized/released by static initialization/destruction.

Public class

TLambdaHandler

Lambda persistent handler which calls the provided lambda when a message is received.

Public class

TMap

Map of FBudget -> .

Public class

TOneColorPixelShaderMRT

Pixel shader for rendering a single, constant color to MRTs.

Public class

TOneColorVS

Vertex shader for rendering a single, constant color.

Public class

TOptionalShaderMapRef

A reference to an optional shader, initialized with a shader type from a shader map if it is available or nullptr if it is not.

Public class

TRDGArrayAllocator

A container allocator that allocates from a global RDG allocator instance.

Public class

TRDGBufferAccess

Public class

TRDGEmptyLambdaPass

Public class

TRDGHandle

HANDLE UTILITIES Handle helper class for internal tracking of RDG types.

Public class

TRDGHandleBitArray

Specialization of bit array with compile-time type checking for handles and a pre-configured allocator.

Public class

TRDGHandleRegistry

Helper handle registry class for internal tracking of RDG types.

Public class

TRDGHandleUniqueFilter

Esoteric helper class which accumulates handles and will return a valid handle only if a single unique handle was added.

Public class

TRDGLambdaPass

Render graph pass with lambda execute function.

Public class

TRDGParameterStruct

Public class

TRDGResourceAccessArray

Public struct

TRDGResourceAccessTypeInfo

Public class

TRDGScopeOp

Public class

TRDGScopeOpArray

Public class

TRDGScopeStack

A helper profiler class for tracking and evaluating hierarchical scopes in the context of render graph.

Public class

TRDGScopeStackHelper

Public class

TRDGTextureAccess

Public class

TRDGUniformBuffer

Public class

TRDGUniformBufferBinding

Public class

TRenderThreadStruct

Represents a struct with a lifetime that spans multiple render commands with scoped initialization and release on the render thread.

Public class

TShaderMap

Public class

TShaderMapRef

A reference which is initialized with the requested shader type from a shader map.

Public struct

TShaderParameterScalarArrayTypeInfo

Upgrade the scalar type to a vector for storage.

Public struct

TShaderParameterStructTypeInfo

Public struct

TShaderParameterTypeInfo

Template to transcode some meta data information for a type not specific to shader parameters API.

Public struct

TShaderPermutationDomain

Variadic template that defines an arbitrary multi-dimensional permutation domain, that can be instantiated to represent a vector within the domain.

Public class

TShaderPermutationDomainSpetialization

C++11 doesn't allow partial specialization of templates method or function.

Public struct

TShaderPermutationInt

Defines at compile time a permutation dimension made of int32 from 0 to N -1.

Public struct

TShaderPermutationSparseInt

Defines at compile time a permutation dimension made of specific int32.

Public class

TShaderRefBase

Public class

TShaderResourceParameterArray

Static array of shader resource shader that is initialized to nullptr.

Public struct

TShaderResourceParameterTypeInfo

Public struct

TShaderTypePermutation

Define a shader permutation uniquely according to its type, and permutation id.

Public class

TShaderUniformBufferParameter

A shader uniform buffer binding with a specific structure.

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.

Public struct

TThreadGroupSize

Public struct

TThreadGroupSize

Public class

TUniformBufferBinding

Public struct

TUniformBufferMetadataHelper

Retrieve the metadata of a UB type

Public class

TUniformBufferRef

A reference to a uniform buffer RHI resource with a specific structure.

Public struct

TVertexFactoryParameterTraits

Constants

Name

Description

FComputeShaderUtils::kGolden2DGroupSize

Ideal size of group size 8x8 to occupy at least an entire wave on GCN, two warp on Nvidia.

FComputeShaderUtils::WrappedGroupStride

Constant stride used when wrapping too large 1D dispatches using GetGroupCountWrapped, selected as 128 appears to be the lowest common denominator for mobile (GLES 3.1).

Typedefs

Name

Description

FMessageId

Enums

Name

Description

Public enum

CrossCompiler::

Cross compiler support/common functionality.

Public enum

CrossCompiler::EPackedTypeIndex

Cross compiler support/common functionality.

Public enum

CrossCompiler::EPackedTypeName

Make sure these enums match hlslcc EArray on Engine\Source\ThirdParty\hlslcc\hlslcc\src\hlslcc_lib\glsl_parser_extras.h.

Public enum

CrossCompiler::EShaderStage

Cross compiler support/common functionality.

Public enum

DynamicRenderScaling::EHeuristicModel

Model how the GPU costs of a budget scales with a ResolutionFraction.

Public enum

EShaderPrecisionModifier::Type

Functions

Name Description

Public function Static

bool

 

CrossCompiler::IsValidPackedTypeName

(
    EPackedTypeName TypeName
)

Public function Static

EPackedTypeN...

 

CrossCompiler::PackedTypeIndexToTypeName

(
    EPackedTypeIndex TypeIndex
)

Public function Static

uint8

 

CrossCompiler::PackedTypeIndexToTypeName

(
    uint8 ArrayType
)

Public function Static

uint8

 

CrossCompiler::PackedTypeNameToTypeIndex

(
    uint8 ArrayName
)

Public function Static

EPackedTypeI...

 

CrossCompiler::PackedTypeNameToTypeIndex

(
    EPackedTypeName TypeName
)

Public function Static

uint8

 

CrossCompiler::ShaderStageIndexToTypeName

(
    uint8 ShaderStage
)

Public function

constexpr fl...

 

DynamicRenderScaling::FractionToPercentage

(
    float Fraction
)

Public function

float

 

DynamicRenderScaling::GetPercentageCVarToFraction

(
    const TAutoConsoleVariable< float >...
)

Public function

constexpr fl...

 

DynamicRenderScaling::PercentageToFraction

(
    float Percentage
)

Public function

FRDGBufferRe...

 

FComputeShaderUtils::AddIndirectArgsSetupCsPass1D

(
    FRDGBuilder& GraphBuilder,
    ERHIFeatureLevel::Type FeatureLevel,
    FRDGBufferRef& InputCountBuffer,
    const TCHAR* OutputBufferName,
    uint32 Divisor,
    uint32 InputCountOffset,
    uint32 Multiplier
)

Create and set up an 1D indirect dispatch argument from some GPU-side integer in a buffer (InputCountBuffer).

Public function

FRDGPassRef

 

FComputeShaderUtils::AddPass

(
    FRDGBuilder& GraphBuilder,
    FRDGEventName&& PassName,
    ERDGPassFlags PassFlags,
    const TShaderRef< TShaderClass >& ...,
    typename TShaderClass::FParameters ...,
    FRDGBufferRef IndirectArgsBuffer,
    uint32 IndirectArgsOffset,
    FRDGDispatchLateParamCallback&& Di...
)

Dispatch a compute shader to render graph builder with its parameters.

Public function

FRDGPassRef

 

FComputeShaderUtils::AddPass

(
    FRDGBuilder& GraphBuilder,
    FRDGEventName&& PassName,
    const TShaderRef< TShaderClass >& ...,
    typename TShaderClass::FParameters ...,
    FRDGBufferRef IndirectArgsBuffer,
    uint32 IndirectArgsOffset,
    FRDGDispatchLateParamCallback&& Di...
)

Public function

FRDGPassRef

 

FComputeShaderUtils::AddPass

(
    FRDGBuilder& GraphBuilder,
    FRDGEventName&& PassName,
    ERDGPassFlags PassFlags,
    const TShaderRef< TShaderClass >& ...,
    const FShaderParametersMetadata...,
    typename TShaderClass::FParameters ...,
    FRDGDispatchGroupCountCallback&& G...
)

Dispatch a compute shader to render graph builder with its parameters.

Public function

FRDGPassRef

 

FComputeShaderUtils::AddPass

(
    FRDGBuilder& GraphBuilder,
    FRDGEventName&& PassName,
    ERDGPassFlags PassFlags,
    const TShaderRef< TShaderClass >& ...,
    const FShaderParametersMetadata...,
    typename TShaderClass::FParameters ...,
    FIntVector GroupCount
)

Dispatch a compute shader to render graph builder with its parameters.

Public function

FRDGPassRef

 

FComputeShaderUtils::AddPass

(
    FRDGBuilder& GraphBuilder,
    FRDGEventName&& PassName,
    ERDGPassFlags PassFlags,
    const TShaderRef< TShaderClass >& ...,
    typename TShaderClass::FParameters ...,
    FIntVector GroupCount
)

Public function

FRDGPassRef

 

FComputeShaderUtils::AddPass

(
    FRDGBuilder& GraphBuilder,
    FRDGEventName&& PassName,
    const TShaderRef< TShaderClass >& ...,
    typename TShaderClass::FParameters ...,
    FIntVector GroupCount
)

Public function

FRDGPassRef

 

FComputeShaderUtils::AddPass

(
    FRDGBuilder& GraphBuilder,
    FRDGEventName&& PassName,
    const TShaderRef< TShaderClass >& ...,
    typename TShaderClass::FParameters ...,
    FRDGDispatchGroupCountCallback&& G...
)

Public function

void

 

FComputeShaderUtils::ClearUAV

(
    FRDGBuilder& GraphBuilder,
    FGlobalShaderMap* ShaderMap,
    FRDGBufferUAVRef UAV,
    uint32 ClearValue
)

Public function

void

 

FComputeShaderUtils::ClearUAV

(
    FRDGBuilder& GraphBuilder,
    FGlobalShaderMap* ShaderMap,
    FRDGBufferUAVRef UAV,
    FVector4f ClearValue
)

Public function

void

 

FComputeShaderUtils::Dispatch

(
    FRHIComputeCommandList& RHICmdList,
    const TShaderRef< TShaderClass >& ...,
    const FShaderParametersMetadata...,
    const typename TShaderClass::FParam...,
    FIntVector GroupCount
)

Dispatch a compute shader to rhi command list with its parameters.

Public function

void

 

FComputeShaderUtils::Dispatch

(
    FRHIComputeCommandList& RHICmdList,
    const TShaderRef< TShaderClass >& ...,
    const typename TShaderClass::FParam...,
    FIntVector GroupCount
)

Public function

void

 

FComputeShaderUtils::DispatchIndirect

(
    FRHIComputeCommandList& RHICmdList,
    const TShaderRef< TShaderClass >& ...,
    const typename TShaderClass::FParam...,
    FRHIBuffer* IndirectArgsBuffer,
    uint32 IndirectArgOffset
)

Indirect dispatch a compute shader to rhi command list with its parameters.

Public function

void

 

FComputeShaderUtils::DispatchIndirect

(
    FRHIComputeCommandList& RHICmdList,
    const TShaderRef< TShaderClass >& ...,
    const typename TShaderClass::FParam...,
    FRDGBufferRef IndirectArgsBuffer,
    uint32 IndirectArgOffset
)

Dispatch a compute shader to rhi command list with its parameters and indirect args.

Public function

FIntVector

 

FComputeShaderUtils::GetGroupCount

(
    const FIntPoint& ThreadCount,
    const FIntPoint& GroupSize
)

Public function

FIntVector

 

FComputeShaderUtils::GetGroupCount

(
    const int32 ThreadCount,
    const int32 GroupSize
)

Compute the number of groups to dispatch.

Public function

FIntVector

 

FComputeShaderUtils::GetGroupCount

(
    const FIntPoint& ThreadCount,
    const int32 GroupSize
)

Public function

FIntVector

 

FComputeShaderUtils::GetGroupCount

(
    const FIntVector& ThreadCount,
    const int32 GroupSize
)

Public function

FIntVector

 

FComputeShaderUtils::GetGroupCount

(
    const FIntVector& ThreadCount,
    const FIntVector& GroupSize
)

Public function

FIntVector

 

FComputeShaderUtils::GetGroupCountWrapped

(
    const int32 TargetGroupCount
)

Wrapping number of groups to Y and Z dimension if X group count overflows GRHIMaxDispatchThreadGroupsPerDimension.

Public function

FIntVector

 

FComputeShaderUtils::GetGroupCountWrapped

(
    const int32 ThreadCount,
    const int32 GroupSize
)

Compute the number of groups to dispatch and allow wrapping to Y and Z dimension if X group count overflows.

Public function

void

 

FComputeShaderUtils::Private::AfterDispatch

(
    FRHIComputeCommandList& RHICmdList,
    const TShaderRef< TShaderClass >& ...
)

Public function

void

 

FComputeShaderUtils::Private::PrepareDispatch

(
    FRHIComputeCommandList& RHICmdList,
    const TShaderRef< TShaderClass >& ...,
    const typename TShaderClass::FParam...
)

Public function

void

 

FComputeShaderUtils::Private::PrepareDispatch

(
    FRHIComputeCommandList& RHICmdList,
    const TShaderRef< TShaderClass >& ...,
    const FShaderParametersMetadata...,
    const typename TShaderClass::FParam...
)

Public function

void

 

FComputeShaderUtils::ValidateGroupCount

(
    const FIntVector& GroupCount
)

Public function

void

 

FComputeShaderUtils::ValidateIndirectArgsBuffer

(
    const FRDGBufferRef IndirectArgsBuf...,
    uint32 IndirectArgOffset
)

Public function

void

 

FComputeShaderUtils::ValidateIndirectArgsBuffer

(
    uint32 IndirectArgsBufferSize,
    uint32 IndirectArgOffset
)

Public function

void

 

Freeze::IntrinsicToString

(
    const TIndexedPtr< FVertexFactoryTy...,
    const FTypeLayoutDesc& TypeDesc,
    const FPlatformTypeLayoutParameters...,
    FMemoryToStringContext& OutContext
)

Public function

void

 

Freeze::IntrinsicToString

(
    const TIndexedPtr< FShaderType >& ...,
    const FTypeLayoutDesc& TypeDesc,
    const FPlatformTypeLayoutParameters...,
    FMemoryToStringContext& OutContext
)

Public function

FSocket

 

GPUMessage::RegisterHandler

(
    const TCHAR* MessageDebugId,
    LambdaType&& Lambda
)

Registers a lambda function as a message handler.

Public function

bool

 

ShaderCodeArchive::CompressShaderWithOodle

(
    uint8* OutCompressedShader,
    int64& OutCompressedSize,
    const uint8* InUncompressedSha...,
    int64 InUncompressedSize,
    FOodleDataCompression::ECompressor ...,
    FOodleDataCompression::ECompression...
)

We decompression, group, and recompress shaders when they are added to iostore containers in UnrealPak, where we don't have access to cvars - so there's no way to configure - so we force Oodle and allow specification of the parameters here.

Public function

void

 

ShaderCodeArchive::DecompressShaderWithOodle

(
    uint8* OutDecompressedShader,
    int64 UncompressedSize,
    const uint8* CompressedShaderC...,
    int64 CompressedSize
)

Decompresses the shader into caller-provided memory.

Public function

void

 

UE::PipelineCacheUtilities::FindAllChunkInfos

(
    const FString& ShaderLibraryName,
    const FString& TargetPlatformName,
    const FString& PathToSearchIn,
    TArray< FString >& OutInfoFilename...
)

Finds all saved chunk info files for the given shaderlibrary and targetplatform.

Public function

bool

 

UE::PipelineCacheUtilities::LoadChunkInfo

(
    const FString& Filename,
    const FString& InShaderFormat,
    int32& OutChunkId,
    FString& OutChunkedCacheFilename,
    TSet< FName >& OutPackages
)

Loads description of assets in the chunk

Public function

bool

 

UE::PipelineCacheUtilities::LoadStableKeysFile

(
    const FStringView& Filename,
    TArray< FStableShaderKeyAndValue > ...
)

Loads stable shader keys file (using a proprietary format).

Public function

bool

 

UE::PipelineCacheUtilities::LoadStablePipelineCacheFile

(
    const FString& Filename,
    const TMultiMap< FStableShaderKeyAn...,
    TSet< FPipelineCacheFileFormatPSO >...,
    FName& OutTargetPlatform,
    int32& OutPSOsRejected,
    int32& OutPSOsMerged
)

Loads stable pipeline cache file.

Public function

bool

 

UE::PipelineCacheUtilities::SaveChunkInfo

(
    const FString& ShaderLibraryName,
    const int32 InChunkId,
    const TSet< FName >& InPackagesInC...,
    const ITargetPlatform* TargetP...,
    const FString& PathToSaveTo,
    TArray< FString >& OutChunkFilenam...
)

Saves description of assets in the chunk.

Public function

bool

 

UE::PipelineCacheUtilities::SaveStableKeysFile

(
    const FStringView& Filename,
    const TSet< FStableShaderKeyAndValu...
)

Saves stable shader keys file (using a proprietary format).

Public function

bool

 

UE::PipelineCacheUtilities::SaveStablePipelineCacheFile

(
    const FString& OutputFilename,
    const TArray< FPermsPerPSO >& Stab...,
    const TArray< FStableShaderKeyAndVa...
)

Saves stable pipeline cache file.

Public function

void

 

UE::RenderCore::Private::OnInvalidRDGAllocatorNum

(
    int32 NewNum,
    SIZE_T NumBytesPerElement
)

Public function

ERHIBindless...

 

UE::ShaderCompiler::GetBindlessResourcesConfiguration

(
    FName ShaderFormat
)

Public function

ERHIBindless...

 

UE::ShaderCompiler::GetBindlessSamplersConfiguration

(
    FName ShaderFormat
)

Public function

void

 

UE::ShaderParameters::AddUniformBufferIncludesToEnvironment

(
    FShaderCompilerEnvironment& OutEnv...,
    const TSet< const TCHAR*, TStr...
)

Public function

FString

 

UE::ShaderParameters::CreateUniformBufferShaderDeclaration

(
    const TCHAR* Name,
    const FShaderParametersMetadata& U...
)

Creates a shader code declaration of this struct for the given shader platform.

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