| OLD | NEW |
| 1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 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/tile_manager.h" | 5 #include "cc/resources/tile_manager.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <limits> | 8 #include <limits> |
| 9 #include <string> | 9 #include <string> |
| 10 | 10 |
| (...skipping 730 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 741 return RasterWorkerPool::CreateImageDecodeTask( | 741 return RasterWorkerPool::CreateImageDecodeTask( |
| 742 pixel_ref, | 742 pixel_ref, |
| 743 tile->layer_id(), | 743 tile->layer_id(), |
| 744 rendering_stats_instrumentation_, | 744 rendering_stats_instrumentation_, |
| 745 base::Bind(&TileManager::OnImageDecodeTaskCompleted, | 745 base::Bind(&TileManager::OnImageDecodeTaskCompleted, |
| 746 base::Unretained(this), | 746 base::Unretained(this), |
| 747 tile->layer_id(), | 747 tile->layer_id(), |
| 748 base::Unretained(pixel_ref))); | 748 base::Unretained(pixel_ref))); |
| 749 } | 749 } |
| 750 | 750 |
| 751 RasterTaskMetadata TileManager::GetRasterTaskMetadata( | |
| 752 const Tile& tile) const { | |
| 753 RasterTaskMetadata metadata; | |
| 754 const ManagedTileState& mts = tile.managed_state(); | |
| 755 metadata.is_tile_in_pending_tree_now_bin = | |
| 756 mts.tree_bin[PENDING_TREE] == NOW_BIN; | |
| 757 metadata.tile_resolution = mts.resolution; | |
| 758 metadata.layer_id = tile.layer_id(); | |
| 759 metadata.tile_id = &tile; | |
| 760 metadata.source_frame_number = tile.source_frame_number(); | |
| 761 return metadata; | |
| 762 } | |
| 763 | |
| 764 RasterWorkerPool::RasterTask TileManager::CreateRasterTask(Tile* tile) { | 751 RasterWorkerPool::RasterTask TileManager::CreateRasterTask(Tile* tile) { |
| 765 ManagedTileState& mts = tile->managed_state(); | 752 ManagedTileState& mts = tile->managed_state(); |
| 766 | 753 |
| 767 scoped_ptr<ResourcePool::Resource> resource = | 754 scoped_ptr<ResourcePool::Resource> resource = |
| 768 resource_pool_->AcquireResource(tile->tile_size_.size(), | 755 resource_pool_->AcquireResource(tile->tile_size_.size(), |
| 769 texture_format_); | 756 texture_format_); |
| 770 const Resource* const_resource = resource.get(); | 757 const Resource* const_resource = resource.get(); |
| 771 | 758 |
| 772 // Create and queue all image decode tasks that this tile depends on. | 759 // Create and queue all image decode tasks that this tile depends on. |
| 773 RasterWorkerPool::Task::Set decode_tasks; | 760 RasterWorkerPool::Task::Set decode_tasks; |
| (...skipping 12 matching lines...) Expand all Loading... |
| 786 continue; | 773 continue; |
| 787 } | 774 } |
| 788 | 775 |
| 789 // Create and append new image decode task for this pixel ref. | 776 // Create and append new image decode task for this pixel ref. |
| 790 RasterWorkerPool::Task decode_task = CreateImageDecodeTask( | 777 RasterWorkerPool::Task decode_task = CreateImageDecodeTask( |
| 791 tile, pixel_ref); | 778 tile, pixel_ref); |
| 792 decode_tasks.Insert(decode_task); | 779 decode_tasks.Insert(decode_task); |
| 793 existing_pixel_refs[id] = decode_task; | 780 existing_pixel_refs[id] = decode_task; |
| 794 } | 781 } |
| 795 | 782 |
| 796 RasterTaskMetadata metadata = GetRasterTaskMetadata(*tile); | |
| 797 return RasterWorkerPool::CreateRasterTask( | 783 return RasterWorkerPool::CreateRasterTask( |
| 798 const_resource, | 784 const_resource, |
| 799 tile->picture_pile(), | 785 tile->picture_pile(), |
| 800 tile->content_rect(), | 786 tile->content_rect(), |
| 801 tile->contents_scale(), | 787 tile->contents_scale(), |
| 802 mts.raster_mode, | 788 mts.raster_mode, |
| 803 use_color_estimator_, | 789 use_color_estimator_, |
| 804 metadata, | 790 mts.tree_bin[PENDING_TREE] == NOW_BIN, |
| 791 mts.resolution, |
| 792 tile->layer_id(), |
| 793 &tile, |
| 794 tile->source_frame_number(), |
| 805 rendering_stats_instrumentation_, | 795 rendering_stats_instrumentation_, |
| 806 base::Bind(&TileManager::OnRasterTaskCompleted, | 796 base::Bind(&TileManager::OnRasterTaskCompleted, |
| 807 base::Unretained(this), | 797 base::Unretained(this), |
| 808 make_scoped_refptr(tile), | 798 make_scoped_refptr(tile), |
| 809 base::Passed(&resource), | 799 base::Passed(&resource), |
| 810 mts.raster_mode), | 800 mts.raster_mode), |
| 811 &decode_tasks); | 801 &decode_tasks); |
| 812 } | 802 } |
| 813 | 803 |
| 814 void TileManager::OnImageDecodeTaskCompleted( | 804 void TileManager::OnImageDecodeTaskCompleted( |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 879 } | 869 } |
| 880 | 870 |
| 881 void TileManager::DidTileTreeBinChange(Tile* tile, | 871 void TileManager::DidTileTreeBinChange(Tile* tile, |
| 882 TileManagerBin new_tree_bin, | 872 TileManagerBin new_tree_bin, |
| 883 WhichTree tree) { | 873 WhichTree tree) { |
| 884 ManagedTileState& mts = tile->managed_state(); | 874 ManagedTileState& mts = tile->managed_state(); |
| 885 mts.tree_bin[tree] = new_tree_bin; | 875 mts.tree_bin[tree] = new_tree_bin; |
| 886 } | 876 } |
| 887 | 877 |
| 888 } // namespace cc | 878 } // namespace cc |
| OLD | NEW |