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

Side by Side Diff: cc/resources/managed_tile_state.cc

Issue 603683006: cc: Remove low quality mode and cleanup tile versions. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: remove paint_simplifier include Created 6 years, 2 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/resources/managed_tile_state.h" 5 #include "cc/resources/managed_tile_state.h"
6 6
7 #include <limits> 7 #include <limits>
8 #include <string> 8 #include <string>
9 9
10 #include "base/debug/trace_event_argument.h" 10 #include "base/debug/trace_event_argument.h"
(...skipping 20 matching lines...) Expand all
31 case NEVER_BIN: 31 case NEVER_BIN:
32 return "NEVER_BIN"; 32 return "NEVER_BIN";
33 case NUM_BINS: 33 case NUM_BINS:
34 NOTREACHED(); 34 NOTREACHED();
35 return "Invalid Bin (NUM_BINS)"; 35 return "Invalid Bin (NUM_BINS)";
36 } 36 }
37 return "Invalid Bin (UNKNOWN)"; 37 return "Invalid Bin (UNKNOWN)";
38 } 38 }
39 39
40 ManagedTileState::ManagedTileState() 40 ManagedTileState::ManagedTileState()
41 : raster_mode(LOW_QUALITY_RASTER_MODE), 41 : bin(NEVER_BIN),
42 bin(NEVER_BIN),
43 resolution(NON_IDEAL_RESOLUTION), 42 resolution(NON_IDEAL_RESOLUTION),
44 required_for_activation(false), 43 required_for_activation(false),
45 priority_bin(TilePriority::EVENTUALLY), 44 priority_bin(TilePriority::EVENTUALLY),
46 distance_to_visible(std::numeric_limits<float>::infinity()), 45 distance_to_visible(std::numeric_limits<float>::infinity()),
47 visible_and_ready_to_draw(false), 46 visible_and_ready_to_draw(false),
48 scheduled_priority(0) {} 47 scheduled_priority(0) {
48 }
49 49
50 ManagedTileState::TileVersion::TileVersion() 50 ManagedTileState::TileDrawInfo::TileDrawInfo()
51 : mode_(RESOURCE_MODE), solid_color_(SK_ColorWHITE) { 51 : mode_(RESOURCE_MODE), solid_color_(SK_ColorWHITE) {
52 } 52 }
53 53
54 ManagedTileState::TileVersion::~TileVersion() { DCHECK(!resource_); } 54 ManagedTileState::TileDrawInfo::~TileDrawInfo() {
55 DCHECK(!resource_);
56 }
55 57
56 bool ManagedTileState::TileVersion::IsReadyToDraw() const { 58 bool ManagedTileState::TileDrawInfo::IsReadyToDraw() const {
57 switch (mode_) { 59 switch (mode_) {
58 case RESOURCE_MODE: 60 case RESOURCE_MODE:
59 return !!resource_; 61 return !!resource_;
60 case SOLID_COLOR_MODE: 62 case SOLID_COLOR_MODE:
61 case PICTURE_PILE_MODE: 63 case PICTURE_PILE_MODE:
62 return true; 64 return true;
63 } 65 }
64 NOTREACHED(); 66 NOTREACHED();
65 return false; 67 return false;
66 } 68 }
67 69
68 size_t ManagedTileState::TileVersion::GPUMemoryUsageInBytes() const { 70 size_t ManagedTileState::TileDrawInfo::GPUMemoryUsageInBytes() const {
69 if (!resource_) 71 if (!resource_)
70 return 0; 72 return 0;
71 return resource_->bytes(); 73 return resource_->bytes();
72 } 74 }
73 75
74 ManagedTileState::~ManagedTileState() {} 76 ManagedTileState::~ManagedTileState() {}
75 77
76 void ManagedTileState::AsValueInto(base::debug::TracedValue* state) const { 78 void ManagedTileState::AsValueInto(base::debug::TracedValue* state) const {
77 bool has_resource = false; 79 bool has_resource = (draw_info_.resource_.get() != 0);
78 bool has_active_task = false; 80 bool has_active_task = (draw_info_.raster_task_.get() != 0);
79 for (int mode = 0; mode < NUM_RASTER_MODES; ++mode) {
80 has_resource |= (tile_versions[mode].resource_.get() != 0);
81 has_active_task |= (tile_versions[mode].raster_task_.get() != 0);
82 }
83 81
84 bool is_using_gpu_memory = has_resource || has_active_task; 82 bool is_using_gpu_memory = has_resource || has_active_task;
85 83
86 state->SetBoolean("has_resource", has_resource); 84 state->SetBoolean("has_resource", has_resource);
87 state->SetBoolean("is_using_gpu_memory", is_using_gpu_memory); 85 state->SetBoolean("is_using_gpu_memory", is_using_gpu_memory);
88 state->SetString("bin", ManagedTileBinToString(bin)); 86 state->SetString("bin", ManagedTileBinToString(bin));
89 state->SetString("resolution", TileResolutionToString(resolution)); 87 state->SetString("resolution", TileResolutionToString(resolution));
90 state->SetString("priority_bin", TilePriorityBinToString(priority_bin)); 88 state->SetString("priority_bin", TilePriorityBinToString(priority_bin));
91 state->SetDouble("distance_to_visible", 89 state->SetDouble("distance_to_visible",
92 MathUtil::AsFloatSafely(distance_to_visible)); 90 MathUtil::AsFloatSafely(distance_to_visible));
93 state->SetBoolean("required_for_activation", required_for_activation); 91 state->SetBoolean("required_for_activation", required_for_activation);
94 state->SetBoolean( 92 state->SetBoolean("is_solid_color",
95 "is_solid_color", 93 draw_info_.mode_ == TileDrawInfo::SOLID_COLOR_MODE);
96 tile_versions[raster_mode].mode_ == TileVersion::SOLID_COLOR_MODE); 94 state->SetBoolean("is_transparent",
97 state->SetBoolean( 95 draw_info_.mode_ == TileDrawInfo::SOLID_COLOR_MODE &&
98 "is_transparent", 96 !SkColorGetA(draw_info_.solid_color_));
99 tile_versions[raster_mode].mode_ == TileVersion::SOLID_COLOR_MODE &&
100 !SkColorGetA(tile_versions[raster_mode].solid_color_));
101 state->SetInteger("scheduled_priority", scheduled_priority); 97 state->SetInteger("scheduled_priority", scheduled_priority);
102 } 98 }
103 99
104 } // namespace cc 100 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698