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

Side by Side Diff: cc/trees/layer_tree_host_impl.cc

Issue 2296353002: Revert of Remove default begin frame sources from the renderer (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 3 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/trees/layer_tree_host_impl.h ('k') | cc/trees/layer_tree_host_impl_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 2011 The Chromium Authors. All rights reserved. 1 // Copyright 2011 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/trees/layer_tree_host_impl.h" 5 #include "cc/trees/layer_tree_host_impl.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <algorithm> 10 #include <algorithm>
(...skipping 2342 matching lines...) Expand 10 before | Expand all | Expand 10 after
2353 // Since the new context may be capable of MSAA, update status here. We don't 2353 // Since the new context may be capable of MSAA, update status here. We don't
2354 // need to check the return value since we are recreating all resources 2354 // need to check the return value since we are recreating all resources
2355 // already. 2355 // already.
2356 UpdateGpuRasterizationStatus(); 2356 UpdateGpuRasterizationStatus();
2357 2357
2358 CreateAndSetRenderer(); 2358 CreateAndSetRenderer();
2359 2359
2360 CreateTileManagerResources(); 2360 CreateTileManagerResources();
2361 RecreateTreeResources(); 2361 RecreateTreeResources();
2362 2362
2363 // Initialize vsync parameters to sane values.
2364 const base::TimeDelta display_refresh_interval =
2365 base::TimeDelta::FromMicroseconds(
2366 base::Time::kMicrosecondsPerSecond /
2367 settings_.renderer_settings.refresh_rate);
2368 CommitVSyncParameters(base::TimeTicks(), display_refresh_interval);
2369
2363 // TODO(brianderson): Don't use a hard-coded parent draw time. 2370 // TODO(brianderson): Don't use a hard-coded parent draw time.
2364 base::TimeDelta parent_draw_time = 2371 base::TimeDelta parent_draw_time =
2365 (!settings_.use_external_begin_frame_source && 2372 (!settings_.use_external_begin_frame_source &&
2366 output_surface_->capabilities().adjust_deadline_for_parent) 2373 output_surface_->capabilities().adjust_deadline_for_parent)
2367 ? BeginFrameArgs::DefaultEstimatedParentDrawTime() 2374 ? BeginFrameArgs::DefaultEstimatedParentDrawTime()
2368 : base::TimeDelta(); 2375 : base::TimeDelta();
2369 client_->SetEstimatedParentDrawTime(parent_draw_time); 2376 client_->SetEstimatedParentDrawTime(parent_draw_time);
2370 2377
2371 DCHECK_EQ(1, output_surface_->capabilities().max_frames_pending); 2378 DCHECK_EQ(1, output_surface_->capabilities().max_frames_pending);
2372 client_->OnCanDrawStateChanged(CanDraw()); 2379 client_->OnCanDrawStateChanged(CanDraw());
2373 2380
2374 // There will not be anything to draw here, so set high res 2381 // There will not be anything to draw here, so set high res
2375 // to avoid checkerboards, typically when we are recovering 2382 // to avoid checkerboards, typically when we are recovering
2376 // from lost context. 2383 // from lost context.
2377 // TODO(crbug.com/469175): Replace with RequiresHighResToDraw. 2384 // TODO(crbug.com/469175): Replace with RequiresHighResToDraw.
2378 SetRequiresHighResToDraw(); 2385 SetRequiresHighResToDraw();
2379 2386
2380 return true; 2387 return true;
2381 } 2388 }
2382 2389
2390 void LayerTreeHostImpl::CommitVSyncParameters(base::TimeTicks timebase,
2391 base::TimeDelta interval) {
2392 client_->CommitVSyncParameters(timebase, interval);
2393 }
2394
2383 void LayerTreeHostImpl::SetBeginFrameSource(BeginFrameSource* source) { 2395 void LayerTreeHostImpl::SetBeginFrameSource(BeginFrameSource* source) {
2384 client_->SetBeginFrameSource(source); 2396 client_->SetBeginFrameSource(source);
2385 } 2397 }
2386 2398
2387 void LayerTreeHostImpl::SetViewportSize(const gfx::Size& device_viewport_size) { 2399 void LayerTreeHostImpl::SetViewportSize(const gfx::Size& device_viewport_size) {
2388 if (device_viewport_size == device_viewport_size_) 2400 if (device_viewport_size == device_viewport_size_)
2389 return; 2401 return;
2390 TRACE_EVENT_INSTANT2("cc", "LayerTreeHostImpl::SetViewportSize", 2402 TRACE_EVENT_INSTANT2("cc", "LayerTreeHostImpl::SetViewportSize",
2391 TRACE_EVENT_SCOPE_THREAD, "width", 2403 TRACE_EVENT_SCOPE_THREAD, "width",
2392 device_viewport_size.width(), "height", 2404 device_viewport_size.width(), "height",
(...skipping 1797 matching lines...) Expand 10 before | Expand all | Expand 10 after
4190 if (is_visible) { 4202 if (is_visible) {
4191 worker_context_visibility_ = 4203 worker_context_visibility_ =
4192 worker_context->CacheController()->ClientBecameVisible(); 4204 worker_context->CacheController()->ClientBecameVisible();
4193 } else { 4205 } else {
4194 worker_context->CacheController()->ClientBecameNotVisible( 4206 worker_context->CacheController()->ClientBecameNotVisible(
4195 std::move(worker_context_visibility_)); 4207 std::move(worker_context_visibility_));
4196 } 4208 }
4197 } 4209 }
4198 4210
4199 } // namespace cc 4211 } // namespace cc
OLDNEW
« no previous file with comments | « cc/trees/layer_tree_host_impl.h ('k') | cc/trees/layer_tree_host_impl_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698