LeviLamina
Loading...
Searching...
No Matches
ProfileClient.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/memory/MemoryCategory.h"
7#include "mc/deps/profiler/CounterDisplayFormat.h"
8#include "mc/deps/profiler/FileExtension.h"
9#include "mc/deps/profiler/LegacyCounterFlags.h"
10
11// auto generated forward declare list
12// clang-format off
13namespace Bedrock::Profile { class ScopeStackStorage; }
14namespace Core::Profile { class CPUProfileToken; }
15namespace Core::Profile { class CounterToken; }
16namespace Core::Profile { class GPUProfileToken; }
17namespace brstd { struct source_location; }
18// clang-format on
19
20namespace Core::Profile {
21
23public:
24 // virtual functions
25 // NOLINTBEGIN
26 virtual ~ProfileClient() = default;
27
28 virtual void initializeProfile();
29
30 virtual void shutdownProfile();
31
32 virtual void profileFlip();
33
34 virtual uint getMaxTokens() const;
35
36 virtual void onThreadCreate(char const*);
37
38 virtual void onThreadDestroy();
39
40 virtual void onMainThreadCreate();
41
42 virtual void onHeapAllocation(void const*, uint64, ::Memory::MemoryCategory, char const*);
43
44 virtual void onHeapFree(void const*, uint64, ::Memory::MemoryCategory, char const*);
45
47
49
50 virtual uchar createGPUContext(char const*, int64, float, bool, bool);
51
52 virtual uint
54
55 virtual void leaveGPUProfile(::Bedrock::Profile::ScopeStackStorage&, uint);
56
57 virtual void emitGPUTiming(uint, int64, int64);
58
59 virtual void syncGPUTiming(uchar, int64, int64, int64);
60
61 virtual void counterAdd(::Core::Profile::CounterToken const&, int64);
62
63 virtual void counterSet(::Core::Profile::CounterToken const&, int64);
64
65 virtual void beginCapture(char const*);
66
67 virtual void endCapture(bool);
68
69 virtual void logCaptureResults();
70
71 virtual bool isCaptureEnding();
72
73 virtual void setMarker(char const*, uint) const;
74
75 virtual void generateCPUProfileToken(
77 char const*,
78 char const*,
79 uint,
81 );
82
83 virtual void generateCPUProfileTokenDynamic(
85 char const*,
86 char const*,
87 uint,
89 );
90
91 virtual void generateGPUProfileToken(
93 char const*,
94 char const*,
95 uint,
97 );
98
99 virtual void generateGPUProfileTokenDynamic(
101 char const*,
102 char const*,
103 uint,
105 );
106
107 virtual void generateCounterToken(::Core::Profile::CounterToken& target, char const* label);
108
109 virtual void generateCounterTokenWithConfig(
111 char const*,
112 ::Core::Profile::CounterDisplayFormat,
113 int64,
114 ::Core::Profile::LegacyCounterFlags
115 );
116
117 virtual int64 getProfilerTimestamp();
118
119 virtual void dumpFile(char const*, ::Core::Profile::FileExtension);
120 // NOLINTEND
121
122public:
123 // virtual function thunks
124 // NOLINTBEGIN
125 MCNAPI void $initializeProfile();
126
127 MCNAPI void $shutdownProfile();
128
129 MCNAPI void $profileFlip();
130
131 MCNAPI uint $getMaxTokens() const;
132
133 MCNAPI void $onThreadCreate(char const*);
134
135 MCNAPI void $onThreadDestroy();
136
137 MCNAPI void $onMainThreadCreate();
138
139 MCNAPI void $onHeapAllocation(void const*, uint64, ::Memory::MemoryCategory, char const*);
140
141 MCNAPI void $onHeapFree(void const*, uint64, ::Memory::MemoryCategory, char const*);
142
144
146
147 MCNAPI uchar $createGPUContext(char const*, int64, float, bool, bool);
148
149 MCNAPI uint
151
153
154 MCNAPI void $emitGPUTiming(uint, int64, int64);
155
156 MCNAPI void $syncGPUTiming(uchar, int64, int64, int64);
157
158 MCNAPI void $counterAdd(::Core::Profile::CounterToken const&, int64);
159
160 MCNAPI void $counterSet(::Core::Profile::CounterToken const&, int64);
161
162 MCNAPI void $beginCapture(char const*);
163
164 MCNAPI void $endCapture(bool);
165
166 MCNAPI void $logCaptureResults();
167
168 MCNAPI bool $isCaptureEnding();
169
170 MCNAPI void $setMarker(char const*, uint) const;
171
174 char const*,
175 char const*,
176 uint,
178 );
179
182 char const*,
183 char const*,
184 uint,
186 );
187
190 char const*,
191 char const*,
192 uint,
194 );
195
198 char const*,
199 char const*,
200 uint,
202 );
203
204 MCNAPI void $generateCounterToken(::Core::Profile::CounterToken& target, char const* label);
205
208 char const*,
209 ::Core::Profile::CounterDisplayFormat,
210 int64,
211 ::Core::Profile::LegacyCounterFlags
212 );
213
214 MCNAPI int64 $getProfilerTimestamp();
215
216 MCNAPI void $dumpFile(char const*, ::Core::Profile::FileExtension);
217
218
219 // NOLINTEND
220};
221
222} // namespace Core::Profile
Definition ScopeStackStorage.h:7
Definition CPUProfileToken.h:7
Definition CounterToken.h:7
Definition GPUProfileToken.h:10
Definition ProfileClient.h:22
MCAPI void $dumpFile(char const *, ::Core::Profile::FileExtension)
MCAPI uchar $createGPUContext(char const *, int64, float, bool, bool)
MCAPI void $counterSet(::Core::Profile::CounterToken const &, int64)
MCAPI void $generateCPUProfileToken(::Core::Profile::CPUProfileToken &, char const *, char const *, uint, ::brstd::source_location const &)
MCAPI void $beginCapture(char const *)
MCAPI void $onHeapFree(void const *, uint64, ::Memory::MemoryCategory, char const *)
MCAPI void $generateCounterTokenWithConfig(::Core::Profile::CounterToken &, char const *, ::Core::Profile::CounterDisplayFormat, int64, ::Core::Profile::LegacyCounterFlags)
MCAPI void $leaveCPUProfile(::Bedrock::Profile::ScopeStackStorage &, ::Core::Profile::CPUProfileToken const &)
MCAPI void $emitGPUTiming(uint, int64, int64)
MCAPI void $onHeapAllocation(void const *, uint64, ::Memory::MemoryCategory, char const *)
MCAPI void $syncGPUTiming(uchar, int64, int64, int64)
MCAPI uint $enterGPUProfile(::Bedrock::Profile::ScopeStackStorage &, ::Core::Profile::GPUProfileToken const &, uchar)
MCAPI void $generateCounterToken(::Core::Profile::CounterToken &target, char const *label)
MCAPI int64 $getProfilerTimestamp()
MCAPI void $generateCPUProfileTokenDynamic(::Core::Profile::CPUProfileToken &, char const *, char const *, uint, ::brstd::source_location const &)
MCAPI uint $getMaxTokens() const
MCAPI void $generateGPUProfileToken(::Core::Profile::GPUProfileToken &, char const *, char const *, uint, ::brstd::source_location const &)
MCAPI void $leaveGPUProfile(::Bedrock::Profile::ScopeStackStorage &, uint)
MCAPI void $counterAdd(::Core::Profile::CounterToken const &, int64)
MCAPI void $setMarker(char const *, uint) const
MCAPI void $onThreadCreate(char const *)
MCAPI void $endCapture(bool)
MCAPI void $enterCPUProfile(::Bedrock::Profile::ScopeStackStorage &, ::Core::Profile::CPUProfileToken const &)
MCAPI void $generateGPUProfileTokenDynamic(::Core::Profile::GPUProfileToken &, char const *, char const *, uint, ::brstd::source_location const &)
Definition source_location.h:7