UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FD3D12Adapter Class Reference

#include <D3D12Adapter.h>

+ Inheritance diagram for FD3D12Adapter:

Classes

struct  FAllocatedResourceResult
 
struct  FReleasedAllocationData
 
struct  FTrackedAllocationData
 

Public Member Functions

 FD3D12Adapter (FD3D12AdapterDesc &DescIn)
 
virtual ~FD3D12Adapter ()
 
void CleanupResources ()
 
void InitializeDevices ()
 
void InitializeExplicitDescriptorHeap ()
 
void InitializeRayTracing ()
 
FORCEINLINE const uint32 GetAdapterIndex () const
 
FORCEINLINE const D3D_FEATURE_LEVEL GetFeatureLevel () const
 
FORCEINLINE D3D_SHADER_MODEL GetHighestShaderModel () const
 
FORCEINLINE ID3D12DeviceGetD3DDevice () const
 
FORCEINLINE IDXGIFactory2GetDXGIFactory2 () const
 
FORCEINLINE const bool IsDebugDevice () const
 
FORCEINLINE const D3D12_RESOURCE_HEAP_TIER GetResourceHeapTier () const
 
FORCEINLINE const D3D12_RESOURCE_BINDING_TIER GetResourceBindingTier () const
 
FORCEINLINE const D3D_ROOT_SIGNATURE_VERSION GetRootSignatureVersion () const
 
FORCEINLINE const bool IsDepthBoundsTestSupported () const
 
FORCEINLINE const bool IsHeapNotZeroedSupported () const
 
FORCEINLINE const bool AreCopyQueueTimestampQueriesSupported () const
 
FORCEINLINE const DXGI_ADAPTER_DESCGetD3DAdapterDesc () const
 
FORCEINLINE IDXGIAdapterGetAdapter ()
 
FORCEINLINE const FD3D12AdapterDescGetDesc () const
 
FORCEINLINE TArray< FD3D12Viewport * > & GetViewports ()
 
FORCEINLINE int32 GetMaxDescriptorsForHeapType (ERHIDescriptorHeapType InHeapType)
 
FORCEINLINE ID3D12CommandSignatureGetDrawIndirectCommandSignature ()
 
FORCEINLINE ID3D12CommandSignatureGetDrawIndexedIndirectCommandSignature ()
 
FORCEINLINE ID3D12CommandSignatureGetDispatchIndirectGraphicsCommandSignature ()
 
FORCEINLINE ID3D12CommandSignatureGetDispatchIndirectComputeCommandSignature ()
 
FORCEINLINE ID3D12CommandSignatureGetDispatchRaysIndirectCommandSignature ()
 
FORCEINLINE FD3D12PipelineStateCacheGetPSOCache ()
 
const FD3D12RootSignatureGetRootSignature (const FBoundShaderStateInput &BoundShaderState)
 
const FD3D12RootSignatureGetRootSignature (const class FD3D12ComputeShader *Shader)
 
const FD3D12RootSignatureGetRootSignature (ERHIShaderBundleMode ShaderBundleMode, bool bBindless)
 
const FD3D12RootSignatureGetRootSignature (const class FD3D12WorkGraphShader *Shader)
 
const FD3D12RootSignatureGetGlobalWorkGraphRootSignature (const FRHIShaderBindingLayout &ShaderBindingLayout)
 
const FD3D12RootSignatureGetWorkGraphGraphicsRootSignature (const FBoundShaderStateInput &BoundShaderState)
 
const FD3D12RootSignatureGetLocalRootSignature (const class FD3D12RayTracingShader *Shader)
 
const FD3D12RootSignatureGetGlobalRayTracingRootSignature (const FRHIShaderBindingLayout &ShaderBindingLayout)
 
FORCEINLINE FD3D12RootSignatureManagerGetRootSignatureManager ()
 
FORCEINLINE FD3D12ManualFenceGetFrameFence ()
 
FORCEINLINE FD3D12DeviceGetDevice (uint32 GPUIndex) const
 
TConstArrayView< FD3D12Device * > GetDevices () const
 
FORCEINLINE uint32 GetVRSTileSize () const
 
void CreateDXGIFactory (bool bWithDebug)
 
void InitDXGIFactoryVariants (IDXGIFactory2 *InDxgiFactory2)
 
HRESULT EnumAdapters (IDXGIAdapter **TempAdapter) const
 
FORCEINLINE FD3D12UploadHeapAllocatorGetUploadHeapAllocator (uint32 GPUIndex)
 
FORCEINLINE uint32 GetDebugFlags () const
 
void EndFrame ()
 
HRESULT CreateCommittedResource (const FD3D12ResourceDesc &InDesc, FRHIGPUMask CreationNode, const D3D12_HEAP_PROPERTIES &HeapProps, ED3D12Access InInitialD3D12Access, const D3D12_CLEAR_VALUE *ClearValue, FD3D12Resource **ppOutResource, const TCHAR *Name, bool bVerifyHResult=true)
 
