99 RHI_API static FManager& GetManager();
118#if RHI_NEW_GPU_PROFILER
119 #define RHI_DRAW_CALL_STATS(Type,Verts,Prims,Instances) \
122 StatEvent.NumDraws++; \
123 StatEvent.NumPrimitives += Prims * FMath::Max(1u, Instances); \
124 StatEvent.NumVertices += Verts * FMath::Max(1u, Instances); \
125 GetExecutingCommandList().Stats_AddDrawAndPrimitives(Type, Prims); \
128 #define RHI_DRAW_CALL_INC() do { StatEvent.NumDraws++; GetExecutingCommandList().Stats_AddDraw(); } while (false)
129 #define RHI_DISPATCH_CALL_INC() do { StatEvent.NumDispatches++; } while (false)
131 #define RHI_DRAW_CALL_INC() do { GetExecutingCommandList().Stats_AddDraw(); } while (false)
132 #define RHI_DRAW_CALL_STATS(Type,Verts,Prims,Instances) do { GetExecutingCommandList().Stats_AddDrawAndPrimitives(Type, Prims); } while (false)
133 #define RHI_DISPATCH_CALL_INC() do { } while (false)
140 static constexpr int32 NumCategories = FRHIDrawStatsCategory::MAX_DRAWCALL_CATEGORY + 1;
186 return GPUs[GPUIndex];
202 for (
uint32 GPUIndex : GPUMask)
212 for (
uint32 GPUIndex : GPUMask)
217 switch (PrimitiveType)
270#if PLATFORM_MICROSOFT
292 bool IsOverBudget()
const
#define checkSlow(expr)
Definition AssertionMacros.h:332
#define DECLARE_MEMORY_STAT_POOL_EXTERN(CounterName, StatId, GroupId, Pool, API)
Definition Stats.h:688
#define DECLARE_CYCLE_STAT_EXTERN(CounterName, StatId, GroupId, API)
Definition Stats.h:679
#define DECLARE_DWORD_COUNTER_STAT_EXTERN(CounterName, StatId, GroupId, API)
Definition Stats.h:682
#define DECLARE_STATS_GROUP(GroupDesc, GroupId, GroupCat)
Definition Stats.h:689
#define DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN(CounterName, StatId, GroupId, API)
Definition Stats.h:684
#define DECLARE_MEMORY_STAT_EXTERN(CounterName, StatId, GroupId, API)
Definition Stats.h:687
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define MAX_NUM_GPUS
Definition MultiGPU.h:25
EPrimitiveType
Definition RHIDefinitions.h:822
@ PT_RectList
Definition RHIDefinitions.h:844
@ PT_PointList
Definition RHIDefinitions.h:837
@ PT_LineList
Definition RHIDefinitions.h:830
@ PT_TriangleList
Definition RHIDefinitions.h:824
@ PT_QuadList
Definition RHIDefinitions.h:834
@ PT_TriangleStrip
Definition RHIDefinitions.h:827
#define GRHIDeviceIsIntegrated
Definition RHIGlobals.h:867
RHI_API int32 GNumPrimitivesDrawnRHI[MAX_NUM_GPUS]
Definition RHIStats.cpp:10
RHI_API int32 GNumDrawCallsRHI[MAX_NUM_GPUS]
Definition RHIStats.cpp:9
#define UE_ARRAY_COUNT(array)
Definition UnrealTemplate.h:212
Definition NameTypes.h:617
Definition StaticArray.h:26
U16 Index
Definition radfft.cpp:71
static UE_FORCEINLINE_HINT void * Memzero(void *Dest, SIZE_T Count)
Definition UnrealMemory.h:131
Definition RHIStats.h:110
static constexpr uint32 Index
Definition RHIStats.h:111
Definition RHIStats.h:148
uint32 Rectangles
Definition RHIStats.h:154
FPerCategory & operator+=(FPerCategory const &RHS)
Definition RHIStats.h:165
uint32 GetTotalPrimitives() const
Definition RHIStats.h:156
uint32 Points
Definition RHIStats.h:153
uint32 Quads
Definition RHIStats.h:152
uint32 Draws
Definition RHIStats.h:149
uint32 Lines
Definition RHIStats.h:151
uint32 Triangles
Definition RHIStats.h:150
Definition RHIStats.h:178
FPerCategory Categories[NumCategories]
Definition RHIStats.h:180
Definition RHIStats.h:137
FRHIDrawStats()
Definition RHIStats.h:189
void AddDraw(FRHIGPUMask GPUMask, FRHIDrawStatsCategory const *Category)
Definition RHIStats.h:199
RHI_API void ProcessAsFrameStats()
Definition RHI.cpp:1264
FPerGPU & GetGPU(uint32 GPUIndex)
Definition RHIStats.h:183
void AddDrawAndPrimitives(FRHIGPUMask GPUMask, FRHIDrawStatsCategory const *Category, EPrimitiveType PrimitiveType, uint32 NumPrimitives)
Definition RHIStats.h:209
static constexpr int32 NumCategories
Definition RHIStats.h:142
static constexpr int32 NoCategory
Definition RHIStats.h:145
void Reset()
Definition RHIStats.h:194
uint64 StreamingMemorySize
Definition RHIStats.h:28
int64 SharedSystemMemory
Definition RHIStats.h:22
int64 TexturePoolSize
Definition RHIStats.h:37
int64 DedicatedSystemMemory
Definition RHIStats.h:19
int64 DedicatedVideoMemory
Definition RHIStats.h:16
bool AreHardwareStatsValid() const
Definition RHIStats.h:50
uint64 NonStreamingMemorySize
Definition RHIStats.h:31
int64 TotalGraphicsMemory
Definition RHIStats.h:25
bool IsUsingLimitedPoolSize() const
Definition RHIStats.h:56
int64 LargestContiguousAllocation
Definition RHIStats.h:34
int64 ComputeAvailableMemorySize() const
Definition RHIStats.h:61
int64 GetTotalDeviceWorkingMemory() const
Definition RHIStats.h:39