2
3
4
5
9#include "Render/Vulkan/VulkanUtils.h"
11#include "NvPerfPeriodicSamplerGpu.h"
12#include "NvPerfCounterData.h"
13#include "NvPerfMetricsEvaluator.h"
18
19
25
26
27
31
32
36
37
38
42
43
47
48
49
53
54
55
59
60
64
65
69
70
76
77
81
82
86
87
91
92
96
97
101
102
106
107
111
112
118#define NSIGHTPERF_GPUPROFILERCONTINUOUS_CREATEINSTANCE(...) { ::Spices::NsightPerfGPUProfilerContinuous::CreateInstance(__VA_ARGS__); }
119#define NSIGHTPERF_GPUPROFILERCONTINUOUS_BEGINFRAME(...) { ::Spices::NsightPerfGPUProfilerContinuous::Get().BeginFrame(__VA_ARGS__); }
120#define NSIGHTPERF_GPUPROFILERCONTINUOUS_ENDFRAME { ::Spices::NsightPerfGPUProfilerContinuous::Get().EndFrame(); }
121#define NSIGHTPERF_GPUPROFILERCONTINUOUS_CAPTUREFRAME
122#define NSIGHTPERF_GPUPROFILERCONTINUOUS_RESET { ::Spices::NsightPerfGPUProfilerContinuous::Get().Reset(); }
128#define NSIGHTPERF_GPUPROFILERCONTINUOUS_CREATEINSTANCE(...)
129#define NSIGHTPERF_GPUPROFILERCONTINUOUS_BEGINFRAME(...)
130#define NSIGHTPERF_GPUPROFILERCONTINUOUS_ENDFRAME
131#define NSIGHTPERF_GPUPROFILERCONTINUOUS_CAPTUREFRAME
132#define NSIGHTPERF_GPUPROFILERCONTINUOUS_RESET
#define NSPERF_CHECK(val)
#define SPICES_PROFILE_ZONE
std::vector< NVPW_MetricEvalRequest > metricEvalRequests
Metrics requests.
void EndFrame()
ConsumeSample each frame.
void CaptureFrame()
Capture this frame.
static NsightPerfGPUProfilerContinuous & Get()
Get this Single Instance.
static void CreateInstance(VulkanState &state)
Create this Single Instance.
NsightPerfGPUProfilerContinuous(VulkanState &state)
Constructor Function.
void Reset()
Reset on quit application.
virtual ~NsightPerfGPUProfilerContinuous()=default
Destructor Function.
void Create(VulkanState &state)
Begin this Session.
nv::perf::MetricsEvaluator metricsEvaluator
MetricsEvaluator.
bool m_IsInSession
True if in session.
bool m_EnableCaptureNextFrame
True if want capture next frame.
nv::perf::sampler::RingBufferCounterData counterData
This is used to store the counter values collected during profiling.
nv::perf::sampler::GpuPeriodicSampler sampler
the periodic sampler.
static std::shared_ptr< NsightPerfGPUProfilerContinuous > m_NsightPerfGPUProfilerContinuous
This Single Instance.
void BeginFrame(VulkanState &state)
Begin a frame.
VulkanState & m_VulkanState
VulkanState.
Wrapper of Nvidia Nsight Performance Metrics.
const char * Metrics[]
The following metrics are for demonstration purposes only. For a more comprehensive set of single-pas...
This struct contains all Vulkan object in used global.