HRESULT CreateCommittedResource (const FD3D12ResourceDesc &Desc, FRHIGPUMask CreationNode, const D3D12_HEAP_PROPERTIES &HeapProps, ED3D12Access InInitialD3D12Access, ED3D12ResourceStateMode InResourceStateMode, ED3D12Access InDefaultD3D12Access, const D3D12_CLEAR_VALUE *ClearValue, FD3D12Resource **ppOutResource, const TCHAR *Name, bool bVerifyHResult=true)
 
HRESULT CreateCommittedResourceRaw (const D3D12_HEAP_PROPERTIES &InHeapProps, D3D12_HEAP_FLAGS InHeapFlags, const FD3D12ResourceDesc &InDesc, ED3D12Access InInitialD3D12Access, const D3D12_CLEAR_VALUE *InClearValue, TRefCountPtr< ID3D12Resource > &OutResource)
 
HRESULT CreatePlacedResource (const FD3D12ResourceDesc &InDesc, FD3D12Heap *BackingHeap, uint64 HeapOffset, ED3D12Access InInitialD3D12Access, const D3D12_CLEAR_VALUE *ClearValue, FD3D12Resource **ppOutResource, const TCHAR *Name, bool bVerifyHResult=true)
 
HRESULT CreatePlacedResource (const FD3D12ResourceDesc &Desc, FD3D12Heap *BackingHeap, uint64 HeapOffset, ED3D12Access InInitialD3D12Access, ED3D12ResourceStateMode InResourceStateMode, ED3D12Access InDefaultD3D12Access, const D3D12_CLEAR_VALUE *ClearValue, FD3D12Resource **ppOutResource, const TCHAR *Name, bool bVerifyHResult=true)
 
HRESULT CreateReservedResource (const FD3D12ResourceDesc &Desc, FRHIGPUMask CreationNode, ED3D12Access InInitialD3D12Access, ED3D12ResourceStateMode InResourceStateMode, ED3D12Access InDefaultD3D12Access, const D3D12_CLEAR_VALUE *ClearValue, FD3D12Resource **ppOutResource, const TCHAR *Name, bool bVerifyHResult=true)
 
HRESULT CreateBuffer (D3D12_HEAP_TYPE HeapType, FRHIGPUMask CreationNode, FRHIGPUMask VisibleNodes, uint64 HeapSize, FD3D12Resource **ppOutResource, const TCHAR *Name, D3D12_RESOURCE_FLAGS Flags=D3D12_RESOURCE_FLAG_NONE)
 
HRESULT CreateBuffer (D3D12_HEAP_TYPE HeapType, FRHIGPUMask CreationNode, FRHIGPUMask VisibleNodes, ED3D12Access InInitialD3D12Access, ED3D12ResourceStateMode InResourceStateMode, ED3D12Access InDefaultD3D12Access, uint64 HeapSize, FD3D12Resource **ppOutResource, const TCHAR *Name, D3D12_RESOURCE_FLAGS Flags=D3D12_RESOURCE_FLAG_NONE)
 
HRESULT CreateBuffer (const D3D12_HEAP_PROPERTIES &HeapProps, FRHIGPUMask CreationNode, ED3D12Access InInitialD3D12Access, ED3D12ResourceStateMode InResourceStateMode, ED3D12Access InDefaultD3D12Access, uint64 HeapSize, FD3D12Resource **ppOutResource, const TCHAR *Name, D3D12_RESOURCE_FLAGS Flags=D3D12_RESOURCE_FLAG_NONE)
 
FD3D12BufferCreateRHIBuffer (const D3D12_RESOURCE_DESC &Desc, uint32 Alignment, const FRHIBufferCreateDesc &CreateDesc, ED3D12ResourceStateMode InResourceStateMode, ED3D12Access InCreateD3D12Access, bool bKeepUnlocked=false, ID3D12ResourceAllocator *ResourceAllocator=nullptr)
 
void CreateUAVAliasResourceDesc (const FD3D12ResourceLocation &Location)
 
template<typename ObjectType , typename CreationCoreFunction >
ObjectType * CreateLinkedObject (FRHIGPUMask GPUMask, const CreationCoreFunction &pfnCreationCore)
 
FD3D12CommandContextRedirectorGetDefaultContextRedirector ()
 
FD3D12TransientHeapCacheGetOrCreateTransientHeapCache ()
 
FD3D12FastConstantAllocatorGetTransientUniformBufferAllocator ()
 
void ReleaseTransientUniformBufferAllocator (FTransientUniformBufferAllocator *InAllocator)
 
void BlockUntilIdle ()
 
const FD3DMemoryStatsCollectMemoryStats ()
 
FORCEINLINE const FD3DMemoryStatsGetMemoryStats () const
 
