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

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

Issue 367833003: cc: Start using raster/eviction iterators. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: update Created 6 years, 5 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 | Annotate | Revision Log
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 27 matching lines...) Expand all
38 #include "cc/layers/scrollbar_layer_impl_base.h" 38 #include "cc/layers/scrollbar_layer_impl_base.h"
39 #include "cc/output/compositor_frame_metadata.h" 39 #include "cc/output/compositor_frame_metadata.h"
40 #include "cc/output/copy_output_request.h" 40 #include "cc/output/copy_output_request.h"
41 #include "cc/output/delegating_renderer.h" 41 #include "cc/output/delegating_renderer.h"
42 #include "cc/output/gl_renderer.h" 42 #include "cc/output/gl_renderer.h"
43 #include "cc/output/software_renderer.h" 43 #include "cc/output/software_renderer.h"
44 #include "cc/quads/render_pass_draw_quad.h" 44 #include "cc/quads/render_pass_draw_quad.h"
45 #include "cc/quads/shared_quad_state.h" 45 #include "cc/quads/shared_quad_state.h"
46 #include "cc/quads/solid_color_draw_quad.h" 46 #include "cc/quads/solid_color_draw_quad.h"
47 #include "cc/quads/texture_draw_quad.h" 47 #include "cc/quads/texture_draw_quad.h"
48 #include "cc/resources/eviction_tile_priority_queue.h"
48 #include "cc/resources/gpu_raster_worker_pool.h" 49 #include "cc/resources/gpu_raster_worker_pool.h"
49 #include "cc/resources/image_copy_raster_worker_pool.h" 50 #include "cc/resources/image_copy_raster_worker_pool.h"
50 #include "cc/resources/image_raster_worker_pool.h" 51 #include "cc/resources/image_raster_worker_pool.h"
51 #include "cc/resources/memory_history.h" 52 #include "cc/resources/memory_history.h"
52 #include "cc/resources/picture_layer_tiling.h" 53 #include "cc/resources/picture_layer_tiling.h"
53 #include "cc/resources/pixel_buffer_raster_worker_pool.h" 54 #include "cc/resources/pixel_buffer_raster_worker_pool.h"
54 #include "cc/resources/prioritized_resource_manager.h" 55 #include "cc/resources/prioritized_resource_manager.h"
56 #include "cc/resources/raster_tile_priority_queue.h"
55 #include "cc/resources/raster_worker_pool.h" 57 #include "cc/resources/raster_worker_pool.h"
56 #include "cc/resources/resource_pool.h" 58 #include "cc/resources/resource_pool.h"
57 #include "cc/resources/texture_mailbox_deleter.h" 59 #include "cc/resources/texture_mailbox_deleter.h"
58 #include "cc/resources/ui_resource_bitmap.h" 60 #include "cc/resources/ui_resource_bitmap.h"
59 #include "cc/scheduler/delay_based_time_source.h" 61 #include "cc/scheduler/delay_based_time_source.h"
60 #include "cc/trees/damage_tracker.h" 62 #include "cc/trees/damage_tracker.h"
61 #include "cc/trees/layer_tree_host.h" 63 #include "cc/trees/layer_tree_host.h"
62 #include "cc/trees/layer_tree_host_common.h" 64 #include "cc/trees/layer_tree_host_common.h"
63 #include "cc/trees/layer_tree_impl.h" 65 #include "cc/trees/layer_tree_impl.h"
64 #include "cc/trees/occlusion_tracker.h" 66 #include "cc/trees/occlusion_tracker.h"
(...skipping 1191 matching lines...) Expand 10 before | Expand all | Expand 10 after
1256 // Mark priorities as dirty and schedule a ManageTiles(). 1258 // Mark priorities as dirty and schedule a ManageTiles().
1257 tile_priorities_dirty_ = true; 1259 tile_priorities_dirty_ = true;
1258 client_->SetNeedsManageTilesOnImplThread(); 1260 client_->SetNeedsManageTilesOnImplThread();
1259 } 1261 }
1260 1262
1261 void LayerTreeHostImpl::DidInitializeVisibleTile() { 1263 void LayerTreeHostImpl::DidInitializeVisibleTile() {
1262 if (client_ && !client_->IsInsideDraw()) 1264 if (client_ && !client_->IsInsideDraw())
1263 client_->DidInitializeVisibleTileOnImplThread(); 1265 client_->DidInitializeVisibleTileOnImplThread();
1264 } 1266 }
1265 1267
1266 const std::vector<PictureLayerImpl*>& LayerTreeHostImpl::GetPictureLayers() { 1268 const std::vector<PictureLayerImpl*>& LayerTreeHostImpl::GetPictureLayers()
1269 const {
1267 return picture_layers_; 1270 return picture_layers_;
1268 } 1271 }
1269 1272
1270 void LayerTreeHostImpl::NotifyReadyToActivate() { 1273 void LayerTreeHostImpl::NotifyReadyToActivate() {
1271 client_->NotifyReadyToActivate(); 1274 client_->NotifyReadyToActivate();
1272 } 1275 }
1273 1276
1274 void LayerTreeHostImpl::NotifyTileStateChanged(const Tile* tile) { 1277 void LayerTreeHostImpl::NotifyTileStateChanged(const Tile* tile) {
1275 TRACE_EVENT0("cc", "LayerTreeHostImpl::NotifyTileStateChanged"); 1278 TRACE_EVENT0("cc", "LayerTreeHostImpl::NotifyTileStateChanged");
1276 1279
1277 if (active_tree_) { 1280 if (active_tree_) {
1278 LayerImpl* layer_impl = 1281 LayerImpl* layer_impl =
1279 active_tree_->FindActiveTreeLayerById(tile->layer_id()); 1282 active_tree_->FindActiveTreeLayerById(tile->layer_id());
1280 if (layer_impl) 1283 if (layer_impl)
1281 layer_impl->NotifyTileStateChanged(tile); 1284 layer_impl->NotifyTileStateChanged(tile);
1282 } 1285 }
1283 1286
1284 if (pending_tree_) { 1287 if (pending_tree_) {
1285 LayerImpl* layer_impl = 1288 LayerImpl* layer_impl =
1286 pending_tree_->FindPendingTreeLayerById(tile->layer_id()); 1289 pending_tree_->FindPendingTreeLayerById(tile->layer_id());
1287 if (layer_impl) 1290 if (layer_impl)
1288 layer_impl->NotifyTileStateChanged(tile); 1291 layer_impl->NotifyTileStateChanged(tile);
1289 } 1292 }
1290 } 1293 }
1291 1294
1295 void LayerTreeHostImpl::BuildRasterQueue(RasterTilePriorityQueue* queue,
1296 TreePriority tree_priority) {
1297 queue->BuildQueue(picture_layers_, tree_priority);
1298 }
1299
1300 void LayerTreeHostImpl::BuildEvictionQueue(EvictionTilePriorityQueue* queue,
1301 TreePriority tree_priority) {
1302 queue->BuildQueue(picture_layers_, tree_priority);
1303 }
1304
1292 void LayerTreeHostImpl::SetMemoryPolicy(const ManagedMemoryPolicy& policy) { 1305 void LayerTreeHostImpl::SetMemoryPolicy(const ManagedMemoryPolicy& policy) {
1293 SetManagedMemoryPolicy(policy, zero_budget_); 1306 SetManagedMemoryPolicy(policy, zero_budget_);
1294 } 1307 }
1295 1308
1296 void LayerTreeHostImpl::SetTreeActivationCallback( 1309 void LayerTreeHostImpl::SetTreeActivationCallback(
1297 const base::Closure& callback) { 1310 const base::Closure& callback) {
1298 DCHECK(proxy_->IsImplThread()); 1311 DCHECK(proxy_->IsImplThread());
1299 DCHECK(settings_.impl_side_painting || callback.is_null()); 1312 DCHECK(settings_.impl_side_painting || callback.is_null());
1300 tree_activation_callback_ = callback; 1313 tree_activation_callback_ = callback;
1301 } 1314 }
(...skipping 1963 matching lines...) Expand 10 before | Expand all | Expand 10 after
3265 } 3278 }
3266 3279
3267 void LayerTreeHostImpl::UnregisterPictureLayerImpl(PictureLayerImpl* layer) { 3280 void LayerTreeHostImpl::UnregisterPictureLayerImpl(PictureLayerImpl* layer) {
3268 std::vector<PictureLayerImpl*>::iterator it = 3281 std::vector<PictureLayerImpl*>::iterator it =
3269 std::find(picture_layers_.begin(), picture_layers_.end(), layer); 3282 std::find(picture_layers_.begin(), picture_layers_.end(), layer);
3270 DCHECK(it != picture_layers_.end()); 3283 DCHECK(it != picture_layers_.end());
3271 picture_layers_.erase(it); 3284 picture_layers_.erase(it);
3272 } 3285 }
3273 3286
3274 } // namespace cc 3287 } // namespace cc
OLDNEW
« cc/resources/eviction_tile_priority_queue.cc ('K') | « cc/trees/layer_tree_host_impl.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698