diff --git a/public/client/TracyLock.hpp b/public/client/TracyLock.hpp index e513cdc5..296a41ba 100644 --- a/public/client/TracyLock.hpp +++ b/public/client/TracyLock.hpp @@ -98,7 +98,6 @@ public: auto item = Profiler::QueueSerial(); MemWrite( &item->hdr.type, QueueType::LockRelease ); - MemWrite( &item->lockRelease.thread, GetThreadHandle() ); MemWrite( &item->lockRelease.id, m_id ); MemWrite( &item->lockRelease.time, Profiler::GetTime() ); Profiler::QueueSerialFinish(); @@ -313,7 +312,6 @@ public: auto item = Profiler::QueueSerial(); MemWrite( &item->hdr.type, QueueType::LockRelease ); - MemWrite( &item->lockRelease.thread, GetThreadHandle() ); MemWrite( &item->lockRelease.id, m_id ); MemWrite( &item->lockRelease.time, Profiler::GetTime() ); Profiler::QueueSerialFinish(); @@ -395,9 +393,9 @@ public: auto item = Profiler::QueueSerial(); MemWrite( &item->hdr.type, QueueType::LockSharedRelease ); - MemWrite( &item->lockRelease.thread, GetThreadHandle() ); - MemWrite( &item->lockRelease.id, m_id ); - MemWrite( &item->lockRelease.time, Profiler::GetTime() ); + MemWrite( &item->lockReleaseShared.thread, GetThreadHandle() ); + MemWrite( &item->lockReleaseShared.id, m_id ); + MemWrite( &item->lockReleaseShared.time, Profiler::GetTime() ); Profiler::QueueSerialFinish(); } diff --git a/public/common/TracyProtocol.hpp b/public/common/TracyProtocol.hpp index e74f0029..636b816d 100644 --- a/public/common/TracyProtocol.hpp +++ b/public/common/TracyProtocol.hpp @@ -9,7 +9,7 @@ namespace tracy constexpr unsigned Lz4CompressBound( unsigned isize ) { return isize + ( isize / 255 ) + 16; } -enum : uint32_t { ProtocolVersion = 57 }; +enum : uint32_t { ProtocolVersion = 58 }; enum : uint16_t { BroadcastVersion = 2 }; using lz4sz_t = uint32_t; diff --git a/public/common/TracyQueue.hpp b/public/common/TracyQueue.hpp index afa50544..6bc89502 100644 --- a/public/common/TracyQueue.hpp +++ b/public/common/TracyQueue.hpp @@ -278,11 +278,15 @@ struct QueueLockObtain struct QueueLockRelease { - uint32_t thread; uint32_t id; int64_t time; }; +struct QueueLockReleaseShared : public QueueLockRelease +{ + uint32_t thread; +}; + struct QueueLockMark { uint32_t thread; @@ -670,6 +674,7 @@ struct QueueItem QueueLockWait lockWait; QueueLockObtain lockObtain; QueueLockRelease lockRelease; + QueueLockReleaseShared lockReleaseShared; QueueLockMark lockMark; QueueLockName lockName; QueueLockNameFat lockNameFat; @@ -753,7 +758,7 @@ static constexpr size_t QueueDataSize[] = { sizeof( QueueHeader ) + sizeof( QueueLockRelease ), sizeof( QueueHeader ) + sizeof( QueueLockWait ), // shared sizeof( QueueHeader ) + sizeof( QueueLockObtain ), // shared - sizeof( QueueHeader ) + sizeof( QueueLockRelease ), // shared + sizeof( QueueHeader ) + sizeof( QueueLockReleaseShared ), sizeof( QueueHeader ) + sizeof( QueueLockName ), sizeof( QueueHeader ) + sizeof( QueueMemAlloc ), sizeof( QueueHeader ) + sizeof( QueueMemAlloc ), // named