FORCEINLINE uint64 GetMemoryStatsUpdateFrame () const
 
bool IsTrackingAllAllocations () const
 
void TrackAllocationData (FD3D12ResourceLocation *InAllocation, uint64 InAllocationSize, bool bCollectCallstack)
 
void ReleaseTrackedAllocationData (FD3D12ResourceLocation *InAllocation, bool bDefragFree)
 
void TrackHeapAllocation (FD3D12Heap *InHeap)
 
void ReleaseTrackedHeap (FD3D12Heap *InHeap)
 
void DumpTrackedAllocationData (FOutputDevice &OutputDevice, bool bResidentOnly, bool bWithCallstack)
 
void FindResourcesNearGPUAddress (D3D12_GPU_VIRTUAL_ADDRESS InGPUVirtualAddress, uint64 InRange, TArray< FAllocatedResourceResult > &OutResources)
 
void FindHeapsContainingGPUAddress (D3D12_GPU_VIRTUAL_ADDRESS InGPUVirtualAddress, TArray< FD3D12Heap * > &OutHeaps)
 
void FindReleasedAllocationData (D3D12_GPU_VIRTUAL_ADDRESS InGPUVirtualAddress, TArray< FReleasedAllocationData > &OutAllocationData)
 
void SetResidencyPriority (ID3D12Pageable *Pageable, D3D12_RESIDENCY_PRIORITY HeapPriority, uint32 GPUIndex)
 
void CreateTransition (FRHITransition *Transition, const FRHITransitionCreateInfo &CreateInfo)
 
void ReleaseTransition (FRHITransition *Transition)
 

Static Public Member Functions

static void CreateDXGIFactory (TRefCountPtr< IDXGIFactory2 > &DxgiFactory2, bool bWithDebug, HMODULE DxgiDllHandle)
 
static TUniquePtr< FD3D12BarriersFactory::BarriersForContextTypeCreateBarriersForContext ()
 

Protected Member Functions

virtual void CreateRootDevice (bool bWithDebug)
 
void CreateD3DInfoQueue ()
 
virtual void AllocateBuffer (FD3D12Device *Device, const D3D12_RESOURCE_DESC &Desc, uint32 Size, EBufferUsageFlags InUsage, ED3D12ResourceStateMode InResourceStateMode, ED3D12Access InCreatED3D12Access, uint32 Alignment, FD3D12Buffer *Buffer, FD3D12ResourceLocation &ResourceLocation, ID3D12ResourceAllocator *ResourceAllocator, const TCHAR *InDebugName, const FName &OwnerName)
 
virtual void CreateCommandSignatures ()
 
- Protected Member Functions inherited from FNoncopyable
 FNoncopyable ()
 
 ~FNoncopyable ()
 

Protected Attributes

TRefCountPtr< ID3D12DeviceRootDevice
 
TRefCountPtr< IDXGIFactory2DxgiFactory2
 
D3D_ROOT_SIGNATURE_VERSION RootSignatureVersion
 
bool bDepthBoundsTestSupported = false
 
bool bCopyQueueTimestampQueriesSupported = false
 
bool bHeapNotZeroedSupported = false
 
int32 MaxNonSamplerDescriptors = 0
 
int32 MaxSamplerDescriptors = 0
 
uint32 VRSTileSize = 0
 
bool bDebugDevice = false
 
FD3D12AdapterDesc Desc
 
TRefCountPtr< IDXGIAdapterDxgiAdapter
 
FD3D12RootSignatureManager RootSignatureManager
 
FD3D12PipelineStateCache PipelineStateCache
 
TRefCountPtr< ID3D12CommandSignatureDrawIndirectCommandSignature
 
TRefCountPtr< ID3D12CommandSignatureDrawIndexedIndirectCommandSignature
 
TRefCountPtr< ID3D12CommandSignatureDispatchIndirectGraphicsCommandSignature
 
TRefCountPtr< ID3D12CommandSignatureDispatchIndirectComputeCommandSignature
 
TRefCountPtr< ID3D12CommandSignatureDispatchRaysIndirectCommandSignature
 
FD3D12UploadHeapAllocatorUploadHeapAllocator [MAX_NUM_GPUS]
 
TArray< FD3D12Viewport * > Viewports
 
TUniquePtr< FD3D12ManualFenceFrameFence
 
FD3D12CommandContextRedirector DefaultContextRedirector
 
bool bTrackAllAllocation = false
 
TMap< FD3D12ResourceLocation *, FTrackedAllocationDataTrackedAllocationData
 
TArray< FD3D12Heap * > TrackedHeaps
 
TArray< FReleasedAllocationDataReleasedAllocationData
 
FCriticalSection TrackedAllocationDataCS
 
FD3DMemoryStats MemoryStats
 
uint64 MemoryStatsUpdateFrame
 
TArray< FTransientUniformBufferAllocator * > TransientUniformBufferAllocators
 
