1
0
mirror of https://github.com/wolfpld/tracy.git synced 2025-03-20 07:40:02 +08:00

Store thread id next to zone ptr in source location zone list.

This commit is contained in:
Bartosz Taudul
2018-03-18 20:45:49 +01:00
parent 777d672e05
commit d0519499f4
4 changed files with 30 additions and 22 deletions
+11 -3
View File
@@ -33,11 +33,19 @@ struct nohash
class Worker
{
#pragma pack( 1 )
struct ZoneThreadData
{
ZoneEvent* zone;
uint16_t thread;
};
#pragma pack()
struct SourceLocationZones
{
SourceLocationZones() : min( std::numeric_limits<int64_t>::max() ), max( std::numeric_limits<int64_t>::min() ) {}
Vector<ZoneEvent*> zones;
Vector<ZoneThreadData> zones;
int64_t min;
int64_t max;
};
@@ -200,10 +208,10 @@ private:
StringLocation StoreString( char* str, size_t sz );
tracy_force_inline void ReadTimeline( FileRead& f, Vector<ZoneEvent*>& vec );
tracy_force_inline void ReadTimeline( FileRead& f, Vector<ZoneEvent*>& vec, uint16_t thread );
tracy_force_inline void ReadTimeline( FileRead& f, Vector<GpuEvent*>& vec );
void ReadTimeline( FileRead& f, Vector<ZoneEvent*>& vec, uint64_t size );
void ReadTimeline( FileRead& f, Vector<ZoneEvent*>& vec, uint16_t thread, uint64_t size );
void ReadTimeline( FileRead& f, Vector<GpuEvent*>& vec, uint64_t size );
void WriteTimeline( FileWrite& f, const Vector<ZoneEvent*>& vec );