D3D12RHI

Choose your operating system:

Windows

macOS

Linux

Classes

Name

Description

Public class

CResourceState

CResourceState Tracking of per-resource or per-subresource state

Public class

D3D12FD3D12GPUFence

Public struct

FBinaryRootSignatureCreator

Public class

FD3D12BaseShaderResource

The base class of resources that may be bound as shader resources (texture or buffer).

Public class

FD3D12BlendState

Public struct

FD3D12BlockAllocatorPrivateData

Public class

FD3D12BoundRenderTargets

Class for retrieving render targets currently bound to the device context.

Public struct

FD3D12BuddyAllocatorPrivateData

Public class

FD3D12Buffer

Public class

FD3D12ConstantBuffer

A D3D constant buffer

Public class

FD3D12DeferredDeletionQueue

Public class

FD3D12DepthStencilState

Public class

FD3D12Heap

Public class

FD3D12LockedKey

Keeps track of Locks for D3D12 objects

Public struct

FD3D12LockedResource

Public class

FD3D12PendingResourceBarrier

Public struct

FD3D12PoolAllocatorPrivateData

Public struct

FD3D12QuantizedBoundShaderState

Public class

FD3D12RasterizerState

Public class

FD3D12RefCount

Public class

FD3D12Resource

Public class

FD3D12ResourceBarrierBatcher

Public struct

FD3D12ResourceDesc

Public class

FD3D12ResourceLocation

A very light-weight and cache friendly way of accessing a GPU resource.

Public class

FD3D12SamplerState

Public struct

FD3D12ScopeLock

Public struct

FD3D12ScopeNoLock

Public struct

FD3D12SegListAllocatorPrivateData

Public class

FD3D12ShaderResourceRenameListener

Resource which might needs to be notified about changes on dependent resources (Views, RTGeometryObject, Cached binding tables)

Public struct

FD3D12ShaderResourceTable

Public class

FD3D12StagingBuffer

Public class

FD3D12SyncPoint

Public class

FD3D12UniformBuffer

Uniform buffer resource class.

Public class

FD3D12Viewport

Public struct

FRootSignatureCreator

