OLD | NEW |
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 Loading... |
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 Loading... |
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 Loading... |
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 |
OLD | NEW |