UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
D3D11RHIPrivate.h File Reference
#include "CoreMinimal.h"
#include "ID3D11DynamicRHI.h"
#include "D3D11RHI.h"
#include "RHI.h"
#include "GPUProfiler.h"
#include "ShaderCore.h"
#include "Containers/ResourceArray.h"
#include "EngineGlobals.h"
#include "Engine/Engine.h"
#include "HDRHelper.h"
#include "BoundShaderStateHistory.h"
#include "DXGIUtilities.h"
#include "Containers/StaticArray.h"
#include "D3D11Util.h"
#include "D3D11State.h"
#include "D3D11Resources.h"
#include "D3D11Viewport.h"
#include "D3D11ConstantBuffer.h"
#include "D3D11StateCache.h"
#include "D3D11NvidiaAftermath.h"
#include "RHIValidationCommon.h"
#include "RHICoreShader.h"

Go to the source code of this file.

Classes

struct  FD3D11GlobalStats
 
class  FD3D11BufferedGPUTiming
 
class  FD3D11DisjointTimeStampQuery
 
class  FD3D11EventNode
 
class  FD3D11EventNodeFrame
 
struct  FD3DGPUProfiler
 
struct  FD3D11TransitionData
 
struct  FD3D11DeviceBasicInfo
 
struct  FD3D11Adapter
 
class  FD3D11DynamicRHI
 
struct  FD3D11DynamicRHI::FProfiler
 
struct  FD3D11DynamicRHI::FProfiler::FFrame
 
struct  FD3D11DynamicRHI::FProfiler::FFrame::FEndFrameQuery
 
struct  FD3D11DynamicRHI::FTimestampCalibration
 
class  FD3D11DynamicRHIModule
 
class  FRangeAllocator
 
struct  FRangeAllocator::FRange
 

Macros

#define WITH_DX_PERF   1
 
#define DX_MAX_MSAA_COUNT   8
 
#define WITH_NV_API   0
 
#define WITH_AMD_AGS   0
 

Functions

 DECLARE_LOG_CATEGORY_EXTERN (LogD3D11RHI, Log, All)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("Present time"), STAT_D3D11PresentTime, STATGROUP_D3D11RHI,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("CustomPresent time"), STAT_D3D11CustomPresentTime, STATGROUP_D3D11RHI,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("CreateTexture time"), STAT_D3D11CreateTextureTime, STATGROUP_D3D11RHI,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("LockTexture time"), STAT_D3D11LockTextureTime, STATGROUP_D3D11RHI,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("UnlockTexture time"), STAT_D3D11UnlockTextureTime, STATGROUP_D3D11RHI,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("CopyTexture time"), STAT_D3D11CopyTextureTime, STATGROUP_D3D11RHI,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("CreateBoundShaderState time"), STAT_D3D11CreateBoundShaderStateTime, STATGROUP_D3D11RHI,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("New bound shader state time"), STAT_D3D11NewBoundShaderStateTime, STATGROUP_D3D11RHI,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("Clean uniform buffer pool"), STAT_D3D11CleanUniformBufferTime, STATGROUP_D3D11RHI,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("Clear shader resources"), STAT_D3D11ClearShaderResourceTime, STATGROUP_D3D11RHI,)
 
 DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN (TEXT("Uniform buffer pool num free"), STAT_D3D11NumFreeUniformBuffers, STATGROUP_D3D11RHI,)
 
 DECLARE_DWORD_COUNTER_STAT_EXTERN (TEXT("Immutable Uniform buffers"), STAT_D3D11NumImmutableUniformBuffers, STATGROUP_D3D11RHI,)
 
 DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN (TEXT("Num Bound Shader State"), STAT_D3D11NumBoundShaderState, STATGROUP_D3D11RHI,)
 
 DECLARE_MEMORY_STAT_EXTERN (TEXT("Uniform buffer pool memory"), STAT_D3D11FreeUniformBufferMemory, STATGROUP_D3D11RHI,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("Update uniform buffer"), STAT_D3D11UpdateUniformBufferTime, STATGROUP_D3D11RHI,)
 
 DECLARE_DWORD_COUNTER_STAT_EXTERN (TEXT("Textures Allocated"), STAT_D3D11TexturesAllocated, STATGROUP_D3D11RHI,)
 
 DECLARE_DWORD_COUNTER_STAT_EXTERN (TEXT("Textures Released"), STAT_D3D11TexturesReleased, STATGROUP_D3D11RHI,)
 
 DECLARE_MEMORY_STAT_EXTERN (TEXT("Texture object pool memory"), STAT_D3D11TexturePoolMemory, STATGROUP_D3D11RHI,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("RenderTargetCommit"), STAT_D3D11RenderTargetCommits, STATGROUP_D3D11RHI,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("RenderTargetCommitUAV"), STAT_D3D11RenderTargetCommitsUAV, STATGROUP_D3D11RHI,)
 

Variables

TAutoConsoleVariable< int32GCVarUseSharedKeyedMutex
 
