UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FD3D12Device Class Referencefinal

#include <D3D12Device.h>

+ Inheritance diagram for FD3D12Device:

Public Member Functions

 FD3D12Device (FRHIGPUMask InGPUMask, FD3D12Adapter *InAdapter)
 
 ~FD3D12Device ()
 
ID3D12DeviceGetDevice ()
 
void RegisterGPUWork (uint32 NumPrimitives=0, uint32 NumVertices=0)
 
void RegisterGPUDispatch (FIntVector GroupCount)
 
FORCEINLINE FD3D12GPUProfilerGetGPUProfiler ()
 
uint64 GetTimestampFrequency (ED3D12QueueType QueueType)
 
FGPUTimingCalibrationTimestamp GetCalibrationTimestamp (ED3D12QueueType QueueType)
 
void BlockUntilIdle ()
 
D3D12_RESOURCE_ALLOCATION_INFO GetResourceAllocationInfoUncached (const FD3D12ResourceDesc &InDesc)
 
D3D12_RESOURCE_ALLOCATION_INFO GetResourceAllocationInfo (const FD3D12ResourceDesc &InDesc)
 
void CopyDescriptors (D3D12_CPU_DESCRIPTOR_HANDLE Destination, const D3D12_CPU_DESCRIPTOR_HANDLE *Source, uint32 NumSourceDescriptors, D3D12_DESCRIPTOR_HEAP_TYPE Type)
 
void InitExplicitDescriptorHeap ()
 
FD3D12ExplicitDescriptorHeapCacheGetExplicitDescriptorHeapCache ()
 
FD3D12GlobalOnlineSamplerHeapGetGlobalSamplerHeap ()
 
const D3D12_HEAP_PROPERTIESGetConstantBufferPageProperties ()
 
FD3D12DescriptorHeapManagerGetDescriptorHeapManager ()
 
FD3D12OnlineDescriptorManagerGetOnlineDescriptorManager ()
 
FD3D12OfflineDescriptorManagerGetOfflineDescriptorManager (ERHIDescriptorHeapType InType)
 
const FD3D12DefaultViewsGetDefaultViews () const
 
FD3D12DefaultBufferAllocatorGetDefaultBufferAllocator ()
 
FD3D12FastAllocatorGetDefaultFastAllocator ()
 
FD3D12TextureAllocatorPoolGetTextureAllocator ()
 
FD3D12ResidencyManagerGetResidencyManager ()
 
FD3D12SamplerStateCreateSampler (const FSamplerStateInitializerRHI &Initializer, FD3D12SamplerState *FirstLinkedObject)
 
void CreateSamplerInternal (const D3D12_SAMPLER_DESC &Desc, D3D12_CPU_DESCRIPTOR_HANDLE Descriptor)
 
FD3D12CommandAllocatorObtainCommandAllocator (ED3D12QueueType QueueType)
 
void ReleaseCommandAllocator (FD3D12CommandAllocator *Allocator)
 
FD3D12CommandContextGetDefaultCommandContext ()
 
FD3D12ContextCommonObtainContext (ED3D12QueueType QueueType)
 
FD3D12ContextCopyObtainContextCopy ()
 
FD3D12CommandContextObtainContextCompute ()
 
FD3D12CommandContextObtainContextGraphics ()
 
void ReleaseContext (FD3D12ContextCommon *Context)
 
TRefCountPtr< FD3D12QueryHeapObtainQueryHeap (ED3D12QueueType QueueType, D3D12_QUERY_TYPE QueryType)
 
void ReleaseQueryHeap (FD3D12QueryHeap *QueryHeap)
 
FD3D12CommandListObtainCommandList (FD3D12CommandAllocator *CommandAllocator, FD3D12QueryAllocator *TimestampAllocator, FD3D12QueryAllocator *PipelineStatsAllocator)
 
void ReleaseCommandList (FD3D12CommandList *CommandList)
 
FD3D12QueueGetQueue (ED3D12QueueType QueueType)
 
TArrayView< FD3D12QueueGetQueues ()
 
void SetupAfterDeviceCreation ()
 
void CleanupResources ()
 
HRESULT CreateCommandList (UINT nodeMask, D3D12_COMMAND_LIST_TYPE type, ID3D12CommandAllocator *pCommandAllocator, ID3D12PipelineState *pInitialState, REFIID riid, void **ppCommandList)
 
void CreateUnorderedAccessViewAlias (ID3D12Resource *InResource, ID3D12Resource *InCounterResource, const D3D12_RESOURCE_DESC &InAliasResourceDesc, const D3D12_UNORDERED_ACCESS_VIEW_DESC &InAliasViewDesc, D3D12_CPU_DESCRIPTOR_HANDLE InOfflineCpuHandle)
 