FCriticalSection TransientUniformBufferAllocatorsCS
 
TUniquePtr< IRHITransientMemoryCacheTransientMemoryCache
 
TStaticArray< FD3D12Device *, MAX_NUM_GPUSDevices
 
uint32 DebugFlags = 0
 

Static Protected Attributes

static ED3D12BarrierImplementationType PreferredBarrierImplType = ED3D12BarrierImplementationType::Invalid
 
static TUniquePtr< const FD3D12BarriersFactory::BarriersForAdapterTypeBarriers = nullptr
 

Constructor & Destructor Documentation

◆ FD3D12Adapter()

FD3D12Adapter::FD3D12Adapter ( FD3D12AdapterDesc DescIn)

◆ ~FD3D12Adapter()

FD3D12Adapter::~FD3D12Adapter ( )
virtual

Member Function Documentation

◆ AllocateBuffer()

void FD3D12Adapter::AllocateBuffer ( FD3D12Device Device,
const D3D12_RESOURCE_DESC &  Desc,
uint32  Size,
EBufferUsageFlags  InUsage,
ED3D12ResourceStateMode  InResourceStateMode,
ED3D12Access  InCreatED3D12Access,
uint32  Alignment,
FD3D12Buffer Buffer,
FD3D12ResourceLocation ResourceLocation,
ID3D12ResourceAllocator ResourceAllocator,
const TCHAR InDebugName,
const FName OwnerName 
)
protectedvirtual

◆ AreCopyQueueTimestampQueriesSupported()

FORCEINLINE const bool FD3D12Adapter::AreCopyQueueTimestampQueriesSupported ( ) const
inline

◆ BlockUntilIdle()

void FD3D12Adapter::BlockUntilIdle ( )

◆ CleanupResources()

void FD3D12Adapter::CleanupResources ( )

◆ CollectMemoryStats()

const FD3DMemoryStats & FD3D12Adapter::CollectMemoryStats ( )

◆ CreateBarriersForContext()

TUniquePtr< FD3D12BarriersFactory::BarriersForContextType > FD3D12Adapter::CreateBarriersForContext ( )
static

◆ CreateBuffer() [1/3]

HRESULT FD3D12Adapter::CreateBuffer ( const D3D12_HEAP_PROPERTIES HeapProps,
FRHIGPUMask  CreationNode,
ED3D12Access  InInitialD3D12Access,
ED3D12ResourceStateMode  InResourceStateMode,
ED3D12Access  InDefaultD3D12Access,
uint64  HeapSize,
FD3D12Resource **  ppOutResource,
const TCHAR Name,
D3D12_RESOURCE_FLAGS  Flags = D3D12_RESOURCE_FLAG_NONE 
)

◆ CreateBuffer() [2/3]

HRESULT FD3D12Adapter::CreateBuffer ( D3D12_HEAP_TYPE  HeapType,
FRHIGPUMask  CreationNode,
FRHIGPUMask  VisibleNodes,
ED3D12Access  InInitialD3D12Access,
ED3D12ResourceStateMode  InResourceStateMode,
ED3D12Access  InDefaultD3D12Access,
uint64  HeapSize,
FD3D12Resource **  ppOutResource,
const TCHAR Name,
D3D12_RESOURCE_FLAGS  Flags = D3D12_RESOURCE_FLAG_NONE 
)

◆ CreateBuffer() [3/3]

HRESULT FD3D12Adapter::CreateBuffer ( D3D12_HEAP_TYPE  HeapType,
FRHIGPUMask  CreationNode,
FRHIGPUMask  VisibleNodes,
uint64  HeapSize,
FD3D12Resource **  ppOutResource,
const TCHAR Name,
D3D12_RESOURCE_FLAGS  Flags = D3D12_RESOURCE_FLAG_NONE 
)

◆ CreateCommandSignatures()

void FD3D12Adapter::CreateCommandSignatures ( )
protectedvirtual

Reimplemented in FWindowsD3D12Adapter.

◆ CreateCommittedResource() [1/2]

HRESULT FD3D12Adapter::CreateCommittedResource ( const FD3D12ResourceDesc Desc,
FRHIGPUMask  CreationNode,
const D3D12_HEAP_PROPERTIES HeapProps,
ED3D12Access  InInitialD3D12Access,
ED3D12ResourceStateMode  InResourceStateMode,
ED3D12Access  InDefaultD3D12Access,
const D3D12_CLEAR_VALUE ClearValue,
FD3D12Resource **  ppOutResource,
const TCHAR Name,
bool  bVerifyHResult = true 
)

◆ CreateCommittedResource() [2/2]

HRESULT FD3D12Adapter::CreateCommittedResource ( const FD3D12ResourceDesc InDesc,
FRHIGPUMask  CreationNode,
const D3D12_HEAP_PROPERTIES HeapProps,
ED3D12Access  InInitialD3D12Access,
const D3D12_CLEAR_VALUE ClearValue,
FD3D12Resource **  ppOutResource,
const TCHAR Name,
bool  bVerifyHResult = true 
)
inline

