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#include "mc/deps/profiler/ThreadFrameType.h"
11#include "mc/platform/brstd/basic_cstring_view.h"
12
13// auto generated forward declare list
14// clang-format off
15namespace Bedrock::Profile { class ScopeStackStorage; }
16namespace Bedrock::Profiler::details { struct DynamicProfLabel; }
17namespace Bedrock::Profiler::details { struct StaticProfLabel; }
18namespace Core::Profile { class CPUProfileToken; }
19namespace Core::Profile { class CounterToken; }
20namespace Core::Profile { class GPUProfileToken; }
21namespace Core::Profile { class LogMessageToken; }
22namespace brstd { struct source_location; }
23// clang-format on
24
25namespace Core::Profile {
26
28public:
29 // virtual functions
30 // NOLINTBEGIN
31 virtual ~ProfileClient() = default;
32
33 virtual void initializeProfile();
34
35 virtual void shutdownProfile();
36
37 virtual void onFrameTransition(uchar previousFrameType);
38
39 virtual uint getMaxTokens() const;
40
41 virtual void onThreadCreate(
42 ::brstd::basic_cstring_view<char, ::std::char_traits<char>> name,
43 ::Core::Profile::ThreadFrameType frameType
44 );
45
46 virtual void onThreadDestroy();
47
48 virtual void onMainThreadCreate();
49
50 virtual void onMainThreadDestroy();
51
52 virtual void onHeapAllocation(void const*, uint64, ::Memory::MemoryCategory, char const*);
53
54 virtual void onHeapFree(void const*, uint64, ::Memory::MemoryCategory, char const*);
55
56 virtual void
58
59 virtual void enterCPUProfileDynamic(
63 );
64
65 virtual void
67
68 virtual uchar createGPUContext(char const*, int64, float, bool, bool);
69
70 virtual uint
72
73 virtual void leaveGPUProfile(::Bedrock::Profile::ScopeStackStorage&, uint);
74
75 virtual void emitGPUTiming(uint, int64, int64);
76
77 virtual void syncGPUTiming(uchar, int64, int64, int64);
78
79 virtual void counterAdd(::Core::Profile::CounterToken const&, int64);
80
81 virtual void counterSet(::Core::Profile::CounterToken const&, int64);
82
83 virtual void emitLogMessage(::Core::Profile::LogMessageToken const&);
84
85 virtual void
87
88 virtual void beginCapture(char const*);
89
90 virtual void endCapture(bool);
91
92 virtual void logCaptureResults();
93
94 virtual bool isCaptureEnding();
95
96 virtual void setMarker(char const*, uint) const;
97
98 virtual void generateCPUProfileTokenStatic(
100 char const* group,
102 uint color,
103 ::brstd::source_location const& location
104 );
105
106 virtual void generateCPUProfileTokenLegacy(
108 char const*,
109 char const*,
110 uint,
112 );
113
114 virtual void generateCPUProfileTokenDynamic(
116 char const*,
117 uint,
119 );
120
121 virtual void generateGPUProfileToken(
123 char const*,
124 char const*,
125 uint,
127 );
128
129 virtual void generateGPUProfileTokenDynamic(
131 char const*,
132 char const*,
133 uint,
135 );
136
137 virtual void generateCounterToken(::Core::Profile::CounterToken& target, char const* label);
138
139 virtual void generateCounterTokenWithConfig(
141 char const*,
142 ::Core::Profile::CounterDisplayFormat,
143 int64,
144 ::Core::Profile::LegacyCounterFlags
145 );
146
147 virtual void generateLogMessageTokenStatic(
149 char const*,
151 uint,
153 );
154
155 virtual void generateLogMessageTokenDynamic(
157 char const*,
158 uint,
160 );
161
162 virtual int64 getProfilerTimestamp();
163
164 virtual void dumpFile(char const*, ::Core::Profile::FileExtension);
165 // NOLINTEND
166
167public:
168 // virtual function thunks
169 // NOLINTBEGIN
170 MCNAPI void $initializeProfile();
171
172 MCNAPI void $shutdownProfile();
173
174 MCNAPI void $onFrameTransition(uchar previousFrameType);
175
176 MCNAPI uint $getMaxTokens() const;
177
178 MCNAPI void $onThreadCreate(
179 ::brstd::basic_cstring_view<char, ::std::char_traits<char>> name,
180 ::Core::Profile::ThreadFrameType frameType
181 );
182
183 MCNAPI void $onThreadDestroy();
184
185 MCNAPI void $onMainThreadCreate();
186
187 MCNAPI void $onMainThreadDestroy();
188
189 MCNAPI void $onHeapAllocation(void const*, uint64, ::Memory::MemoryCategory, char const*);
190
191 MCNAPI void $onHeapFree(void const*, uint64, ::Memory::MemoryCategory, char const*);
192
193 MCNAPI void
195
200 );
201
202 MCNAPI void
204
205 MCNAPI uchar $createGPUContext(char const*, int64, float, bool, bool);
206
207 MCNAPI uint
209
211
212 MCNAPI void $emitGPUTiming(uint, int64, int64);
213
214 MCNAPI void $syncGPUTiming(uchar, int64, int64, int64);
215
216 MCNAPI void $counterAdd(::Core::Profile::CounterToken const&, int64);
217
218 MCNAPI void $counterSet(::Core::Profile::CounterToken const&, int64);
219
221
222 MCNAPI void
224
225 MCNAPI void $beginCapture(char const*);
226
227 MCNAPI void $endCapture(bool);
228
229 MCNAPI void $logCaptureResults();
230
231 MCNAPI bool $isCaptureEnding();
232
233 MCNAPI void $setMarker(char const*, uint) const;
234
237 char const* group,
239 uint color,
240 ::brstd::source_location const& location
241 );
242
245 char const*,
246 char const*,
247 uint,
249 );
250
253 char const*,
254 uint,
256 );
257
260 char const*,
261 char const*,
262 uint,
264 );
265
268 char const*,
269 char const*,
270 uint,
272 );
273
274 MCNAPI void $generateCounterToken(::Core::Profile::CounterToken& target, char const* label);
275
278 char const*,
279 ::Core::Profile::CounterDisplayFormat,
280 int64,
281 ::Core::Profile::LegacyCounterFlags
282 );
283
286 char const*,
288 uint,
290 );
291
294 char const*,
295 uint,
297 );
298
299 MCNAPI int64 $getProfilerTimestamp();
300
301 MCNAPI void $dumpFile(char const*, ::Core::Profile::FileExtension);
302
303
304 // NOLINTEND
305};
306
307} // namespace Core::Profile
Definition ScopeStackStorage.h:7
Definition CPUProfileToken.h:7
Definition CounterToken.h:7
Definition GPUProfileToken.h:10
Definition LogMessageToken.h:7
Definition ProfileClient.h:27
MCAPI void $generateCPUProfileTokenDynamic(::Core::Profile::CPUProfileToken &, char const *, uint, ::brstd::source_location const &)
MCAPI void $dumpFile(char const *, ::Core::Profile::FileExtension)
MCAPI void $generateCPUProfileTokenLegacy(::Core::Profile::CPUProfileToken &, char const *, char const *, uint, ::brstd::source_location const &)
MCAPI uchar $createGPUContext(char const *, int64, float, bool, bool)
MCAPI void $counterSet(::Core::Profile::CounterToken const &, int64)
MCAPI void $generateCPUProfileTokenStatic(::Core::Profile::CPUProfileToken &target, char const *group, ::Bedrock::Profiler::details::StaticProfLabel label, uint color, ::brstd::source_location const &location)
MCAPI void $emitLogMessage(::Core::Profile::LogMessageToken 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 $emitGPUTiming(uint, int64, int64)
MCAPI void $leaveCPUProfile(::Bedrock::Profile::ScopeStackStorage &scope, ::Core::Profile::CPUProfileToken const &token)
MCAPI void $enterCPUProfileDynamic(::Bedrock::Profile::ScopeStackStorage &scope, ::Core::Profile::CPUProfileToken const &token, ::Bedrock::Profiler::details::DynamicProfLabel)
MCAPI void $onHeapAllocation(void const *, uint64, ::Memory::MemoryCategory, char const *)
MCAPI void $syncGPUTiming(uchar, int64, int64, int64)
MCAPI void $generateLogMessageTokenDynamic(::Core::Profile::LogMessageToken &, char const *, uint, ::brstd::source_location const &)
MCAPI void $generateLogMessageTokenStatic(::Core::Profile::LogMessageToken &, char const *, ::Bedrock::Profiler::details::StaticProfLabel, uint, ::brstd::source_location const &)
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 $onFrameTransition(uchar previousFrameType)
MCAPI void $onThreadCreate(::brstd::basic_cstring_view< char, ::std::char_traits< char > > name, ::Core::Profile::ThreadFrameType frameType)
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 $emitLogMessageDynamic(::Core::Profile::LogMessageToken const &, ::Bedrock::Profiler::details::DynamicProfLabel)
MCAPI void $enterCPUProfile(::Bedrock::Profile::ScopeStackStorage &scope, ::Core::Profile::CPUProfileToken const &token)
MCAPI void $endCapture(bool)
MCAPI void $generateGPUProfileTokenDynamic(::Core::Profile::GPUProfileToken &, char const *, char const *, uint, ::brstd::source_location const &)
Definition basic_cstring_view.h:8
Definition DynamicProfLabel.h:7
Definition StaticProfLabel.h:7
Definition source_location.h:7