diff options
Diffstat (limited to 'chromium/cc/scheduler/scheduler.h')
-rw-r--r-- | chromium/cc/scheduler/scheduler.h | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/chromium/cc/scheduler/scheduler.h b/chromium/cc/scheduler/scheduler.h index eb0ba20ac57..3784cda0bb1 100644 --- a/chromium/cc/scheduler/scheduler.h +++ b/chromium/cc/scheduler/scheduler.h @@ -22,6 +22,7 @@ #include "components/viz/common/frame_sinks/begin_frame_args.h" #include "components/viz/common/frame_sinks/begin_frame_source.h" #include "components/viz/common/frame_sinks/delay_based_time_source.h" +#include "ui/gfx/rendering_pipeline.h" namespace perfetto { namespace protos { @@ -97,7 +98,9 @@ class CC_EXPORT Scheduler : public viz::BeginFrameObserverBase { const SchedulerSettings& scheduler_settings, int layer_tree_host_id, base::SingleThreadTaskRunner* task_runner, - std::unique_ptr<CompositorTimingHistory> compositor_timing_history); + std::unique_ptr<CompositorTimingHistory> compositor_timing_history, + gfx::RenderingPipeline* main_thread_pipeline, + gfx::RenderingPipeline* compositor_thread_pipeline); Scheduler(const Scheduler&) = delete; ~Scheduler() override; @@ -175,7 +178,8 @@ class CC_EXPORT Scheduler : public viz::BeginFrameObserverBase { // Drawing should result in submitting a CompositorFrame to the // LayerTreeFrameSink and then calling this. void DidSubmitCompositorFrame(uint32_t frame_token, - EventMetricsSet events_metrics); + EventMetricsSet events_metrics, + bool has_missing_content); // The LayerTreeFrameSink acks when it is ready for a new frame which // should result in this getting called to unblock the next draw. void DidReceiveCompositorFrameAck(); @@ -328,6 +332,14 @@ class CC_EXPORT Scheduler : public viz::BeginFrameObserverBase { // arrive so that |client_| can be informed about changes. base::TimeDelta last_frame_interval_; + gfx::RenderingPipeline* const main_thread_pipeline_; + base::Optional<gfx::RenderingPipeline::ScopedPipelineActive> + main_thread_pipeline_active_; + + gfx::RenderingPipeline* const compositor_thread_pipeline_; + base::Optional<gfx::RenderingPipeline::ScopedPipelineActive> + compositor_thread_pipeline_active_; + private: // Posts the deadline task if needed by checking // SchedulerStateMachine::CurrentBeginImplFrameDeadlineMode(). This only |