diff --git a/server/TracyView.cpp b/server/TracyView.cpp index 8eb87511..58bc868b 100644 --- a/server/TracyView.cpp +++ b/server/TracyView.cpp @@ -1195,7 +1195,7 @@ int View::DrawZoneLevel( const Vector& vec, bool hover, double pxns, if( d > maxdepth ) maxdepth = d; } - if( ev.end != -1 && m_lastCpu != ev.cpu_end ) + if( ev.end >= 0 && m_lastCpu != ev.cpu_end ) { m_lastCpu = ev.cpu_end; migration = true; @@ -3324,7 +3324,7 @@ void View::DrawFindZone() while( processed < sz ) { auto& ev = zones[processed]; - if( ev.zone->end == -1 ) break; + if( ev.zone->end < 0 ) break; const auto end = m_worker.GetZoneEndDirect( *ev.zone ); const auto timespan = end - ev.zone->start; @@ -3603,7 +3603,7 @@ void View::ZoneTooltip( const ZoneEvent& ev ) ImGui::Text( "Without profiling: %s", TimeToString( end - ev.start - m_worker.GetDelay() * dmul ) ); if( ev.cpu_start != -1 ) { - if( ev.end == -1 || ev.cpu_start == ev.cpu_end ) + if( ev.end < 0 || ev.cpu_start == ev.cpu_end ) { ImGui::Text( "CPU: %i", ev.cpu_start ); } @@ -3659,7 +3659,7 @@ const ZoneEvent* View::GetZoneParent( const ZoneEvent& zone ) const { auto it = std::upper_bound( timeline->begin(), timeline->end(), zone.start, [] ( const auto& l, const auto& r ) { return l < r->start; } ); if( it != timeline->begin() ) --it; - if( zone.end != -1 && (*it)->start > zone.end ) break; + if( zone.end >= 0 && (*it)->start > zone.end ) break; if( *it == &zone ) return parent; if( (*it)->child.empty() ) break; parent = *it; @@ -3680,7 +3680,7 @@ const GpuEvent* View::GetZoneParent( const GpuEvent& zone ) const { auto it = std::upper_bound( timeline->begin(), timeline->end(), zone.gpuStart, [] ( const auto& l, const auto& r ) { return l < r->gpuStart; } ); if( it != timeline->begin() ) --it; - if( zone.gpuEnd != -1 && (*it)->gpuStart > zone.gpuEnd ) break; + if( zone.gpuEnd >= 0 && (*it)->gpuStart > zone.gpuEnd ) break; if( *it == &zone ) return parent; if( (*it)->child.empty() ) break; parent = *it; @@ -3700,7 +3700,7 @@ uint64_t View::GetZoneThread( const ZoneEvent& zone ) const { auto it = std::upper_bound( timeline->begin(), timeline->end(), zone.start, [] ( const auto& l, const auto& r ) { return l < r->start; } ); if( it != timeline->begin() ) --it; - if( zone.end != -1 && (*it)->start > zone.end ) break; + if( zone.end >= 0 && (*it)->start > zone.end ) break; if( *it == &zone ) return thread->id; if( (*it)->child.empty() ) break; timeline = &(*it)->child; @@ -3719,7 +3719,7 @@ uint64_t View::GetZoneThread( const GpuEvent& zone ) const { auto it = std::upper_bound( timeline->begin(), timeline->end(), zone.gpuStart, [] ( const auto& l, const auto& r ) { return l < r->gpuStart; } ); if( it != timeline->begin() ) --it; - if( zone.gpuEnd != -1 && (*it)->gpuStart > zone.gpuEnd ) break; + if( zone.gpuEnd >= 0 && (*it)->gpuStart > zone.gpuEnd ) break; if( *it == &zone ) return ctx->thread; if( (*it)->child.empty() ) break; timeline = &(*it)->child; diff --git a/server/TracyWorker.cpp b/server/TracyWorker.cpp index 699295fa..91976b22 100644 --- a/server/TracyWorker.cpp +++ b/server/TracyWorker.cpp @@ -304,7 +304,7 @@ int64_t Worker::GetZoneEnd( const ZoneEvent& ev ) auto ptr = &ev; for(;;) { - if( ptr->end != -1 ) return ptr->end; + if( ptr->end >= 0 ) return ptr->end; if( ptr->child.empty() ) return ptr->start; ptr = ptr->child.back(); } @@ -315,7 +315,7 @@ int64_t Worker::GetZoneEnd( const GpuEvent& ev ) auto ptr = &ev; for(;;) { - if( ptr->gpuEnd != -1 ) return ptr->gpuEnd; + if( ptr->gpuEnd >= 0 ) return ptr->gpuEnd; if( ptr->child.empty() ) return ptr->gpuStart; ptr = ptr->child.back(); } @@ -1664,7 +1664,7 @@ void Worker::ReadTimeline( FileRead& f, Vector& vec, uint16_t thread assert( it != m_data.sourceLocationZones.end() ); it->second.zones.push_back( ZoneThreadData { zone, thread } ); - if( zone->end != -1 ) + if( zone->end >= 0 ) { const auto timeSpan = zone->end - zone->start; if( timeSpan > 0 ) diff --git a/server/TracyWorker.hpp b/server/TracyWorker.hpp index 624172c1..f993ed50 100644 --- a/server/TracyWorker.hpp +++ b/server/TracyWorker.hpp @@ -115,8 +115,8 @@ public: // GetZoneEndDirect() will only return zone's direct timing data, without looking at children. static int64_t GetZoneEnd( const ZoneEvent& ev ); static int64_t GetZoneEnd( const GpuEvent& ev ); - static tracy_force_inline int64_t GetZoneEndDirect( const ZoneEvent& ev ) { return ev.end != -1 ? ev.end : ev.start; } - static tracy_force_inline int64_t GetZoneEndDirect( const GpuEvent& ev ) { return ev.gpuEnd != -1 ? ev.gpuEnd : ev.gpuStart; } + static tracy_force_inline int64_t GetZoneEndDirect( const ZoneEvent& ev ) { return ev.end >= 0 ? ev.end : ev.start; } + static tracy_force_inline int64_t GetZoneEndDirect( const GpuEvent& ev ) { return ev.gpuEnd >= 0 ? ev.gpuEnd : ev.gpuStart; } const char* GetString( uint64_t ptr ) const; const char* GetString( const StringRef& ref ) const;