- Public Member Functions inherited from FD3D12SingleNodeGPUObject
 FD3D12SingleNodeGPUObject (FRHIGPUMask GPUMask)
 
SGPU_CONSTEXPR uint32 GetGPUIndex () const
 
- Public Member Functions inherited from FD3D12GPUObject
 FD3D12GPUObject (FRHIGPUMask InGPUMask, FRHIGPUMask InVisibiltyMask)
 
SGPU_CONSTEXPR FRHIGPUMask GetGPUMask () const
 
SGPU_CONSTEXPR FRHIGPUMask GetVisibilityMask () const
 
- Public Member Functions inherited from FD3D12AdapterChild
 FD3D12AdapterChild (FD3D12Adapter *InParent=nullptr)
 
FORCEINLINE FD3D12AdapterGetParentAdapter () const
 
void SetParentAdapter (FD3D12Adapter *InParent)
 

Static Public Member Functions

static void CopyDescriptors (ID3D12Device *D3DDevice, D3D12_CPU_DESCRIPTOR_HANDLE Destination, const D3D12_CPU_DESCRIPTOR_HANDLE *Source, uint32 NumSourceDescriptors, D3D12_DESCRIPTOR_HEAP_TYPE Type)
 

Public Attributes

TRefCountPtr< ID3D12CommandQueueTileMappingQueue
 
FD3D12Fence TileMappingFence
 

Additional Inherited Members

- Protected Member Functions inherited from FNoncopyable
 FNoncopyable ()
 
 ~FNoncopyable ()
 
- Protected Attributes inherited from FD3D12AdapterChild
FD3D12AdapterParentAdapter
 

Constructor & Destructor Documentation

◆ FD3D12Device()

FD3D12Device::FD3D12Device ( FRHIGPUMask  InGPUMask,
FD3D12Adapter InAdapter 
)

◆ ~FD3D12Device()

FD3D12Device::~FD3D12Device ( )

Member Function Documentation

◆ BlockUntilIdle()

void FD3D12Device::BlockUntilIdle ( )

◆ CleanupResources()

void FD3D12Device::CleanupResources ( )

◆ CopyDescriptors() [1/2]

void FD3D12Device::CopyDescriptors ( D3D12_CPU_DESCRIPTOR_HANDLE  Destination,
const D3D12_CPU_DESCRIPTOR_HANDLE *  Source,
uint32  NumSourceDescriptors,
D3D12_DESCRIPTOR_HEAP_TYPE  Type 
)
inline

◆ CopyDescriptors() [2/2]

void FD3D12Device::CopyDescriptors ( ID3D12Device D3DDevice,
D3D12_CPU_DESCRIPTOR_HANDLE  Destination,
const D3D12_CPU_DESCRIPTOR_HANDLE *  Source,
uint32  NumSourceDescriptors,
D3D12_DESCRIPTOR_HEAP_TYPE  Type 
)
static

◆ CreateCommandList()

HRESULT FD3D12Device::CreateCommandList ( UINT  nodeMask,
D3D12_COMMAND_LIST_TYPE  type,
ID3D12CommandAllocator pCommandAllocator,
ID3D12PipelineState pInitialState,
REFIID  riid,
void **  ppCommandList 
)

◆ CreateSampler()

FD3D12SamplerState * FD3D12Device::CreateSampler ( const FSamplerStateInitializerRHI Initializer,
FD3D12SamplerState FirstLinkedObject 
)

◆ CreateSamplerInternal()

void FD3D12Device::CreateSamplerInternal ( const D3D12_SAMPLER_DESC Desc,
D3D12_CPU_DESCRIPTOR_HANDLE  Descriptor 
)

◆ CreateUnorderedAccessViewAlias()

void FD3D12Device::CreateUnorderedAccessViewAlias ( ID3D12Resource InResource,
ID3D12Resource InCounterResource,
const D3D12_RESOURCE_DESC &  InAliasResourceDesc,
const D3D12_UNORDERED_ACCESS_VIEW_DESC InAliasViewDesc,
D3D12_CPU_DESCRIPTOR_HANDLE  InOfflineCpuHandle 
)

◆ GetCalibrationTimestamp()

FGPUTimingCalibrationTimestamp FD3D12Device::GetCalibrationTimestamp ( ED3D12QueueType  QueueType)

◆ GetConstantBufferPageProperties()

const D3D12_HEAP_PROPERTIES & FD3D12Device::GetConstantBufferPageProperties ( )
inline

◆ GetDefaultBufferAllocator()

FD3D12DefaultBufferAllocator & FD3D12Device::GetDefaultBufferAllocator ( )
inline

◆ GetDefaultCommandContext()

FD3D12CommandContext & FD3D12Device::GetDefaultCommandContext ( )
inline

◆ GetDefaultFastAllocator()

FD3D12FastAllocator & FD3D12Device::GetDefaultFastAllocator ( )
inline

