From 7dd31ab609f51ccdae2338b9ecb1ae5b7a53548b Mon Sep 17 00:00:00 2001 From: Bartosz Taudul Date: Tue, 14 Mar 2023 02:02:21 +0100 Subject: [PATCH] Timeline items may have preprocessing. --- server/TracyTimelineItem.cpp | 3 ++- server/TracyTimelineItem.hpp | 7 ++++++- server/TracyTimelineItemCpuData.cpp | 2 +- server/TracyTimelineItemGpu.cpp | 2 +- server/TracyTimelineItemPlot.cpp | 2 +- server/TracyTimelineItemThread.cpp | 2 +- 6 files changed, 12 insertions(+), 6 deletions(-) diff --git a/server/TracyTimelineItem.cpp b/server/TracyTimelineItem.cpp index c934fb7e..149450e7 100644 --- a/server/TracyTimelineItem.cpp +++ b/server/TracyTimelineItem.cpp @@ -8,10 +8,11 @@ namespace tracy { -TimelineItem::TimelineItem( View& view, Worker& worker, const void* key ) +TimelineItem::TimelineItem( View& view, Worker& worker, const void* key, bool wantPreprocess ) : m_visible( true ) , m_showFull( true ) , m_height( 0 ) + , m_wantPreprocess( wantPreprocess ) , m_key( key ) , m_view( view ) , m_worker( worker ) diff --git a/server/TracyTimelineItem.hpp b/server/TracyTimelineItem.hpp index 8185d6f1..f5f53beb 100644 --- a/server/TracyTimelineItem.hpp +++ b/server/TracyTimelineItem.hpp @@ -1,6 +1,7 @@ #ifndef __TRACYTIMELINEITEM_HPP__ #define __TRACYTIMELINEITEM_HPP__ +#include #include #include "imgui.h" @@ -14,12 +15,15 @@ class Worker; class TimelineItem { public: - TimelineItem( View& view, Worker& worker, const void* key ); + TimelineItem( View& view, Worker& worker, const void* key, bool wantPreprocess ); virtual ~TimelineItem() = default; // draws the timeline item and also updates the next frame height value void Draw( bool firstFrame, double pxns, int yOffset, const ImVec2& wpos, bool hover, float yMin, float yMax ); + bool WantPreprocess() const { return m_wantPreprocess; } + virtual void Preprocess() { assert( false ); } + void VisibilityCheckbox(); virtual void SetVisible( bool visible ) { m_visible = visible; } virtual bool IsVisible() const { return m_visible; } @@ -55,6 +59,7 @@ private: void AdjustThreadHeight( bool firstFrame, int yBegin, int yEnd ); int m_height; + bool m_wantPreprocess; const void* m_key; diff --git a/server/TracyTimelineItemCpuData.cpp b/server/TracyTimelineItemCpuData.cpp index 1701889f..fbef7822 100644 --- a/server/TracyTimelineItemCpuData.cpp +++ b/server/TracyTimelineItemCpuData.cpp @@ -9,7 +9,7 @@ namespace tracy { TimelineItemCpuData::TimelineItemCpuData( View& view, Worker& worker, void* key ) - : TimelineItem( view, worker, key ) + : TimelineItem( view, worker, key, false ) { } diff --git a/server/TracyTimelineItemGpu.cpp b/server/TracyTimelineItemGpu.cpp index 2974eb56..ddfa73d9 100644 --- a/server/TracyTimelineItemGpu.cpp +++ b/server/TracyTimelineItemGpu.cpp @@ -10,7 +10,7 @@ namespace tracy { TimelineItemGpu::TimelineItemGpu( View& view, Worker& worker, GpuCtxData* gpu ) - : TimelineItem( view, worker, gpu ) + : TimelineItem( view, worker, gpu, false ) , m_gpu( gpu ) , m_idx( view.GetNextGpuIdx() ) { diff --git a/server/TracyTimelineItemPlot.cpp b/server/TracyTimelineItemPlot.cpp index 314e868b..3f901a06 100644 --- a/server/TracyTimelineItemPlot.cpp +++ b/server/TracyTimelineItemPlot.cpp @@ -9,7 +9,7 @@ namespace tracy { TimelineItemPlot::TimelineItemPlot( View& view, Worker& worker, PlotData* plot ) - : TimelineItem( view, worker, plot ) + : TimelineItem( view, worker, plot, false ) , m_plot( plot ) { } diff --git a/server/TracyTimelineItemThread.cpp b/server/TracyTimelineItemThread.cpp index cae99a00..5e4ddc4f 100644 --- a/server/TracyTimelineItemThread.cpp +++ b/server/TracyTimelineItemThread.cpp @@ -12,7 +12,7 @@ namespace tracy { TimelineItemThread::TimelineItemThread( View& view, Worker& worker, const ThreadData* thread ) - : TimelineItem( view, worker, thread ) + : TimelineItem( view, worker, thread, false ) , m_thread( thread ) , m_ghost( false ) {