mirror of
https://github.com/wolfpld/tracy.git
synced 2025-03-20 07:40:02 +08:00
Allow sending application information messages.
This commit is contained in:
@@ -1338,6 +1338,11 @@ void Profiler::Worker()
|
||||
for( auto& item : m_deferredQueue )
|
||||
{
|
||||
const auto idx = MemRead<uint8_t>( &item.hdr.idx );
|
||||
if( (QueueType)idx == QueueType::MessageAppInfo )
|
||||
{
|
||||
uint64_t ptr = MemRead<uint64_t>( &item.message.text );
|
||||
SendString( ptr, (const char*)ptr, QueueType::CustomStringData );
|
||||
}
|
||||
AppendData( &item, QueueDataSize[idx] );
|
||||
}
|
||||
m_deferredLock.unlock();
|
||||
@@ -1591,6 +1596,9 @@ static void FreeAssociatedMemory( const QueueItem& item )
|
||||
break;
|
||||
case QueueType::Message:
|
||||
case QueueType::MessageColor:
|
||||
#ifndef TRACY_ON_DEMAND
|
||||
case QueueType::MessageAppInfo:
|
||||
#endif
|
||||
ptr = MemRead<uint64_t>( &item.message.text );
|
||||
tracy_free( (void*)ptr );
|
||||
break;
|
||||
@@ -1617,6 +1625,11 @@ static void FreeAssociatedMemory( const QueueItem& item )
|
||||
ptr = MemRead<uint64_t>( &item.frameImage.image );
|
||||
tracy_free( (void*)ptr );
|
||||
break;
|
||||
#ifdef TRACY_ON_DEMAND
|
||||
case QueueType::MessageAppInfo:
|
||||
// Don't free memory associated with deferred messages.
|
||||
break;
|
||||
#endif
|
||||
default:
|
||||
assert( false );
|
||||
break;
|
||||
@@ -1681,6 +1694,13 @@ Profiler::DequeueStatus Profiler::Dequeue( moodycamel::ConsumerToken& token )
|
||||
SendString( ptr, (const char*)ptr, QueueType::CustomStringData );
|
||||
tracy_free( (void*)ptr );
|
||||
break;
|
||||
case QueueType::MessageAppInfo:
|
||||
ptr = MemRead<uint64_t>( &item->message.text );
|
||||
SendString( ptr, (const char*)ptr, QueueType::CustomStringData );
|
||||
#ifndef TRACY_ON_DEMAND
|
||||
tracy_free( (void*)ptr );
|
||||
#endif
|
||||
break;
|
||||
case QueueType::ZoneBeginAllocSrcLoc:
|
||||
case QueueType::ZoneBeginAllocSrcLocCallstack:
|
||||
ptr = MemRead<uint64_t>( &item->zoneBegin.srcloc );
|
||||
@@ -2445,6 +2465,7 @@ void ___tracy_emit_message( const char* txt, size_t size ) { tracy::Profiler::Me
|
||||
void ___tracy_emit_messageL( const char* txt ) { tracy::Profiler::Message( txt ); }
|
||||
void ___tracy_emit_messageC( const char* txt, size_t size, uint32_t color ) { tracy::Profiler::MessageColor( txt, size, color ); }
|
||||
void ___tracy_emit_messageLC( const char* txt, uint32_t color ) { tracy::Profiler::MessageColor( txt, color ); }
|
||||
void ___tracy_emit_message_appinfo( const char* txt, size_t size ) { tracy::Profiler::MessageAppInfo( txt, size ); }
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user