◆ GetDefaultViews()

const FD3D12DefaultViews & FD3D12Device::GetDefaultViews ( ) const
inline

◆ GetDescriptorHeapManager()

FD3D12DescriptorHeapManager & FD3D12Device::GetDescriptorHeapManager ( )
inline

◆ GetDevice()

ID3D12Device * FD3D12Device::GetDevice ( )

◆ GetExplicitDescriptorHeapCache()

FD3D12ExplicitDescriptorHeapCache * FD3D12Device::GetExplicitDescriptorHeapCache ( )
inline

◆ GetGlobalSamplerHeap()

FD3D12GlobalOnlineSamplerHeap & FD3D12Device::GetGlobalSamplerHeap ( )
inline

◆ GetGPUProfiler()

FORCEINLINE FD3D12GPUProfiler & FD3D12Device::GetGPUProfiler ( )
inline

◆ GetOfflineDescriptorManager()

FD3D12OfflineDescriptorManager & FD3D12Device::GetOfflineDescriptorManager ( ERHIDescriptorHeapType  InType)
inline

◆ GetOnlineDescriptorManager()

FD3D12OnlineDescriptorManager & FD3D12Device::GetOnlineDescriptorManager ( )
inline

◆ GetQueue()

FD3D12Queue & FD3D12Device::GetQueue ( ED3D12QueueType  QueueType)
inline

◆ GetQueues()

TArrayView< FD3D12Queue > FD3D12Device::GetQueues ( )
inline

◆ GetResidencyManager()

FD3D12ResidencyManager & FD3D12Device::GetResidencyManager ( )
inline

◆ GetResourceAllocationInfo()

D3D12_RESOURCE_ALLOCATION_INFO FD3D12Device::GetResourceAllocationInfo ( const FD3D12ResourceDesc InDesc)

◆ GetResourceAllocationInfoUncached()

D3D12_RESOURCE_ALLOCATION_INFO FD3D12Device::GetResourceAllocationInfoUncached ( const FD3D12ResourceDesc InDesc)

◆ GetTextureAllocator()

FD3D12TextureAllocatorPool & FD3D12Device::GetTextureAllocator ( )
inline

◆ GetTimestampFrequency()

uint64 FD3D12Device::GetTimestampFrequency ( ED3D12QueueType  QueueType)

◆ InitExplicitDescriptorHeap()

void FD3D12Device::InitExplicitDescriptorHeap ( )

◆ ObtainCommandAllocator()

FD3D12CommandAllocator * FD3D12Device::ObtainCommandAllocator ( ED3D12QueueType  QueueType)

◆ ObtainCommandList()

FD3D12CommandList * FD3D12Device::ObtainCommandList ( FD3D12CommandAllocator CommandAllocator,
FD3D12QueryAllocator TimestampAllocator,
FD3D12QueryAllocator PipelineStatsAllocator 
)

◆ ObtainContext()

FD3D12ContextCommon * FD3D12Device::ObtainContext ( ED3D12QueueType  QueueType)

◆ ObtainContextCompute()

FD3D12CommandContext * FD3D12Device::ObtainContextCompute ( )
inline

◆ ObtainContextCopy()

FD3D12ContextCopy * FD3D12Device::ObtainContextCopy ( )
inline

◆ ObtainContextGraphics()

FD3D12CommandContext * FD3D12Device::ObtainContextGraphics ( )
inline

◆ ObtainQueryHeap()

TRefCountPtr< FD3D12QueryHeap > FD3D12Device::ObtainQueryHeap ( ED3D12QueueType  QueueType,
D3D12_QUERY_TYPE  QueryType 
)

◆ RegisterGPUDispatch()

void FD3D12Device::RegisterGPUDispatch ( FIntVector  GroupCount)
inline

◆ RegisterGPUWork()

void FD3D12Device::RegisterGPUWork ( uint32  NumPrimitives = 0,
uint32  NumVertices = 0 
)
inline

◆ ReleaseCommandAllocator()

void FD3D12Device::ReleaseCommandAllocator ( FD3D12CommandAllocator Allocator)

◆ ReleaseCommandList()

void FD3D12Device::ReleaseCommandList ( FD3D12CommandList CommandList)

◆ ReleaseContext()

void FD3D12Device::ReleaseContext ( FD3D12ContextCommon Context)

◆ ReleaseQueryHeap()

void FD3D12Device::ReleaseQueryHeap ( FD3D12QueryHeap QueryHeap)

◆ SetupAfterDeviceCreation()

void FD3D12Device::SetupAfterDeviceCreation ( )

Member Data Documentation

◆ TileMappingFence

FD3D12Fence FD3D12Device::TileMappingFence

◆ TileMappingQueue

TRefCountPtr<ID3D12CommandQueue> FD3D12Device::TileMappingQueue

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