tracy/Tracy.hpp

53 lines
2.0 KiB
C++
Raw Normal View History

2017-09-10 18:10:20 +00:00
#ifndef __TRACY_HPP__
#define __TRACY_HPP__
2017-10-22 15:05:35 +00:00
#include "common/TracySystem.hpp"
#ifndef TRACY_ENABLE
#define ZoneScoped
2017-09-25 20:46:14 +00:00
#define ZoneScopedC(x)
#define ZoneText(x,y)
2017-09-28 17:28:24 +00:00
#define ZoneName(x)
#define FrameMark
2017-10-04 13:41:02 +00:00
#define TracyLockable( type, varname ) type varname;
2017-10-12 18:00:53 +00:00
#define TracyLockableN( type, varname, desc ) type varname;
2017-10-04 13:41:02 +00:00
#define LockableBase( type ) type
2017-10-06 14:32:32 +00:00
#define LockMark(x)
2017-10-04 13:41:02 +00:00
2017-10-13 00:07:03 +00:00
#define TracyPlot(x,y)
2017-10-15 11:06:20 +00:00
#define TracyMessage(x,y)
2017-10-15 11:06:49 +00:00
#define TracyMessageL(x)
2017-10-14 11:23:13 +00:00
#else
2017-10-16 19:28:38 +00:00
#include "client/TracyLock.hpp"
#include "client/TracyProfiler.hpp"
#include "client/TracyScoped.hpp"
2017-09-10 18:10:20 +00:00
2017-09-29 16:29:32 +00:00
#define ZoneScoped static const tracy::SourceLocation __tracy_source_location { __FUNCTION__, __FILE__, (uint32_t)__LINE__, 0 }; tracy::ScopedZone ___tracy_scoped_zone( &__tracy_source_location );
#define ZoneScopedC( color ) static const tracy::SourceLocation __tracy_source_location { __FUNCTION__, __FILE__, (uint32_t)__LINE__, color }; tracy::ScopedZone ___tracy_scoped_zone( &__tracy_source_location );
2017-09-25 20:46:14 +00:00
2017-09-27 00:18:17 +00:00
#define ZoneText( txt, size ) ___tracy_scoped_zone.Text( txt, size );
2017-09-28 17:28:24 +00:00
#define ZoneName( name ) ___tracy_scoped_zone.Name( name );
2017-09-27 00:18:17 +00:00
2017-09-15 22:30:27 +00:00
#define FrameMark tracy::Profiler::FrameMark();
2017-09-10 18:10:20 +00:00
#define TracyLockable( type, varname ) tracy::Lockable<type> varname { [] () -> const tracy::SourceLocation* { static const tracy::SourceLocation srcloc { #type " " #varname, __FILE__, __LINE__, 0 }; return &srcloc; }() };
2017-10-12 18:00:53 +00:00
#define TracyLockableN( type, varname, desc ) tracy::Lockable<type> varname { [] () -> const tracy::SourceLocation* { static const tracy::SourceLocation srcloc { desc, __FILE__, __LINE__, 0 }; return &srcloc; }() };
2017-10-04 13:41:02 +00:00
#define LockableBase( type ) tracy::Lockable<type>
2017-10-06 14:33:11 +00:00
#define LockMark( varname ) static const tracy::SourceLocation __tracy_lock_location_##varname { __FUNCTION__, __FILE__, (uint32_t)__LINE__, 0 }; varname.Mark( &__tracy_lock_location_##varname );
2017-10-04 13:41:02 +00:00
2017-10-13 00:07:03 +00:00
#define TracyPlot( name, val ) tracy::Profiler::PlotData( name, val );
2017-10-14 11:23:13 +00:00
#define TracyMessage( txt, size ) tracy::Profiler::Message( txt, size );
2017-10-15 11:06:49 +00:00
#define TracyMessageL( txt ) tracy::Profiler::Message( txt );
2017-10-14 11:23:13 +00:00
2017-09-10 18:10:20 +00:00
#endif
#endif