Rumba C++ SDK
Profiler.h
Go to the documentation of this file.
1
/*
2
3
*
4
***
5
*****
6
********************* Mercenaries Engineering SARL
7
***************** Copyright (C) 2025
8
*************
9
********* http://www.mercenaries-engineering.com
10
***********
11
**** ****
12
** **
13
14
*/
15
#pragma once
16
17
#include "
Export.h
"
18
19
#ifdef TRACY_ENABLE
20
21
#include <tracy/Tracy.hpp>
22
23
#define PROFILE ZoneScopedN
24
25
#else
26
27
#define PROFILE
28
29
#define TracyNoop
30
31
#define ZoneNamed(x,y)
32
#define ZoneNamedN(x,y,z)
33
#define ZoneNamedC(x,y,z)
34
#define ZoneNamedNC(x,y,z,w)
35
36
#define ZoneTransient(x,y)
37
#define ZoneTransientN(x,y,z)
38
39
#define ZoneScoped
40
#define ZoneScopedN(x)
41
#define ZoneScopedC(x)
42
#define ZoneScopedNC(x,y)
43
44
#define ZoneText(x,y)
45
#define ZoneTextV(x,y,z)
46
#define ZoneTextF(x,...)
47
#define ZoneTextVF(x,y,...)
48
#define ZoneName(x,y)
49
#define ZoneNameV(x,y,z)
50
#define ZoneNameF(x,...)
51
#define ZoneNameVF(x,y,...)
52
#define ZoneColor(x)
53
#define ZoneColorV(x,y)
54
#define ZoneValue(x)
55
#define ZoneValueV(x,y)
56
#define ZoneIsActive false
57
#define ZoneIsActiveV(x) false
58
59
#define FrameMark
60
#define FrameMarkNamed(x)
61
#define FrameMarkStart(x)
62
#define FrameMarkEnd(x)
63
64
#define FrameImage(x,y,z,w,a)
65
66
#define TracyLockable( type, varname ) type varname
67
#define TracyLockableN( type, varname, desc ) type varname
68
#define TracySharedLockable( type, varname ) type varname
69
#define TracySharedLockableN( type, varname, desc ) type varname
70
#define LockableBase( type ) type
71
#define SharedLockableBase( type ) type
72
#define LockMark(x) (void)x
73
#define LockableName(x,y,z)
74
75
#define TracyPlot(x,y)
76
#define TracyPlotConfig(x,y,z,w,a)
77
78
#define TracyMessage(x,y)
79
#define TracyMessageL(x)
80
#define TracyMessageC(x,y,z)
81
#define TracyMessageLC(x,y)
82
#define TracyAppInfo(x,y)
83
84
#define TracyAlloc(x,y)
85
#define TracyFree(x)
86
#define TracyMemoryDiscard(x)
87
#define TracySecureAlloc(x,y)
88
#define TracySecureFree(x)
89
#define TracySecureMemoryDiscard(x)
90
91
#define TracyAllocN(x,y,z)
92
#define TracyFreeN(x,y)
93
#define TracySecureAllocN(x,y,z)
94
#define TracySecureFreeN(x,y)
95
96
#define ZoneNamedS(x,y,z)
97
#define ZoneNamedNS(x,y,z,w)
98
#define ZoneNamedCS(x,y,z,w)
99
#define ZoneNamedNCS(x,y,z,w,a)
100
101
#define ZoneTransientS(x,y,z)
102
#define ZoneTransientNS(x,y,z,w)
103
104
#define ZoneScopedS(x)
105
#define ZoneScopedNS(x,y)
106
#define ZoneScopedCS(x,y)
107
#define ZoneScopedNCS(x,y,z)
108
109
#define TracyAllocS(x,y,z)
110
#define TracyFreeS(x,y)
111
#define TracyMemoryDiscardS(x,y)
112
#define TracySecureAllocS(x,y,z)
113
#define TracySecureFreeS(x,y)
114
#define TracySecureMemoryDiscardS(x,y)
115
116
#define TracyAllocNS(x,y,z,w)
117
#define TracyFreeNS(x,y,z)
118
#define TracySecureAllocNS(x,y,z,w)
119
#define TracySecureFreeNS(x,y,z)
120
121
#define TracyMessageS(x,y,z)
122
#define TracyMessageLS(x,y)
123
#define TracyMessageCS(x,y,z,w)
124
#define TracyMessageLCS(x,y,z)
125
126
#define TracySourceCallbackRegister(x,y)
127
#define TracyParameterRegister(x,y)
128
#define TracyParameterSetup(x,y,z,w)
129
#define TracyIsConnected false
130
#define TracyIsStarted false
131
#define TracySetProgramName(x)
132
133
#define TracyFiberEnter(x)
134
#define TracyFiberEnterHint(x,y)
135
#define TracyFiberLeave
136
137
#endif
138
139
namespace
maquina
140
{
141
142
// Called once at the beginning of the frame
144
MAQUINA_EXPORT
void
profile_frame_start();
145
146
// Called once at the beginning of each viewport rendering
148
MAQUINA_EXPORT
void
profile_viewport_start(
bool
main_window);
149
150
// Called once at the end of each viewport rendering
152
MAQUINA_EXPORT
void
profile_viewport_end(
bool
main_window);
153
154
// Start a profile zone
156
MAQUINA_EXPORT
void
profile_zone_start(
int
line,
const
std::string& source,
const
std::string&
function
,
const
std::string& name,
int
color);
157
158
// End a profile zone, must match the start
160
MAQUINA_EXPORT
void
profile_zone_end();
161
162
// Return true if maquina is compiled in profiling mode
164
MAQUINA_EXPORT
bool
is_profiling();
165
166
}
Export.h
maquina
This version of the SDK is unstable, i-e, it may change with no warning.
Definition:
AddCurveAction.h:20
MAQUINA_EXPORT
#define MAQUINA_EXPORT
Definition:
Export.h:31
maquina
include
Maquina
Profiler.h
Generated by
doxygen
1.8.14