Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/wolfpld/tracy.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/public
diff options
context:
space:
mode:
authorBartosz Taudul <wolf@nereid.pl>2022-08-17 16:36:54 +0300
committerBartosz Taudul <wolf@nereid.pl>2022-08-17 17:04:18 +0300
commited7be2faaace363bdebfb67492fd46e7421b941c (patch)
tree4b1b9e9ac9601c157a5ebd9a6df205ca854c021b /public
parent4bcb59bbe6c637952e976028e44a2210519d99ae (diff)
Add source contents callback setup.
Diffstat (limited to 'public')
-rw-r--r--public/client/TracyProfiler.cpp1
-rw-r--r--public/client/TracyProfiler.hpp10
2 files changed, 11 insertions, 0 deletions
diff --git a/public/client/TracyProfiler.cpp b/public/client/TracyProfiler.cpp
index a1798be0..41131b84 100644
--- a/public/client/TracyProfiler.cpp
+++ b/public/client/TracyProfiler.cpp
@@ -1356,6 +1356,7 @@ Profiler::Profiler()
, m_deferredQueue( 64*1024 )
#endif
, m_paramCallback( nullptr )
+ , m_sourceCallback( nullptr )
, m_queryImage( nullptr )
, m_queryData( nullptr )
, m_crashHandlerInstalled( false )
diff --git a/public/client/TracyProfiler.hpp b/public/client/TracyProfiler.hpp
index bf478567..269285ea 100644
--- a/public/client/TracyProfiler.hpp
+++ b/public/client/TracyProfiler.hpp
@@ -150,6 +150,7 @@ struct LuaZoneState
typedef void(*ParameterCallback)( uint32_t idx, int32_t val );
+typedef char*(*SourceContentsCallback)( void* data, const char* filename, size_t& size );
class Profiler
{
@@ -634,6 +635,13 @@ public:
TracyLfqCommit;
}
+ static tracy_force_inline void SourceCallbackRegister( SourceContentsCallback cb, void* data )
+ {
+ auto& profiler = GetProfiler();
+ profiler.m_sourceCallback = cb;
+ profiler.m_sourceCallbackData = data;
+ }
+
#ifdef TRACY_FIBERS
static tracy_force_inline void EnterFiber( const char* fiber )
{
@@ -928,6 +936,8 @@ private:
#endif
ParameterCallback m_paramCallback;
+ SourceContentsCallback m_sourceCallback;
+ void* m_sourceCallbackData;
char* m_queryImage;
char* m_queryData;