TAutoConsoleVariable< int32GD3D11DebugCvar
 
D3D11RHI_API FD3D11DynamicRHIGD3D11RHI
 

Macro Definition Documentation

◆ DX_MAX_MSAA_COUNT

#define DX_MAX_MSAA_COUNT   8

◆ WITH_AMD_AGS

#define WITH_AMD_AGS   0

◆ WITH_DX_PERF

#define WITH_DX_PERF   1

◆ WITH_NV_API

#define WITH_NV_API   0

Function Documentation

◆ DECLARE_CYCLE_STAT_EXTERN() [1/13]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("Clean uniform buffer pool" ,
STAT_D3D11CleanUniformBufferTime  ,
STATGROUP_D3D11RHI   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [2/13]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("Clear shader resources" ,
STAT_D3D11ClearShaderResourceTime  ,
STATGROUP_D3D11RHI   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [3/13]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("CopyTexture time" ,
STAT_D3D11CopyTextureTime  ,
STATGROUP_D3D11RHI   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [4/13]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("CreateBoundShaderState time" ,
STAT_D3D11CreateBoundShaderStateTime  ,
STATGROUP_D3D11RHI   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [5/13]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("CreateTexture time" ,
STAT_D3D11CreateTextureTime  ,
STATGROUP_D3D11RHI   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [6/13]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("CustomPresent time" ,
STAT_D3D11CustomPresentTime  ,
STATGROUP_D3D11RHI   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [7/13]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("LockTexture time" ,
STAT_D3D11LockTextureTime  ,
STATGROUP_D3D11RHI   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [8/13]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("New bound shader state time" ,
STAT_D3D11NewBoundShaderStateTime  ,
STATGROUP_D3D11RHI   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [9/13]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("Present time" ,
STAT_D3D11PresentTime  ,
STATGROUP_D3D11RHI   
)

The D3D RHI stats.

◆ DECLARE_CYCLE_STAT_EXTERN() [10/13]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("RenderTargetCommit")  ,
STAT_D3D11RenderTargetCommits  ,
STATGROUP_D3D11RHI   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [11/13]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("RenderTargetCommitUAV")  ,
STAT_D3D11RenderTargetCommitsUAV  ,
STATGROUP_D3D11RHI   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [12/13]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("UnlockTexture time" ,
STAT_D3D11UnlockTextureTime  ,
STATGROUP_D3D11RHI   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [13/13]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("Update uniform buffer" ,
STAT_D3D11UpdateUniformBufferTime  ,
STATGROUP_D3D11RHI   
)

◆ DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN() [1/2]

DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN ( TEXT("Num Bound Shader State" ,
STAT_D3D11NumBoundShaderState  ,
STATGROUP_D3D11RHI   
)

◆ DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN() [2/2]

DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN ( TEXT("Uniform buffer pool num free" ,
STAT_D3D11NumFreeUniformBuffers  ,
STATGROUP_D3D11RHI   
)

◆ DECLARE_DWORD_COUNTER_STAT_EXTERN() [1/3]

DECLARE_DWORD_COUNTER_STAT_EXTERN ( TEXT("Immutable Uniform buffers" ,
STAT_D3D11NumImmutableUniformBuffers  ,
STATGROUP_D3D11RHI   
)

◆ DECLARE_DWORD_COUNTER_STAT_EXTERN() [2/3]

DECLARE_DWORD_COUNTER_STAT_EXTERN ( TEXT("Textures Allocated" ,
STAT_D3D11TexturesAllocated  ,
STATGROUP_D3D11RHI   
)

◆ DECLARE_DWORD_COUNTER_STAT_EXTERN() [3/3]

DECLARE_DWORD_COUNTER_STAT_EXTERN ( TEXT("Textures Released" ,
STAT_D3D11TexturesReleased  ,
STATGROUP_D3D11RHI   
)

◆ DECLARE_LOG_CATEGORY_EXTERN()

DECLARE_LOG_CATEGORY_EXTERN ( LogD3D11RHI  ,
Log  ,
All   
)

◆ DECLARE_MEMORY_STAT_EXTERN() [1/2]

DECLARE_MEMORY_STAT_EXTERN ( TEXT("Texture object pool memory" ,
STAT_D3D11TexturePoolMemory  ,
STATGROUP_D3D11RHI   
)

◆ DECLARE_MEMORY_STAT_EXTERN() [2/2]

DECLARE_MEMORY_STAT_EXTERN ( TEXT("Uniform buffer pool memory" ,
STAT_D3D11FreeUniformBufferMemory  ,
STATGROUP_D3D11RHI   
)

Variable Documentation

◆ GCVarUseSharedKeyedMutex

TAutoConsoleVariable<int32> GCVarUseSharedKeyedMutex
extern

◆ GD3D11DebugCvar

TAutoConsoleVariable<int32> GD3D11DebugCvar
extern

◆ GD3D11RHI

D3D11RHI_API FD3D11DynamicRHI* GD3D11RHI
extern