12#ifndef UE_TRACE_GPU_PROFILER_ENABLED
13 #define UE_TRACE_GPU_PROFILER_ENABLED UE_TRACE_ENABLED && RHI_NEW_GPU_PROFILER && !UE_BUILD_SHIPPING
16#if GPUPROFILERTRACE_ENABLED
18#if RHI_NEW_GPU_PROFILER
31#if RHI_NEW_GPU_PROFILER
33#define GPU_TRACE_ARG , uint32 GPUIndex
38struct FGpuProfilerTrace
45 RHI_API static void Deinitialize();
53#define TRACE_GPUPROFILER_DEFINE_EVENT_TYPE(...) UE_DEPRECATED_MACRO(5.6, "TRACE_GPUPROFILER_DEFINE_EVENT_TYPE has been deprecated and it is non functional. Use standard RHI breadcrumb events instead.")
54#define TRACE_GPUPROFILER_DECLARE_EVENT_TYPE_EXTERN(...) UE_DEPRECATED_MACRO(5.6, "TRACE_GPUPROFILER_DECLARE_EVENT_TYPE_EXTERN has been deprecated and it is non functional. Use standard RHI breadcrumb events instead.")
55#define TRACE_GPUPROFILER_EVENT_TYPE(...) UE_DEPRECATED_MACRO(5.6, "TRACE_GPUPROFILER_EVENT_TYPE has been deprecated and it is non functional. Use standard RHI breadcrumb events instead.") nullptr
56#define TRACE_GPUPROFILER_BEGIN_FRAME(...) UE_DEPRECATED_MACRO(5.6, "TRACE_GPUPROFILER_BEGIN_FRAME has been deprecated and it is non functional. Use standard RHI breadcrumb events instead.")
57#define TRACE_GPUPROFILER_BEGIN_EVENT(...) UE_DEPRECATED_MACRO(5.6, "TRACE_GPUPROFILER_BEGIN_EVENT has been deprecated and it is non functional. Use standard RHI breadcrumb events instead.")
58#define TRACE_GPUPROFILER_END_EVENT(...) UE_DEPRECATED_MACRO(5.6, "TRACE_GPUPROFILER_END_EVENT has been deprecated and it is non functional. Use standard RHI breadcrumb events instead.")
59#define TRACE_GPUPROFILER_END_FRAME(...) UE_DEPRECATED_MACRO(5.6, "TRACE_GPUPROFILER_END_FRAME has been deprecated and it is non functional. Use standard RHI breadcrumb events instead.")
60#define TRACE_GPUPROFILER_DEINITIALIZE(...) UE_DEPRECATED_MACRO(5.6, "TRACE_GPUPROFILER_DEINITIALIZE has been deprecated and it is non functional. Use standard RHI breadcrumb events instead.")
125#if UE_TRACE_GPU_PROFILER_ENABLED
157 template<
size_t Size>
220 template<
size_t Size>
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition CborWriter.h:20
Definition RHIDefinitions.h:95
Definition MemoryWriter.h:101
Definition NameTypes.h:617
Definition GpuProfilerTrace.cpp:270
Definition GpuProfilerTrace.h:124
static void BeginWork(uint32 QueueId, uint64 GPUTimestampTOP, uint64 CPUTimestamp)
Definition GpuProfilerTrace.h:213
static void FrameBoundary(uint32 QueueId, uint32 FrameId)
Definition GpuProfilerTrace.h:210
static void WaitFence(uint32 QueueId, uint64 ResolvedTimestamp, uint32 QueueToWaitForId, uint64 Value)
Definition GpuProfilerTrace.h:218
static void EndWork(uint32 QueueId, uint64 GPUTimestampBOP)
Definition GpuProfilerTrace.h:214
static void BeginBreadcrumb(uint32 SpecId, uint32 QueueId, uint64 GPUTimestampTOP, const TArray< uint8 > &CborData)
Definition GpuProfilerTrace.h:211
static void SignalFence(uint32 QueueId, uint64 ResolvedTimestamp, uint64 Value)
Definition GpuProfilerTrace.h:217
static void EndBreadcrumb(uint32 QueueId, uint64 GPUTimestampBOP)
Definition GpuProfilerTrace.h:212
static void Initialize()
Definition GpuProfilerTrace.h:208
static void Stats(uint32 QueueId, uint32 NumDraws, uint32 NumPrimitives)
Definition GpuProfilerTrace.h:216
static uint32 BreadcrumbSpec(const TCHAR *StaticName, const TCHAR *NameFormat, const std::array< const TCHAR *, Size > &FieldNames)
Definition GpuProfilerTrace.h:221
static void InitializeQueue(uint32 QueueId, const TCHAR *Name)
Definition GpuProfilerTrace.h:209
static void TraceWait(uint32 QueueId, uint64 StartTime, uint64 EndTime)
Definition GpuProfilerTrace.h:215
static bool IsAvailable()
Definition GpuProfilerTrace.h:207