diff --git a/CMakeLists.txt b/CMakeLists.txt index 75527b1a..eb14ea95 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -211,6 +211,7 @@ set(client_includes ${TRACY_PUBLIC_DIR}/client/TracyDxt1.hpp ${TRACY_PUBLIC_DIR}/client/TracyFastVector.hpp ${TRACY_PUBLIC_DIR}/client/TracyLock.hpp + ${TRACY_PUBLIC_DIR}/client/TracyMangle.hpp ${TRACY_PUBLIC_DIR}/client/TracyProfiler.hpp ${TRACY_PUBLIC_DIR}/client/TracyRingBuffer.hpp ${TRACY_PUBLIC_DIR}/client/TracyScoped.hpp diff --git a/meson.build b/meson.build index 84da0045..e3c0b264 100644 --- a/meson.build +++ b/meson.build @@ -165,6 +165,7 @@ client_includes = [ 'public/client/TracyFastVector.hpp', 'public/client/TracyKCore.hpp', 'public/client/TracyLock.hpp', + 'public/client/TracyMangle.hpp', 'public/client/TracyProfiler.hpp', 'public/client/TracyRingBuffer.hpp', 'public/client/TracyScoped.hpp', diff --git a/public/client/TracyMangle.hpp b/public/client/TracyMangle.hpp new file mode 100644 index 00000000..91baf39c --- /dev/null +++ b/public/client/TracyMangle.hpp @@ -0,0 +1,57 @@ +#ifndef __TRACYMANGLE_HPP__ +#define __TRACYMANGLE_HPP__ + +#ifdef TRACY_ENABLE +#define TRACY_ENABLE_MANGLE _E1 +#else +#define TRACY_ENABLE_MANGLE _E0 +#endif + +#ifdef TRACY_ON_DEMAND +#define TRACY_ON_DEMAND_MANGLE _OD1 +#else +#define TRACY_ON_DEMAND_MANGLE _OD0 +#endif + +#ifdef TRACY_DELAYED_INIT +#define TRACY_DELAYED_INIT_MANGLE _DI1 +#else +#define TRACY_DELAYED_INIT_MANGLE _DI0 +#endif + +#ifdef TRACY_MANUAL_LIFETIME +#define TRACY_MANUAL_LIFETIME_MANGLE _ML1 +#else +#define TRACY_MANUAL_LIFETIME_MANGLE _ML0 +#endif + +#ifdef TRACY_FIBERS +#define TRACY_FIBERS_MANGLE _F1 +#else +#define TRACY_FIBERS_MANGLE _F0 +#endif + +#ifdef TRACY_DISALLOW_HW_TIMER +#define TRACY_DISALLOW_HW_TIMER_MANGLE _DHT1 +#else +#define TRACY_DISALLOW_HW_TIMER_MANGLE _DHT0 +#endif + +#ifdef TRACY_TIMER_FALLBACK +#define TRACY_TIMER_FALLBACK_MANGLE _TF1 +#else +#define TRACY_TIMER_FALLBACK_MANGLE _TF0 +#endif + +#define MANGLED_NAME_BASED_ON_CONFIG(base) \ + TracyConcat(TracyConcat(TracyConcat(TracyConcat(TracyConcat(TracyConcat(TracyConcat( \ + base##_CFG, \ + TRACY_ENABLE_MANGLE), \ + TRACY_ON_DEMAND_MANGLE), \ + TRACY_DELAYED_INIT_MANGLE), \ + TRACY_MANUAL_LIFETIME_MANGLE), \ + TRACY_FIBERS_MANGLE), \ + TRACY_DISALLOW_HW_TIMER_MANGLE), \ + TRACY_TIMER_FALLBACK_MANGLE) + +#endif // __TRACYMANGLE_HPP__ diff --git a/public/client/TracyProfiler.cpp b/public/client/TracyProfiler.cpp index 113e66c9..7d527517 100644 --- a/public/client/TracyProfiler.cpp +++ b/public/client/TracyProfiler.cpp @@ -1374,7 +1374,7 @@ static ProfilerThreadData& GetProfilerThreadData() #endif TRACY_API moodycamel::ConcurrentQueue::ExplicitProducer* GetToken() { return GetProfilerThreadData().token.ptr; } -TRACY_API Profiler& MANGLED_NAME_BASED_ON_DEFINES(GetProfiler)() { return GetProfilerData().profiler; } +TRACY_API Profiler& MANGLED_NAME_BASED_ON_CONFIG(GetProfiler)() { return GetProfilerData().profiler; } TRACY_API moodycamel::ConcurrentQueue& GetQueue() { return GetProfilerData().queue; } TRACY_API int64_t GetInitTime() { return GetProfilerData().initTime; } TRACY_API std::atomic& GetLockCounter() { return GetProfilerData().lockCounter; } @@ -1434,7 +1434,7 @@ thread_local LuaZoneState init_order(104) s_luaZoneState { 0, false }; static Profiler init_order(105) s_profiler; TRACY_API moodycamel::ConcurrentQueue::ExplicitProducer* GetToken() { return s_token.ptr; } -TRACY_API Profiler& MANGLED_NAME_BASED_ON_DEFINES(GetProfiler)() { return s_profiler; } +TRACY_API Profiler& MANGLED_NAME_BASED_ON_CONFIG(GetProfiler)() { return s_profiler; } TRACY_API moodycamel::ConcurrentQueue& GetQueue() { return s_queue; } TRACY_API int64_t GetInitTime() { return s_initTime.val; } TRACY_API std::atomic& GetLockCounter() { return s_lockCounter; } diff --git a/public/client/TracyProfiler.hpp b/public/client/TracyProfiler.hpp index 5746340f..6c42d5d5 100644 --- a/public/client/TracyProfiler.hpp +++ b/public/client/TracyProfiler.hpp @@ -12,6 +12,7 @@ #include "tracy_SPSCQueue.h" #include "TracyCallstack.hpp" #include "TracyKCore.hpp" +#include "TracyMangle.hpp" #include "TracySysPower.hpp" #include "TracySysTime.hpp" #include "TracyFastVector.hpp" @@ -60,59 +61,6 @@ # define TracyConcatIndirect(x,y) x##y #endif -#ifdef TRACY_ENABLE -#define TRACY_ENABLE_MANGLE _E1 -#else -#define TRACY_ENABLE_MANGLE _E0 -#endif - -#ifdef TRACY_ON_DEMAND -#define TRACY_ON_DEMAND_MANGLE _OD1 -#else -#define TRACY_ON_DEMAND_MANGLE _OD0 -#endif - -#ifdef TRACY_DELAYED_INIT -#define TRACY_DELAYED_INIT_MANGLE _DI1 -#else -#define TRACY_DELAYED_INIT_MANGLE _DI0 -#endif - -#ifdef TRACY_MANUAL_LIFETIME -#define TRACY_MANUAL_LIFETIME_MANGLE _ML1 -#else -#define TRACY_MANUAL_LIFETIME_MANGLE _ML0 -#endif - -#ifdef TRACY_FIBERS -#define TRACY_FIBERS_MANGLE _F1 -#else -#define TRACY_FIBERS_MANGLE _F0 -#endif - -#ifdef TRACY_DISALLOW_HW_TIMER -#define TRACY_DISALLOW_HW_TIMER_MANGLE _DHT1 -#else -#define TRACY_DISALLOW_HW_TIMER_MANGLE _DHT0 -#endif - -#ifdef TRACY_TIMER_FALLBACK -#define TRACY_TIMER_FALLBACK_MANGLE _TF1 -#else -#define TRACY_TIMER_FALLBACK_MANGLE _TF0 -#endif - -#define MANGLED_NAME_BASED_ON_DEFINES(base) \ - TracyConcat(TracyConcat(TracyConcat(TracyConcat(TracyConcat(TracyConcat(TracyConcat( \ - base##_CFG, \ - TRACY_ENABLE_MANGLE), \ - TRACY_ON_DEMAND_MANGLE), \ - TRACY_DELAYED_INIT_MANGLE), \ - TRACY_MANUAL_LIFETIME_MANGLE), \ - TRACY_FIBERS_MANGLE), \ - TRACY_DISALLOW_HW_TIMER_MANGLE), \ - TRACY_TIMER_FALLBACK_MANGLE) - namespace tracy { #if defined(TRACY_DELAYED_INIT) && defined(TRACY_MANUAL_LIFETIME) @@ -138,8 +86,8 @@ struct GpuCtxWrapper }; TRACY_API moodycamel::ConcurrentQueue::ExplicitProducer* GetToken(); -TRACY_API Profiler& MANGLED_NAME_BASED_ON_DEFINES(GetProfiler)(); -tracy_force_inline Profiler& GetProfiler() { return MANGLED_NAME_BASED_ON_DEFINES(GetProfiler)(); } +TRACY_API Profiler& MANGLED_NAME_BASED_ON_CONFIG(GetProfiler)(); +tracy_force_inline Profiler& GetProfiler() { return MANGLED_NAME_BASED_ON_CONFIG(GetProfiler)(); } TRACY_API std::atomic& GetLockCounter(); TRACY_API std::atomic& GetGpuCtxCounter(); TRACY_API GpuCtxWrapper& GetGpuCtx();