◆ CreateCommittedResourceRaw()

HRESULT FD3D12Adapter::CreateCommittedResourceRaw ( const D3D12_HEAP_PROPERTIES InHeapProps,
D3D12_HEAP_FLAGS  InHeapFlags,
const FD3D12ResourceDesc InDesc,
ED3D12Access  InInitialD3D12Access,
const D3D12_CLEAR_VALUE InClearValue,
TRefCountPtr< ID3D12Resource > &  OutResource 
)
inline

◆ CreateD3DInfoQueue()

void FD3D12Adapter::CreateD3DInfoQueue ( )
protected

◆ CreateDXGIFactory() [1/2]

void FD3D12Adapter::CreateDXGIFactory ( bool  bWithDebug)

◆ CreateDXGIFactory() [2/2]

void FD3D12Adapter::CreateDXGIFactory ( TRefCountPtr< IDXGIFactory2 > &  DxgiFactory2,
bool  bWithDebug,
HMODULE  DxgiDllHandle 
)
static

◆ CreateLinkedObject()

template<typename ObjectType , typename CreationCoreFunction >
ObjectType * FD3D12Adapter::CreateLinkedObject ( FRHIGPUMask  GPUMask,
const CreationCoreFunction pfnCreationCore 
)
inline

◆ CreatePlacedResource() [1/2]

HRESULT FD3D12Adapter::CreatePlacedResource ( const FD3D12ResourceDesc Desc,
FD3D12Heap BackingHeap,
uint64  HeapOffset,
ED3D12Access  InInitialD3D12Access,
ED3D12ResourceStateMode  InResourceStateMode,
ED3D12Access  InDefaultD3D12Access,
const D3D12_CLEAR_VALUE ClearValue,
FD3D12Resource **  ppOutResource,
const TCHAR Name,
bool  bVerifyHResult = true 
)

◆ CreatePlacedResource() [2/2]

HRESULT FD3D12Adapter::CreatePlacedResource ( const FD3D12ResourceDesc InDesc,
FD3D12Heap BackingHeap,
uint64  HeapOffset,
ED3D12Access  InInitialD3D12Access,
const D3D12_CLEAR_VALUE ClearValue,
FD3D12Resource **  ppOutResource,
const TCHAR Name,
bool  bVerifyHResult = true 
)
inline

◆ CreateReservedResource()

HRESULT FD3D12Adapter::CreateReservedResource ( const FD3D12ResourceDesc Desc,
FRHIGPUMask  CreationNode,
ED3D12Access  InInitialD3D12Access,
ED3D12ResourceStateMode  InResourceStateMode,
ED3D12Access  InDefaultD3D12Access,
const D3D12_CLEAR_VALUE ClearValue,
FD3D12Resource **  ppOutResource,
const TCHAR Name,
bool  bVerifyHResult = true 
)

◆ CreateRHIBuffer()

FD3D12Buffer * FD3D12Adapter::CreateRHIBuffer ( const D3D12_RESOURCE_DESC &  Desc,
uint32  Alignment,
const FRHIBufferCreateDesc CreateDesc,
ED3D12ResourceStateMode  InResourceStateMode,
ED3D12Access  InCreateD3D12Access,
bool  bKeepUnlocked = false,
ID3D12ResourceAllocator ResourceAllocator = nullptr 
)

◆ CreateRootDevice()

void FD3D12Adapter::CreateRootDevice ( bool  bWithDebug)
protectedvirtual

◆ CreateTransition()

void FD3D12Adapter::CreateTransition ( FRHITransition Transition,
const FRHITransitionCreateInfo CreateInfo 
)

◆ CreateUAVAliasResourceDesc()

void FD3D12Adapter::CreateUAVAliasResourceDesc ( const FD3D12ResourceLocation Location)

◆ DumpTrackedAllocationData()

void FD3D12Adapter::DumpTrackedAllocationData ( FOutputDevice OutputDevice,
bool  bResidentOnly,
bool  bWithCallstack 
)

◆ EndFrame()

void FD3D12Adapter::EndFrame ( )

◆ EnumAdapters()

HRESULT FD3D12Adapter::EnumAdapters ( IDXGIAdapter **  TempAdapter) const

◆ FindHeapsContainingGPUAddress()

void FD3D12Adapter::FindHeapsContainingGPUAddress ( D3D12_GPU_VIRTUAL_ADDRESS  InGPUVirtualAddress,
TArray< FD3D12Heap * > &  OutHeaps 
)

◆ FindReleasedAllocationData()

void FD3D12Adapter::FindReleasedAllocationData ( D3D12_GPU_VIRTUAL_ADDRESS  InGPUVirtualAddress,
TArray< FReleasedAllocationData > &  OutAllocationData 
)

