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

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: Include all changes. Prev patchset was second stage only 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
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 1084 matching lines...) Expand 10 before | Expand all | Expand 10 after
1095 } 1095 }
1096 } 1096 }
1097 } 1097 }
1098 1098
1099 DrawResult LayerTreeHostImpl::PrepareToDraw(FrameData* frame) { 1099 DrawResult LayerTreeHostImpl::PrepareToDraw(FrameData* frame) {
1100 TRACE_EVENT1("cc", 1100 TRACE_EVENT1("cc",
1101 "LayerTreeHostImpl::PrepareToDraw", 1101 "LayerTreeHostImpl::PrepareToDraw",
1102 "SourceFrameNumber", 1102 "SourceFrameNumber",
1103 active_tree_->source_frame_number()); 1103 active_tree_->source_frame_number());
1104 1104
1105 if (!have_valid_output_surface_)
danakj 2014/08/15 17:45:15 For this to happen, we'd have to get the callback
dneto 2014/08/15 17:58:20 In a first attempt, I made LTHI::CanDraw return fa
danakj 2014/08/15 18:00:12 Ya, make DoComposite return void. I'm suggesting t
1106 return DRAW_ABORTED_CONTEXT_LOST;
1107
1105 if (need_to_update_visible_tiles_before_draw_ && 1108 if (need_to_update_visible_tiles_before_draw_ &&
1106 tile_manager_ && tile_manager_->UpdateVisibleTiles()) { 1109 tile_manager_ && tile_manager_->UpdateVisibleTiles()) {
1107 DidInitializeVisibleTile(); 1110 DidInitializeVisibleTile();
1108 } 1111 }
1109 need_to_update_visible_tiles_before_draw_ = true; 1112 need_to_update_visible_tiles_before_draw_ = true;
1110 1113
1111 UMA_HISTOGRAM_CUSTOM_COUNTS( 1114 UMA_HISTOGRAM_CUSTOM_COUNTS(
1112 "Compositing.NumActiveLayers", active_tree_->NumLayers(), 1, 400, 20); 1115 "Compositing.NumActiveLayers", active_tree_->NumLayers(), 1, 400, 20);
1113 1116
1114 bool ok = active_tree_->UpdateDrawProperties(); 1117 bool ok = active_tree_->UpdateDrawProperties();
(...skipping 494 matching lines...) Expand 10 before | Expand all | Expand 10 after
1609 // Once all layers have been drawn, pending texture uploads should no 1612 // Once all layers have been drawn, pending texture uploads should no
1610 // longer block future uploads. 1613 // longer block future uploads.
1611 resource_provider_->MarkPendingUploadsAsNonBlocking(); 1614 resource_provider_->MarkPendingUploadsAsNonBlocking();
1612 } 1615 }
1613 1616
1614 void LayerTreeHostImpl::FinishAllRendering() { 1617 void LayerTreeHostImpl::FinishAllRendering() {
1615 if (renderer_) 1618 if (renderer_)
1616 renderer_->Finish(); 1619 renderer_->Finish();
1617 } 1620 }
1618 1621
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) { 1622 void LayerTreeHostImpl::SetUseGpuRasterization(bool use_gpu) {
1627 if (use_gpu == use_gpu_rasterization_) 1623 if (use_gpu == use_gpu_rasterization_)
1628 return; 1624 return;
1629 1625
1630 use_gpu_rasterization_ = use_gpu; 1626 use_gpu_rasterization_ = use_gpu;
1631 ReleaseTreeResources(); 1627 ReleaseTreeResources();
1632 1628
1633 // Replace existing tile manager with another one that uses appropriate 1629 // Replace existing tile manager with another one that uses appropriate
1634 // rasterizer. 1630 // rasterizer.
1635 if (tile_manager_) { 1631 if (tile_manager_) {
(...skipping 1654 matching lines...) Expand 10 before | Expand all | Expand 10 after
3290 ResourceFormat format = resource_provider_->best_texture_format(); 3286 ResourceFormat format = resource_provider_->best_texture_format();
3291 switch (bitmap.GetFormat()) { 3287 switch (bitmap.GetFormat()) {
3292 case UIResourceBitmap::RGBA8: 3288 case UIResourceBitmap::RGBA8:
3293 break; 3289 break;
3294 case UIResourceBitmap::ALPHA_8: 3290 case UIResourceBitmap::ALPHA_8:
3295 format = ALPHA_8; 3291 format = ALPHA_8;
3296 break; 3292 break;
3297 case UIResourceBitmap::ETC1: 3293 case UIResourceBitmap::ETC1:
3298 format = ETC1; 3294 format = ETC1;
3299 break; 3295 break;
3300 }; 3296 }
dneto 2014/08/15 17:44:31 This fixes a readability issue reported when I fir
3301 id = resource_provider_->CreateResource( 3297 id = resource_provider_->CreateResource(
3302 bitmap.GetSize(), 3298 bitmap.GetSize(),
3303 wrap_mode, 3299 wrap_mode,
3304 ResourceProvider::TextureUsageAny, 3300 ResourceProvider::TextureUsageAny,
3305 format); 3301 format);
3306 3302
3307 UIResourceData data; 3303 UIResourceData data;
3308 data.resource_id = id; 3304 data.resource_id = id;
3309 data.size = bitmap.GetSize(); 3305 data.size = bitmap.GetSize();
3310 data.opaque = bitmap.GetOpaque(); 3306 data.opaque = bitmap.GetOpaque();
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
3406 } 3402 }
3407 3403
3408 void LayerTreeHostImpl::UnregisterPictureLayerImpl(PictureLayerImpl* layer) { 3404 void LayerTreeHostImpl::UnregisterPictureLayerImpl(PictureLayerImpl* layer) {
3409 std::vector<PictureLayerImpl*>::iterator it = 3405 std::vector<PictureLayerImpl*>::iterator it =
3410 std::find(picture_layers_.begin(), picture_layers_.end(), layer); 3406 std::find(picture_layers_.begin(), picture_layers_.end(), layer);
3411 DCHECK(it != picture_layers_.end()); 3407 DCHECK(it != picture_layers_.end());
3412 picture_layers_.erase(it); 3408 picture_layers_.erase(it);
3413 } 3409 }
3414 3410
3415 } // namespace cc 3411 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698