Simple base class to help write out a root signature (subclass to generate either to a binary struct or a #define)

Public struct

FShaderRegisterCounts

Public struct

FTextRootSignatureCreator

Root signature generator for DXC

Public struct

FThreadsafeQueue

The base class of threadsafe reference counted objects.

Public struct

ID3D12ResourceAllocator

Generic interface for every type D3D12 specific allocator.

Public struct

ShaderBytecodeHash

FD3D12ShaderBytecode Encapsulates D3D12 shader bytecode and creates a hash for the shader bytecode

Public struct

TD3D12ResourceTraits

Constants

Typedefs

Enums

Functions

Name Description

Public function

void

 

AddTransitionBarrier

(
    TArray< D3D12_RESOURCE_BARRIER, InA...,
    FD3D12Resource* pResource,
    D3D12_RESOURCE_STATES Before,
    D3D12_RESOURCE_STATES After,
    uint32 Subresource
)

Public function

void

 

AddTransitionBarrierWithUAVAccessOverrides

(
    TArray< D3D12_RESOURCE_BARRIER, InA...,
    FD3D12Resource* pResource,
    D3D12_RESOURCE_STATES Before,
    D3D12_RESOURCE_STATES After,
    uint32 Subresource
)

Public function

bool

 

AssertResourceState

(
    ID3D12CommandList* pCommandLis...,
    FD3D12Resource* pResource,
    const D3D12_RESOURCE_STATES& State,
    const CViewSubresourceSubset& Subr...
)

Public function

bool

 

AssertResourceState

(
    ID3D12CommandList* pCommandLis...,
    FD3D12Resource* pResource,
    const D3D12_RESOURCE_STATES& State,
    uint32 Subresource
)

Public function

bool

 

AssertResourceState

(
    ID3D12CommandList* pCommandLis...,
    FD3D12View< TView >* pView,
    const D3D12_RESOURCE_STATES& State
)

Public function

uint32

 

CalcSubresource

(
    uint32 MipSlice,
    uint32 ArraySlice,
    uint32 MipLevels
)

Calculate a subresource index for a texture

Public function

FString

 

ConvertToResourceStateString

(
    uint32 ResourceState
)

Public function

D3D12_PRIMIT...

 

D3D12PrimitiveTypeToTopologyType

(
    D3D_PRIMITIVE_TOPOLOGY PrimitiveTyp...
)

Public function

void

 

D3D12RHI::LogPageFaultData

(
    FD3D12Adapter* InAdapter,
    D3D12_GPU_VIRTUAL_ADDRESS InPageFau...
)

Checks if given GPU virtual address corresponds to any known resource allocations and logs results

Public function

void

 

D3D12ShaderUtils::CreateComputeRootSignature

(
    FRootSignatureCreator& Creator
)

Fat/Static Compute Root Signature.

Public function

void

 

D3D12ShaderUtils::CreateGfxRootSignature

(
    FRootSignatureCreator& Creator,
    bool bAllowMeshShaders
)

Fat/Static Gfx Root Signature.

Public function

FString

 

D3D12ShaderUtils::GenerateRootSignatureString

(
    EShaderFrequency InFrequency
)

Public function

const D3D12_...

 

D3D12ShaderUtils::GetStaticRayTracingRootSignatureDesc()

Public function

D3D12_RESOUR...

 

DetermineInitialResourceState

(
    D3D12_HEAP_TYPE HeapType,
    const D3D12_HEAP_PROPERTIES* p...
)

Public function

DXGI_FORMAT

 

FindDepthStencilParentDXGIFormat

(
    DXGI_FORMAT InFormat
)

Find the appropriate depth-stencil typeless DXGI format for the given format.

Public function Static

void

 

Get4KTileShape

(
    D3D12_TILE_SHAPE* pTileShape,
    DXGI_FORMAT DXGIFormat,
    EPixelFormat UEFormat,
    D3D12_RESOURCE_DIMENSION Dimension,
    uint32 SampleCount
)

Public function

uint32

 

GetD3D12CubeFace

(
    ECubeFace Face
)

Convert from ECubeFace to D3DCUBEMAP_FACES type

Public function

D3D12_RESOUR...

 

GetD3D12ResourceState

(
    ERHIAccess InRHIAccess,
    bool InIsAsyncCompute
)

Public function Static

uint32

 

GetHeightAlignment

(
    DXGI_FORMAT Format
)

Public function

uint32

 

GetMaxMSAAQuality

(
    uint32 SampleCount
)

Public function Static

uint8

 

GetPlaneCount

(
    DXGI_FORMAT Format
)

Public function Static

uint8

 

GetPlaneSliceFromViewFormat

(
    DXGI_FORMAT ResourceFormat,
    DXGI_FORMAT ViewFormat
)

Public function Static

uint64

 

GetTilesNeeded

(
    uint32 Width,
    uint32 Height,
    uint32 Depth,
    const D3D12_TILE_SHAPE& Shape
)

Public function Static

uint32

 

GetWidthAlignment

(
    DXGI_FORMAT Format
)

Public function Static

bool

 

IsBlockCompressFormat

(
    DXGI_FORMAT Format
)

Public function

bool

 

IsCPUAccessible

(
    D3D12_HEAP_TYPE HeapType,
    const D3D12_HEAP_PROPERTIES* p...
)

Public function

bool

 

IsCPUWritable

(
    D3D12_HEAP_TYPE HeapType,
    const D3D12_HEAP_PROPERTIES* p...
)

Public function Static

bool

 

IsDirectQueueExclusiveD3D12State

(
    D3D12_RESOURCE_STATES InState
)

Public function

bool

 

IsGPUOnly

(
    D3D12_HEAP_TYPE HeapType,
    const D3D12_HEAP_PROPERTIES* p...
)

Public function Static

bool

 

IsValidD3D12ResourceState

(
    D3D12_RESOURCE_STATES InState
)

Public function

void

 

LogExecuteCommandLists

(
    uint32 NumCommandLists,
    ID3D12CommandList*const* ...
)

Public function

void

 

LogResourceBarriers

(
    uint32 NumBarriers,
    D3D12_RESOURCE_BARRIER* pBarri...,
    ID3D12CommandList*const pComma...
)

Public function

void

 

QuantizeBoundShaderState

(
    const D3D12_RESOURCE_BINDING_TIER&...,
    const FD3D12ComputeShader*cons...,
    FD3D12QuantizedBoundShaderState& O...
)

Public function

void

 

QuantizeBoundShaderState

(
    const D3D12_RESOURCE_BINDING_TIER&...,
    const FD3D12BoundShaderState*c...,
    FD3D12QuantizedBoundShaderState& O...
)

Public function

void

 

SetName

(
    ID3D12Object*const Object,
    const TCHAR*const Name
)

Public function

void

 

SetName

(
    FD3D12Resource*const Resource,
    const TCHAR*const Name
)

Public function

void

 

StallRHIThreadAndForceFlush

(
    FD3D12Device* InDevice
)

Public function

D3D12_PRIMIT...

 

TranslatePrimitiveTopologyType

(
    EPrimitiveTopologyType TopologyType
)

Public function

D3D_PRIMITIV...

 

TranslatePrimitiveType

(
    EPrimitiveType PrimitiveType
)

Public function

void

 

UpdateBufferStats

(
    EBufferUsageFlags UsageFlags,
    int64 RequestedSize
)

Variables

Name Description

Public variable

constexpr D3D12...

 

BackBufferBarrierWriteTransitionTargets

Public variable

const D3D12_DES...

 

CBVDescriptorRangeFlags

Public variable

const int32

 

PackedShaderKey

Key used for determining whether shader code is packed or not.

Public variable

const int32

 

RayTracingPrecompiledPSOKey

Key indicating whether serialized ray tracing shader contains a DXIL library or a precompiled PSO.

Public variable

const D3D12_DES...

 

SamplerDescriptorRangeFlags

Public variable

const D3D12_DES...

 

SRVDescriptorRangeFlags

Assume descriptors are volatile because we don't initialize all the descriptors in a table, just the ones used by the current shaders.

Public variable

const D3D12_DES...

 

UAVDescriptorRangeFlags