◆ FindResourcesNearGPUAddress()

void FD3D12Adapter::FindResourcesNearGPUAddress ( D3D12_GPU_VIRTUAL_ADDRESS  InGPUVirtualAddress,
uint64  InRange,
TArray< FAllocatedResourceResult > &  OutResources 
)

◆ GetAdapter()

FORCEINLINE IDXGIAdapter * FD3D12Adapter::GetAdapter ( )
inline

◆ GetAdapterIndex()

FORCEINLINE const uint32 FD3D12Adapter::GetAdapterIndex ( ) const
inline

◆ GetD3DAdapterDesc()

FORCEINLINE const DXGI_ADAPTER_DESC & FD3D12Adapter::GetD3DAdapterDesc ( ) const
inline

◆ GetD3DDevice()

FORCEINLINE ID3D12Device * FD3D12Adapter::GetD3DDevice ( ) const
inline

◆ GetDebugFlags()

FORCEINLINE uint32 FD3D12Adapter::GetDebugFlags ( ) const
inline

◆ GetDefaultContextRedirector()

FD3D12CommandContextRedirector & FD3D12Adapter::GetDefaultContextRedirector ( )
inline

◆ GetDesc()

FORCEINLINE const FD3D12AdapterDesc & FD3D12Adapter::GetDesc ( ) const
inline

◆ GetDevice()

FORCEINLINE FD3D12Device * FD3D12Adapter::GetDevice ( uint32  GPUIndex) const
inline

◆ GetDevices()

TConstArrayView< FD3D12Device * > FD3D12Adapter::GetDevices ( ) const
inline

◆ GetDispatchIndirectComputeCommandSignature()

FORCEINLINE ID3D12CommandSignature * FD3D12Adapter::GetDispatchIndirectComputeCommandSignature ( )
inline

◆ GetDispatchIndirectGraphicsCommandSignature()

FORCEINLINE ID3D12CommandSignature * FD3D12Adapter::GetDispatchIndirectGraphicsCommandSignature ( )
inline

◆ GetDispatchRaysIndirectCommandSignature()

FORCEINLINE ID3D12CommandSignature * FD3D12Adapter::GetDispatchRaysIndirectCommandSignature ( )
inline

◆ GetDrawIndexedIndirectCommandSignature()

FORCEINLINE ID3D12CommandSignature * FD3D12Adapter::GetDrawIndexedIndirectCommandSignature ( )
inline

◆ GetDrawIndirectCommandSignature()

FORCEINLINE ID3D12CommandSignature * FD3D12Adapter::GetDrawIndirectCommandSignature ( )
inline

◆ GetDXGIFactory2()

FORCEINLINE IDXGIFactory2 * FD3D12Adapter::GetDXGIFactory2 ( ) const
inline

◆ GetFeatureLevel()

FORCEINLINE const D3D_FEATURE_LEVEL FD3D12Adapter::GetFeatureLevel ( ) const
inline

◆ GetFrameFence()

FORCEINLINE FD3D12ManualFence & FD3D12Adapter::GetFrameFence ( )
inline

◆ GetGlobalRayTracingRootSignature()

const FD3D12RootSignature * FD3D12Adapter::GetGlobalRayTracingRootSignature ( const FRHIShaderBindingLayout ShaderBindingLayout)

◆ GetGlobalWorkGraphRootSignature()

const FD3D12RootSignature * FD3D12Adapter::GetGlobalWorkGraphRootSignature ( const FRHIShaderBindingLayout ShaderBindingLayout)

◆ GetHighestShaderModel()

FORCEINLINE D3D_SHADER_MODEL FD3D12Adapter::GetHighestShaderModel ( ) const
inline

◆ GetLocalRootSignature()

const FD3D12RootSignature * FD3D12Adapter::GetLocalRootSignature ( const class FD3D12RayTracingShader Shader)

◆ GetMaxDescriptorsForHeapType()

FORCEINLINE int32 FD3D12Adapter::GetMaxDescriptorsForHeapType ( ERHIDescriptorHeapType  InHeapType)
inline

◆ GetMemoryStats()

FORCEINLINE const FD3DMemoryStats & FD3D12Adapter::GetMemoryStats ( ) const
inline

◆ GetMemoryStatsUpdateFrame()

FORCEINLINE uint64 FD3D12Adapter::GetMemoryStatsUpdateFrame ( ) const
inline

◆ GetOrCreateTransientHeapCache()

FD3D12TransientHeapCache & FD3D12Adapter::GetOrCreateTransientHeapCache ( )

◆ GetPSOCache()

FORCEINLINE FD3D12PipelineStateCache & FD3D12Adapter::GetPSOCache ( )
inline

◆ GetResourceBindingTier()

FORCEINLINE const D3D12_RESOURCE_BINDING_TIER FD3D12Adapter::GetResourceBindingTier ( ) const
inline

