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

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

Issue 478703002: Remove cc::LayerTreeHostImpl::IsContextLost (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@ctx4
Patch Set: Fix style: bracing, no (void) Created 6 years, 4 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 <algorithm> 7 #include <algorithm>
8 #include <limits> 8 #include <limits>
9 9
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
(...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after
250 zero_budget_(false), 250 zero_budget_(false),
251 device_scale_factor_(1.f), 251 device_scale_factor_(1.f),
252 overhang_ui_resource_id_(0), 252 overhang_ui_resource_id_(0),
253 overdraw_bottom_height_(0.f), 253 overdraw_bottom_height_(0.f),
254 resourceless_software_draw_(false), 254 resourceless_software_draw_(false),
255 begin_impl_frame_interval_(BeginFrameArgs::DefaultInterval()), 255 begin_impl_frame_interval_(BeginFrameArgs::DefaultInterval()),
256 animation_registrar_(AnimationRegistrar::Create()), 256 animation_registrar_(AnimationRegistrar::Create()),
257 rendering_stats_instrumentation_(rendering_stats_instrumentation), 257 rendering_stats_instrumentation_(rendering_stats_instrumentation),
258 micro_benchmark_controller_(this), 258 micro_benchmark_controller_(this),
259 need_to_update_visible_tiles_before_draw_(false), 259 need_to_update_visible_tiles_before_draw_(false),
260 have_valid_output_surface_(false),
261 shared_bitmap_manager_(manager), 260 shared_bitmap_manager_(manager),
262 id_(id), 261 id_(id),
263 transfer_buffer_memory_limit_(0u) { 262 transfer_buffer_memory_limit_(0u) {
264 DCHECK(proxy_->IsImplThread()); 263 DCHECK(proxy_->IsImplThread());
265 DidVisibilityChange(this, visible_); 264 DidVisibilityChange(this, visible_);
266 animation_registrar_->set_supports_scroll_animations( 265 animation_registrar_->set_supports_scroll_animations(
267 proxy_->SupportsImplScrolling()); 266 proxy_->SupportsImplScrolling());
268 267
269 SetDebugState(settings.initial_debug_state); 268 SetDebugState(settings.initial_debug_state);
270 269
(...skipping 1338 matching lines...) Expand 10 before | Expand all | Expand 10 after
1609 // Once all layers have been drawn, pending texture uploads should no 1608 // Once all layers have been drawn, pending texture uploads should no
1610 // longer block future uploads. 1609 // longer block future uploads.
1611 resource_provider_->MarkPendingUploadsAsNonBlocking(); 1610 resource_provider_->MarkPendingUploadsAsNonBlocking();
1612 } 1611 }
1613 1612
1614 void LayerTreeHostImpl::FinishAllRendering() { 1613 void LayerTreeHostImpl::FinishAllRendering() {
1615 if (renderer_) 1614 if (renderer_)
1616 renderer_->Finish(); 1615 renderer_->Finish();
1617 } 1616 }
1618 1617
1619 bool LayerTreeHostImpl::IsContextLost() {
1620 DCHECK(proxy_->IsImplThread());
1621 // To avoid races, rely only on the lost-surface callback.
1622 // See crbug.com/392891.
1623 return !have_valid_output_surface_;
1624 }
1625
1626 void LayerTreeHostImpl::SetUseGpuRasterization(bool use_gpu) { 1618 void LayerTreeHostImpl::SetUseGpuRasterization(bool use_gpu) {
1627 if (use_gpu == use_gpu_rasterization_) 1619 if (use_gpu == use_gpu_rasterization_)
1628 return; 1620 return;
1629 1621
1630 use_gpu_rasterization_ = use_gpu; 1622 use_gpu_rasterization_ = use_gpu;
1631 ReleaseTreeResources(); 1623 ReleaseTreeResources();
1632 1624
1633 // Replace existing tile manager with another one that uses appropriate 1625 // Replace existing tile manager with another one that uses appropriate
1634 // rasterizer. 1626 // rasterizer.
1635 if (tile_manager_) { 1627 if (tile_manager_) {
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
1718 } 1710 }
1719 1711
1720 float LayerTreeHostImpl::VerticalAdjust() const { 1712 float LayerTreeHostImpl::VerticalAdjust() const {
1721 if (!active_tree_->InnerViewportContainerLayer()) 1713 if (!active_tree_->InnerViewportContainerLayer())
1722 return 0; 1714 return 0;
1723 1715
1724 return active_tree_->InnerViewportContainerLayer()->BoundsDelta().y(); 1716 return active_tree_->InnerViewportContainerLayer()->BoundsDelta().y();
1725 } 1717 }
1726 1718
1727 void LayerTreeHostImpl::DidLoseOutputSurface() { 1719 void LayerTreeHostImpl::DidLoseOutputSurface() {
1728 if (!have_valid_output_surface_)
1729 return;
1730 have_valid_output_surface_ = false;
1731 if (resource_provider_) 1720 if (resource_provider_)
1732 resource_provider_->DidLoseOutputSurface(); 1721 resource_provider_->DidLoseOutputSurface();
1733 // TODO(jamesr): The renderer_ check is needed to make some of the 1722 // TODO(jamesr): The renderer_ check is needed to make some of the
1734 // LayerTreeHostContextTest tests pass, but shouldn't be necessary (or 1723 // LayerTreeHostContextTest tests pass, but shouldn't be necessary (or
1735 // important) in production. We should adjust the test to not need this. 1724 // important) in production. We should adjust the test to not need this.
1736 if (renderer_) 1725 if (renderer_)
1737 client_->DidLoseOutputSurfaceOnImplThread(); 1726 client_->DidLoseOutputSurfaceOnImplThread();
1738 } 1727 }
1739 1728
1740 bool LayerTreeHostImpl::HaveRootScrollLayer() const { 1729 bool LayerTreeHostImpl::HaveRootScrollLayer() const {
(...skipping 350 matching lines...) Expand 10 before | Expand all | Expand 10 after
2091 // Note: order is important here. 2080 // Note: order is important here.
2092 renderer_.reset(); 2081 renderer_.reset();
2093 DestroyTileManager(); 2082 DestroyTileManager();
2094 resource_provider_.reset(); 2083 resource_provider_.reset();
2095 output_surface_.reset(); 2084 output_surface_.reset();
2096 2085
2097 if (!output_surface->BindToClient(this)) 2086 if (!output_surface->BindToClient(this))
2098 return false; 2087 return false;
2099 2088
2100 output_surface_ = output_surface.Pass(); 2089 output_surface_ = output_surface.Pass();
2101 have_valid_output_surface_ = true;
2102 resource_provider_ = 2090 resource_provider_ =
2103 ResourceProvider::Create(output_surface_.get(), 2091 ResourceProvider::Create(output_surface_.get(),
2104 shared_bitmap_manager_, 2092 shared_bitmap_manager_,
2105 settings_.highp_threshold_min, 2093 settings_.highp_threshold_min,
2106 settings_.use_rgba_4444_textures, 2094 settings_.use_rgba_4444_textures,
2107 settings_.texture_id_allocation_chunk_size, 2095 settings_.texture_id_allocation_chunk_size,
2108 settings_.use_distance_field_text); 2096 settings_.use_distance_field_text);
2109 2097
2110 if (output_surface_->capabilities().deferred_gl_initialization) 2098 if (output_surface_->capabilities().deferred_gl_initialization)
2111 EnforceZeroBudget(true); 2099 EnforceZeroBudget(true);
(...skipping 1300 matching lines...) Expand 10 before | Expand all | Expand 10 after
3412 } 3400 }
3413 3401
3414 void LayerTreeHostImpl::UnregisterPictureLayerImpl(PictureLayerImpl* layer) { 3402 void LayerTreeHostImpl::UnregisterPictureLayerImpl(PictureLayerImpl* layer) {
3415 std::vector<PictureLayerImpl*>::iterator it = 3403 std::vector<PictureLayerImpl*>::iterator it =
3416 std::find(picture_layers_.begin(), picture_layers_.end(), layer); 3404 std::find(picture_layers_.begin(), picture_layers_.end(), layer);
3417 DCHECK(it != picture_layers_.end()); 3405 DCHECK(it != picture_layers_.end());
3418 picture_layers_.erase(it); 3406 picture_layers_.erase(it);
3419 } 3407 }
3420 3408
3421 } // namespace cc 3409 } // 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