| 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 660 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 671 return RasterWorkerPool::CreateImageDecodeTask( | 671 return RasterWorkerPool::CreateImageDecodeTask( |
| 672 pixel_ref, | 672 pixel_ref, |
| 673 tile->layer_id(), | 673 tile->layer_id(), |
| 674 rendering_stats_instrumentation_, | 674 rendering_stats_instrumentation_, |
| 675 base::Bind(&TileManager::OnImageDecodeTaskCompleted, | 675 base::Bind(&TileManager::OnImageDecodeTaskCompleted, |
| 676 base::Unretained(this), | 676 base::Unretained(this), |
| 677 tile->layer_id(), | 677 tile->layer_id(), |
| 678 base::Unretained(pixel_ref))); | 678 base::Unretained(pixel_ref))); |
| 679 } | 679 } |
| 680 | 680 |
| 681 RasterTaskMetadata TileManager::GetRasterTaskMetadata( | |
| 682 const Tile& tile) const { | |
| 683 RasterTaskMetadata metadata; | |
| 684 const ManagedTileState& mts = tile.managed_state(); | |
| 685 metadata.is_tile_in_pending_tree_now_bin = | |
| 686 mts.tree_bin[PENDING_TREE] == NOW_BIN; | |
| 687 metadata.tile_resolution = mts.resolution; | |
| 688 metadata.layer_id = tile.layer_id(); | |
| 689 metadata.tile_id = &tile; | |
| 690 metadata.source_frame_number = tile.source_frame_number(); | |
| 691 return metadata; | |
| 692 } | |
| 693 | |
| 694 RasterWorkerPool::RasterTask TileManager::CreateRasterTask(Tile* tile) { | 681 RasterWorkerPool::RasterTask TileManager::CreateRasterTask(Tile* tile) { |
| 695 TRACE_EVENT0("cc", "TileManager::CreateRasterTask"); | 682 TRACE_EVENT0("cc", "TileManager::CreateRasterTask"); |
| 696 | 683 |
| 697 ManagedTileState& mts = tile->managed_state(); | 684 ManagedTileState& mts = tile->managed_state(); |
| 698 | 685 |
| 699 scoped_ptr<ResourcePool::Resource> resource = | 686 scoped_ptr<ResourcePool::Resource> resource = |
| 700 resource_pool_->AcquireResource(tile->tile_size_.size(), | 687 resource_pool_->AcquireResource(tile->tile_size_.size(), |
| 701 texture_format_); | 688 texture_format_); |
| 702 const Resource* const_resource = resource.get(); | 689 const Resource* const_resource = resource.get(); |
| 703 | 690 |
| (...skipping 14 matching lines...) Expand all Loading... |
| 718 continue; | 705 continue; |
| 719 } | 706 } |
| 720 | 707 |
| 721 // Create and append new image decode task for this pixel ref. | 708 // Create and append new image decode task for this pixel ref. |
| 722 RasterWorkerPool::Task decode_task = CreateImageDecodeTask( | 709 RasterWorkerPool::Task decode_task = CreateImageDecodeTask( |
| 723 tile, pixel_ref); | 710 tile, pixel_ref); |
| 724 decode_tasks.Insert(decode_task); | 711 decode_tasks.Insert(decode_task); |
| 725 existing_pixel_refs[id] = decode_task; | 712 existing_pixel_refs[id] = decode_task; |
| 726 } | 713 } |
| 727 | 714 |
| 728 RasterTaskMetadata metadata = GetRasterTaskMetadata(*tile); | |
| 729 return RasterWorkerPool::CreateRasterTask( | 715 return RasterWorkerPool::CreateRasterTask( |
| 730 const_resource, | 716 const_resource, |
| 731 tile->picture_pile(), | 717 tile->picture_pile(), |
| 732 tile->content_rect(), | 718 tile->content_rect(), |
| 733 tile->contents_scale(), | 719 tile->contents_scale(), |
| 734 mts.raster_mode, | 720 mts.raster_mode, |
| 735 metadata, | 721 mts.tree_bin[PENDING_TREE] == NOW_BIN, |
| 722 mts.resolution, |
| 723 tile->layer_id(), |
| 724 &tile, |
| 725 tile->source_frame_number(), |
| 736 rendering_stats_instrumentation_, | 726 rendering_stats_instrumentation_, |
| 737 base::Bind(&TileManager::OnRasterTaskCompleted, | 727 base::Bind(&TileManager::OnRasterTaskCompleted, |
| 738 base::Unretained(this), | 728 base::Unretained(this), |
| 739 make_scoped_refptr(tile), | 729 make_scoped_refptr(tile), |
| 740 base::Passed(&resource), | 730 base::Passed(&resource), |
| 741 mts.raster_mode), | 731 mts.raster_mode), |
| 742 &decode_tasks); | 732 &decode_tasks); |
| 743 } | 733 } |
| 744 | 734 |
| 745 void TileManager::OnImageDecodeTaskCompleted( | 735 void TileManager::OnImageDecodeTaskCompleted( |
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 813 } | 803 } |
| 814 | 804 |
| 815 void TileManager::DidTileTreeBinChange(Tile* tile, | 805 void TileManager::DidTileTreeBinChange(Tile* tile, |
| 816 TileManagerBin new_tree_bin, | 806 TileManagerBin new_tree_bin, |
| 817 WhichTree tree) { | 807 WhichTree tree) { |
| 818 ManagedTileState& mts = tile->managed_state(); | 808 ManagedTileState& mts = tile->managed_state(); |
| 819 mts.tree_bin[tree] = new_tree_bin; | 809 mts.tree_bin[tree] = new_tree_bin; |
| 820 } | 810 } |
| 821 | 811 |
| 822 } // namespace cc | 812 } // namespace cc |
| OLD | NEW |