|
7 | 7 |
|
8 | 8 | #pragma once |
9 | 9 |
|
10 | | -#if defined(MOMENTUM_WITH_XR_PROFILE) |
| 10 | +#if defined(MOMENTUM_WITH_XR_PROFILER) |
11 | 11 |
|
12 | 12 | #include <arvr/libraries/profile_redirect/annotate.hpp> |
13 | 13 |
|
|
25 | 25 | #define MT_PROFILE_END_FRAME() XR_PROFILE_END_FRAME() |
26 | 26 | #define MT_PROFILE_METADATA(NAME, DATA) XR_PROFILE_METADATA(NAME, DATA) |
27 | 27 |
|
| 28 | +#elif defined(MOMENTUM_WITH_TRACY_PROFILER) |
| 29 | + |
| 30 | +#include <tracy/Tracy.hpp> |
| 31 | +#include <tracy/TracyC.h> |
| 32 | +#include <stack> |
| 33 | + |
| 34 | +#define _MT_PROFILE_CONCATENATE_DETAIL(x, y) x##y |
| 35 | +#define _MT_PROFILE_CONCATENATE(x, y) _MT_PROFILE_CONCATENATE_DETAIL(x, y) |
| 36 | +#define _MT_PROFILE_MAKE_UNIQUE(x) _MT_PROFILE_CONCATENATE(x, __LINE__) |
| 37 | + |
| 38 | +#define MT_PROFILE_FUNCTION() ZoneScoped |
| 39 | +#define MT_PROFILE_FUNCTION_CATEGORY(CATEGORY) |
| 40 | +#define MT_PROFILE_EVENT(NAME) ZoneNamedN(_MT_PROFILE_MAKE_UNIQUE(__tracy), NAME, true) |
| 41 | +#define MT_PROFILE_EVENT_DYNAMIC(NAME) ZoneTransientN(_MT_PROFILE_MAKE_UNIQUE(__tracy), NAME, true) |
| 42 | +#define MT_PROFILE_CATEGORY(NAME, CATEGORY) |
| 43 | +#define MT_PROFILE_PREPARE_PUSH_POP() std::stack<TracyCZoneCtx> ___tracy_xr_stack |
| 44 | +#define MT_PROFILE_PUSH(NAME) \ |
| 45 | + static const struct ___tracy_source_location_data TracyConcat( \ |
| 46 | + __tracy_source_location, TracyLine) = {NAME, __func__, TracyFile, (uint32_t)TracyLine, 0}; \ |
| 47 | + ___tracy_xr_stack.push( \ |
| 48 | + ___tracy_emit_zone_begin(&TracyConcat(__tracy_source_location, TracyLine), true)); |
| 49 | +#define MT_PROFILE_POP() \ |
| 50 | + TracyCZoneEnd(___tracy_xr_stack.top()); \ |
| 51 | + ___tracy_xr_stack.pop() |
| 52 | +#define MT_PROFILE_THREAD(THREAD_NAME) \ |
| 53 | + { \ |
| 54 | + /* support both std::string and c strings */ \ |
| 55 | + std::string threadNameStr(THREAD_NAME); \ |
| 56 | + TracyCSetThreadName(threadNameStr.c_str()); \ |
| 57 | + } |
| 58 | +#define MT_PROFILE_UPDATE() |
| 59 | +#define MT_PROFILE_BEGIN_FRAME() FrameMark |
| 60 | +#define MT_PROFILE_END_FRAME() |
| 61 | +#define MT_PROFILE_METADATA(NAME, DATA) |
| 62 | + |
28 | 63 | #else |
29 | 64 |
|
30 | 65 | #define MT_PROFILE_FUNCTION() |
|
0 commit comments