Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2)

Side by Side Diff: cc/surfaces/display.cc

Issue 2061273002: cc: Make BackToBackBeginFrameSource a SyntheticBeginFrameSource. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: syntheticbeginframesource: delete-DEBUG_FRAMES Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « cc/scheduler/scheduler_unittest.cc ('k') | cc/surfaces/display_scheduler_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "cc/surfaces/display.h" 5 #include "cc/surfaces/display.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include "base/memory/ptr_util.h"
9 #include "base/threading/thread_task_runner_handle.h" 10 #include "base/threading/thread_task_runner_handle.h"
10 #include "base/trace_event/trace_event.h" 11 #include "base/trace_event/trace_event.h"
11 #include "cc/debug/benchmark_instrumentation.h" 12 #include "cc/debug/benchmark_instrumentation.h"
12 #include "cc/output/compositor_frame.h" 13 #include "cc/output/compositor_frame.h"
13 #include "cc/output/compositor_frame_ack.h" 14 #include "cc/output/compositor_frame_ack.h"
14 #include "cc/output/direct_renderer.h" 15 #include "cc/output/direct_renderer.h"
15 #include "cc/output/gl_renderer.h" 16 #include "cc/output/gl_renderer.h"
16 #include "cc/output/renderer_settings.h" 17 #include "cc/output/renderer_settings.h"
17 #include "cc/output/software_renderer.h" 18 #include "cc/output/software_renderer.h"
19 #include "cc/scheduler/delay_based_time_source.h"
18 #include "cc/surfaces/display_client.h" 20 #include "cc/surfaces/display_client.h"
19 #include "cc/surfaces/display_scheduler.h" 21 #include "cc/surfaces/display_scheduler.h"
20 #include "cc/surfaces/surface.h" 22 #include "cc/surfaces/surface.h"
21 #include "cc/surfaces/surface_aggregator.h" 23 #include "cc/surfaces/surface_aggregator.h"
22 #include "cc/surfaces/surface_manager.h" 24 #include "cc/surfaces/surface_manager.h"
23 #include "gpu/command_buffer/client/gles2_interface.h" 25 #include "gpu/command_buffer/client/gles2_interface.h"
24 #include "ui/gfx/buffer_types.h" 26 #include "ui/gfx/buffer_types.h"
25 27
26 #if defined(ENABLE_VULKAN) 28 #if defined(ENABLE_VULKAN)
27 #include "cc/output/vulkan_renderer.h" 29 #include "cc/output/vulkan_renderer.h"
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
78 // WebView doesn't have a task runner or a real begin frame source, 80 // WebView doesn't have a task runner or a real begin frame source,
79 // so just create something fake here. 81 // so just create something fake here.
80 internal_begin_frame_source_.reset(new EmptyBeginFrameSource()); 82 internal_begin_frame_source_.reset(new EmptyBeginFrameSource());
81 vsync_begin_frame_source_ = internal_begin_frame_source_.get(); 83 vsync_begin_frame_source_ = internal_begin_frame_source_.get();
82 observed_begin_frame_source_ = vsync_begin_frame_source_; 84 observed_begin_frame_source_ = vsync_begin_frame_source_;
83 } else { 85 } else {
84 DCHECK(vsync_begin_frame_source_); 86 DCHECK(vsync_begin_frame_source_);
85 87
86 observed_begin_frame_source_ = vsync_begin_frame_source_; 88 observed_begin_frame_source_ = vsync_begin_frame_source_;
87 if (settings_.disable_display_vsync) { 89 if (settings_.disable_display_vsync) {
88 internal_begin_frame_source_.reset( 90 internal_begin_frame_source_.reset(new BackToBackBeginFrameSource(
89 new BackToBackBeginFrameSource(task_runner_)); 91 base::MakeUnique<DelayBasedTimeSource>(task_runner_)));
90 observed_begin_frame_source_ = internal_begin_frame_source_.get(); 92 observed_begin_frame_source_ = internal_begin_frame_source_.get();
91 } 93 }
92 } 94 }
93 95
94 scheduler_.reset( 96 scheduler_.reset(
95 new DisplayScheduler(this, observed_begin_frame_source_, task_runner_, 97 new DisplayScheduler(this, observed_begin_frame_source_, task_runner_,
96 output_surface_->capabilities().max_frames_pending)); 98 output_surface_->capabilities().max_frames_pending));
97 surface_manager_->RegisterBeginFrameSource(observed_begin_frame_source_, 99 surface_manager_->RegisterBeginFrameSource(observed_begin_frame_source_,
98 compositor_surface_namespace_); 100 compositor_surface_namespace_);
99 } 101 }
(...skipping 324 matching lines...) Expand 10 before | Expand all | Expand 10 after
424 426
425 if (surface_id == current_surface_id_) 427 if (surface_id == current_surface_id_)
426 UpdateRootSurfaceResourcesLocked(); 428 UpdateRootSurfaceResourcesLocked();
427 } 429 }
428 430
429 SurfaceId Display::CurrentSurfaceId() { 431 SurfaceId Display::CurrentSurfaceId() {
430 return current_surface_id_; 432 return current_surface_id_;
431 } 433 }
432 434
433 } // namespace cc 435 } // namespace cc
OLDNEW
« no previous file with comments | « cc/scheduler/scheduler_unittest.cc ('k') | cc/surfaces/display_scheduler_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698