From 18713de70c003970a2048b63f307c62cd575b3b8 Mon Sep 17 00:00:00 2001 From: Bartosz Taudul Date: Sun, 26 Jul 2020 14:18:48 +0200 Subject: [PATCH] No need for lean frame image message. --- client/TracyProfiler.cpp | 20 +++++++++----------- common/TracyQueue.hpp | 10 ++++------ server/TracyWorker.cpp | 6 +++--- server/TracyWorker.hpp | 2 +- 4 files changed, 17 insertions(+), 21 deletions(-) diff --git a/client/TracyProfiler.cpp b/client/TracyProfiler.cpp index bdf0aeeb..a75bd7fa 100644 --- a/client/TracyProfiler.cpp +++ b/client/TracyProfiler.cpp @@ -1680,12 +1680,12 @@ void Profiler::CompressWorker() tracy_free( fi->image ); TracyLfqPrepare( QueueType::FrameImage ); - MemWrite( &item->frameImage.image, (uint64_t)etc1buf ); - MemWrite( &item->frameImage.frame, fi->frame ); - MemWrite( &item->frameImage.w, w ); - MemWrite( &item->frameImage.h, h ); + MemWrite( &item->frameImageFat.image, (uint64_t)etc1buf ); + MemWrite( &item->frameImageFat.frame, fi->frame ); + MemWrite( &item->frameImageFat.w, w ); + MemWrite( &item->frameImageFat.h, h ); uint8_t flip = fi->flip; - MemWrite( &item->frameImage.flip, flip ); + MemWrite( &item->frameImageFat.flip, flip ); TracyLfqCommit; fi++; @@ -1747,7 +1747,7 @@ static void FreeAssociatedMemory( const QueueItem& item ) tracy_free( (void*)ptr ); break; case QueueType::FrameImage: - ptr = MemRead( &item.frameImage.image ); + ptr = MemRead( &item.frameImageFat.image ); tracy_free( (void*)ptr ); break; #ifndef TRACY_ON_DEMAND @@ -1908,14 +1908,12 @@ Profiler::DequeueStatus Profiler::Dequeue( moodycamel::ConsumerToken& token ) } case QueueType::FrameImage: { - ptr = MemRead( &item->frameImage.image ); - const auto w = MemRead( &item->frameImage.w ); - const auto h = MemRead( &item->frameImage.h ); + ptr = MemRead( &item->frameImageFat.image ); + const auto w = MemRead( &item->frameImageFat.w ); + const auto h = MemRead( &item->frameImageFat.h ); const auto csz = size_t( w * h / 2 ); SendLongString( ptr, (const char*)ptr, csz, QueueType::FrameImageData ); tracy_free( (void*)ptr ); - idx++; - MemWrite( &item->hdr.idx, idx ); break; } case QueueType::ZoneBegin: diff --git a/common/TracyQueue.hpp b/common/TracyQueue.hpp index 96555eee..5bbcf349 100644 --- a/common/TracyQueue.hpp +++ b/common/TracyQueue.hpp @@ -26,7 +26,6 @@ enum class QueueType : uint8_t CallstackSample, CallstackSampleLean, FrameImage, - FrameImageLean, ZoneBegin, ZoneBeginCallstack, ZoneEnd, @@ -140,7 +139,7 @@ struct QueueFrameMark uint64_t name; // ptr }; -struct QueueFrameImageLean +struct QueueFrameImage { uint32_t frame; uint16_t w; @@ -148,7 +147,7 @@ struct QueueFrameImageLean uint8_t flip; }; -struct QueueFrameImage : public QueueFrameImageLean +struct QueueFrameImageFat : public QueueFrameImage { uint64_t image; // ptr }; @@ -488,7 +487,7 @@ struct QueueItem QueueStringTransfer stringTransfer; QueueFrameMark frameMark; QueueFrameImage frameImage; - QueueFrameImage frameImageLean; + QueueFrameImageFat frameImageFat; QueueSourceLocation srcloc; QueueZoneTextFat zoneTextFat; QueueLockAnnounce lockAnnounce; @@ -554,8 +553,7 @@ static constexpr size_t QueueDataSize[] = { sizeof( QueueHeader ), // lean callstack alloc sizeof( QueueHeader ) + sizeof( QueueCallstackSample ), // not for network transfer sizeof( QueueHeader ) + sizeof( QueueCallstackSampleLean ), - sizeof( QueueHeader ) + sizeof( QueueFrameImage ), // not for network transfer - sizeof( QueueHeader ) + sizeof( QueueFrameImageLean ), + sizeof( QueueHeader ) + sizeof( QueueFrameImage ), sizeof( QueueHeader ) + sizeof( QueueZoneBegin ), sizeof( QueueHeader ) + sizeof( QueueZoneBegin ), // callstack sizeof( QueueHeader ) + sizeof( QueueZoneEnd ), diff --git a/server/TracyWorker.cpp b/server/TracyWorker.cpp index 2cce15d2..b2810612 100644 --- a/server/TracyWorker.cpp +++ b/server/TracyWorker.cpp @@ -3905,8 +3905,8 @@ bool Worker::Process( const QueueItem& ev ) case QueueType::FrameMarkMsgEnd: ProcessFrameMarkEnd( ev.frameMark ); break; - case QueueType::FrameImageLean: - ProcessFrameImage( ev.frameImageLean ); + case QueueType::FrameImage: + ProcessFrameImage( ev.frameImage ); break; case QueueType::SourceLocation: AddSourceLocation( ev.srcloc ); @@ -4428,7 +4428,7 @@ void Worker::ProcessFrameMarkEnd( const QueueFrameMark& ev ) #endif } -void Worker::ProcessFrameImage( const QueueFrameImageLean& ev ) +void Worker::ProcessFrameImage( const QueueFrameImage& ev ) { assert( m_pendingFrameImageData.image != nullptr ); diff --git a/server/TracyWorker.hpp b/server/TracyWorker.hpp index fdea775a..7b191ef7 100644 --- a/server/TracyWorker.hpp +++ b/server/TracyWorker.hpp @@ -613,7 +613,7 @@ private: tracy_force_inline void ProcessFrameMark( const QueueFrameMark& ev ); tracy_force_inline void ProcessFrameMarkStart( const QueueFrameMark& ev ); tracy_force_inline void ProcessFrameMarkEnd( const QueueFrameMark& ev ); - tracy_force_inline void ProcessFrameImage( const QueueFrameImageLean& ev ); + tracy_force_inline void ProcessFrameImage( const QueueFrameImage& ev ); tracy_force_inline void ProcessZoneText(); tracy_force_inline void ProcessZoneName(); tracy_force_inline void ProcessZoneValue( const QueueZoneValue& ev );