◆ GetResourceHeapTier()

FORCEINLINE const D3D12_RESOURCE_HEAP_TIER FD3D12Adapter::GetResourceHeapTier ( ) const
inline

◆ GetRootSignature() [1/4]

const FD3D12RootSignature * FD3D12Adapter::GetRootSignature ( const class FD3D12ComputeShader Shader)

◆ GetRootSignature() [2/4]

const FD3D12RootSignature * FD3D12Adapter::GetRootSignature ( const class FD3D12WorkGraphShader Shader)

◆ GetRootSignature() [3/4]

const FD3D12RootSignature * FD3D12Adapter::GetRootSignature ( const FBoundShaderStateInput BoundShaderState)

USE_STATIC_ROOT_SIGNATURE

USE_STATIC_ROOT_SIGNATURE

◆ GetRootSignature() [4/4]

const FD3D12RootSignature * FD3D12Adapter::GetRootSignature ( ERHIShaderBundleMode  ShaderBundleMode,
bool  bBindless 
)

◆ GetRootSignatureManager()

FORCEINLINE FD3D12RootSignatureManager * FD3D12Adapter::GetRootSignatureManager ( )
inline

◆ GetRootSignatureVersion()

FORCEINLINE const D3D_ROOT_SIGNATURE_VERSION FD3D12Adapter::GetRootSignatureVersion ( ) const
inline

◆ GetTransientUniformBufferAllocator()

FD3D12FastConstantAllocator & FD3D12Adapter::GetTransientUniformBufferAllocator ( )

◆ GetUploadHeapAllocator()

FORCEINLINE FD3D12UploadHeapAllocator & FD3D12Adapter::GetUploadHeapAllocator ( uint32  GPUIndex)
inline

◆ GetViewports()

FORCEINLINE TArray< FD3D12Viewport * > & FD3D12Adapter::GetViewports ( )
inline

◆ GetVRSTileSize()

FORCEINLINE uint32 FD3D12Adapter::GetVRSTileSize ( ) const
inline

◆ GetWorkGraphGraphicsRootSignature()

const FD3D12RootSignature * FD3D12Adapter::GetWorkGraphGraphicsRootSignature ( const FBoundShaderStateInput BoundShaderState)

◆ InitDXGIFactoryVariants()

void FD3D12Adapter::InitDXGIFactoryVariants ( IDXGIFactory2 InDxgiFactory2)

◆ InitializeDevices()

void FD3D12Adapter::InitializeDevices ( )

!D3D12Caps3.CopyQueueTimestampQueriesSupported;

◆ InitializeExplicitDescriptorHeap()

void FD3D12Adapter::InitializeExplicitDescriptorHeap ( )

◆ InitializeRayTracing()

void FD3D12Adapter::InitializeRayTracing ( )

◆ IsDebugDevice()

FORCEINLINE const bool FD3D12Adapter::IsDebugDevice ( ) const
inline

◆ IsDepthBoundsTestSupported()

FORCEINLINE const bool FD3D12Adapter::IsDepthBoundsTestSupported ( ) const
inline

◆ IsHeapNotZeroedSupported()

FORCEINLINE const bool FD3D12Adapter::IsHeapNotZeroedSupported ( ) const
inline

◆ IsTrackingAllAllocations()

bool FD3D12Adapter::IsTrackingAllAllocations ( ) const
inline

◆ ReleaseTrackedAllocationData()

void FD3D12Adapter::ReleaseTrackedAllocationData ( FD3D12ResourceLocation InAllocation,
bool  bDefragFree 
)

◆ ReleaseTrackedHeap()

void FD3D12Adapter::ReleaseTrackedHeap ( FD3D12Heap InHeap)

◆ ReleaseTransientUniformBufferAllocator()

void FD3D12Adapter::ReleaseTransientUniformBufferAllocator ( FTransientUniformBufferAllocator InAllocator)

◆ ReleaseTransition()

void FD3D12Adapter::ReleaseTransition ( FRHITransition Transition)

◆ SetResidencyPriority()

void FD3D12Adapter::SetResidencyPriority ( ID3D12Pageable Pageable,
D3D12_RESIDENCY_PRIORITY  HeapPriority,
uint32  GPUIndex 
)

◆ TrackAllocationData()

void FD3D12Adapter::TrackAllocationData ( FD3D12ResourceLocation InAllocation,
uint64  InAllocationSize,
bool  bCollectCallstack 
)

◆ TrackHeapAllocation()

void FD3D12Adapter::TrackHeapAllocation ( FD3D12Heap InHeap)

Member Data Documentation

◆ Barriers

TUniquePtr< const FD3D12BarriersFactory::BarriersForAdapterType > FD3D12Adapter::Barriers = nullptr
staticprotected

◆ bCopyQueueTimestampQueriesSupported

bool FD3D12Adapter::bCopyQueueTimestampQueriesSupported = false
protected

◆ bDebugDevice

bool FD3D12Adapter::bDebugDevice = false
protected

Running with debug device

◆ bDepthBoundsTestSupported

bool FD3D12Adapter::bDepthBoundsTestSupported = false
protected

◆ bHeapNotZeroedSupported

bool FD3D12Adapter::bHeapNotZeroedSupported = false
protected

◆ bTrackAllAllocation

bool FD3D12Adapter::bTrackAllAllocation = false
protected

◆ DebugFlags

uint32 FD3D12Adapter::DebugFlags = 0
protected

◆ DefaultContextRedirector

FD3D12CommandContextRedirector FD3D12Adapter::DefaultContextRedirector
protected

◆ Desc

FD3D12AdapterDesc FD3D12Adapter::Desc
protected

◆ Devices

TStaticArray<FD3D12Device*, MAX_NUM_GPUS> FD3D12Adapter::Devices
protected

◆ DispatchIndirectComputeCommandSignature

TRefCountPtr<ID3D12CommandSignature> FD3D12Adapter::DispatchIndirectComputeCommandSignature
protected

◆ DispatchIndirectGraphicsCommandSignature

TRefCountPtr<ID3D12CommandSignature> FD3D12Adapter::DispatchIndirectGraphicsCommandSignature
protected

◆ DispatchRaysIndirectCommandSignature

TRefCountPtr<ID3D12CommandSignature> FD3D12Adapter::DispatchRaysIndirectCommandSignature
protected

◆ DrawIndexedIndirectCommandSignature

TRefCountPtr<ID3D12CommandSignature> FD3D12Adapter::DrawIndexedIndirectCommandSignature
protected

◆ DrawIndirectCommandSignature

TRefCountPtr<ID3D12CommandSignature> FD3D12Adapter::DrawIndirectCommandSignature
protected

◆ DxgiAdapter

TRefCountPtr<IDXGIAdapter> FD3D12Adapter::DxgiAdapter
protected

◆ DxgiFactory2

TRefCountPtr<IDXGIFactory2> FD3D12Adapter::DxgiFactory2
protected

◆ FrameFence

TUniquePtr<FD3D12ManualFence> FD3D12Adapter::FrameFence
protected

A Fence whose value increases every frame

◆ MaxNonSamplerDescriptors

int32 FD3D12Adapter::MaxNonSamplerDescriptors = 0
protected

◆ MaxSamplerDescriptors

int32 FD3D12Adapter::MaxSamplerDescriptors = 0
protected

◆ MemoryStats

FD3DMemoryStats FD3D12Adapter::MemoryStats
protected

◆ MemoryStatsUpdateFrame

uint64 FD3D12Adapter::MemoryStatsUpdateFrame
protected

◆ PipelineStateCache

FD3D12PipelineStateCache FD3D12Adapter::PipelineStateCache
protected

◆ PreferredBarrierImplType

ED3D12BarrierImplementationType FD3D12Adapter::PreferredBarrierImplType = ED3D12BarrierImplementationType::Invalid
staticprotected

◆ ReleasedAllocationData

TArray<FReleasedAllocationData> FD3D12Adapter::ReleasedAllocationData
protected

◆ RootDevice

TRefCountPtr<ID3D12Device> FD3D12Adapter::RootDevice
protected

◆ RootSignatureManager

FD3D12RootSignatureManager FD3D12Adapter::RootSignatureManager
protected

◆ RootSignatureVersion

D3D_ROOT_SIGNATURE_VERSION FD3D12Adapter::RootSignatureVersion
protected

◆ TrackedAllocationData

TMap<FD3D12ResourceLocation*, FTrackedAllocationData> FD3D12Adapter::TrackedAllocationData
protected

Tracked resource information.

◆ TrackedAllocationDataCS

FCriticalSection FD3D12Adapter::TrackedAllocationDataCS
protected

◆ TrackedHeaps

TArray<FD3D12Heap*> FD3D12Adapter::TrackedHeaps
protected

◆ TransientMemoryCache

TUniquePtr<IRHITransientMemoryCache> FD3D12Adapter::TransientMemoryCache
protected

◆ TransientUniformBufferAllocators

TArray<FTransientUniformBufferAllocator*> FD3D12Adapter::TransientUniformBufferAllocators
protected

◆ TransientUniformBufferAllocatorsCS

FCriticalSection FD3D12Adapter::TransientUniformBufferAllocatorsCS
protected

◆ UploadHeapAllocator

FD3D12UploadHeapAllocator* FD3D12Adapter::UploadHeapAllocator[MAX_NUM_GPUS]
protected

◆ Viewports

TArray<FD3D12Viewport*> FD3D12Adapter::Viewports
protected

A list of all viewport RHIs that have been created.

◆ VRSTileSize

uint32 FD3D12Adapter::VRSTileSize = 0
protected

The documentation for this class was generated from the following files: