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

Side by Side Diff: cc/tiles/tile_manager.cc

Issue 2928433003: cc: Add scaling for checkered images. (Closed)
Patch Set: .. Created 3 years, 6 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
« no previous file with comments | « cc/tiles/image_controller_unittest.cc ('k') | cc/trees/layer_tree_host_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/tiles/tile_manager.h" 5 #include "cc/tiles/tile_manager.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <algorithm> 10 #include <algorithm>
(...skipping 846 matching lines...) Expand 10 before | Expand all | Expand 10 after
857 std::vector<DrawImage>* sync_decoded_images, 857 std::vector<DrawImage>* sync_decoded_images,
858 std::vector<PaintImage>* checkered_images) { 858 std::vector<PaintImage>* checkered_images) {
859 Tile* tile = prioritized_tile.tile(); 859 Tile* tile = prioritized_tile.tile();
860 std::vector<DrawImage> images_in_tile; 860 std::vector<DrawImage> images_in_tile;
861 prioritized_tile.raster_source()->GetDiscardableImagesInRect( 861 prioritized_tile.raster_source()->GetDiscardableImagesInRect(
862 tile->enclosing_layer_rect(), tile->raster_transform().scale(), 862 tile->enclosing_layer_rect(), tile->raster_transform().scale(),
863 raster_color_space, &images_in_tile); 863 raster_color_space, &images_in_tile);
864 WhichTree tree = tile->tiling()->tree(); 864 WhichTree tree = tile->tiling()->tree();
865 865
866 for (auto& draw_image : images_in_tile) { 866 for (auto& draw_image : images_in_tile) {
867 if (checker_image_tracker_.ShouldCheckerImage(draw_image.paint_image(), 867 if (checker_image_tracker_.ShouldCheckerImage(draw_image, tree))
868 tree))
869 checkered_images->push_back(draw_image.paint_image()); 868 checkered_images->push_back(draw_image.paint_image());
870 else 869 else
871 sync_decoded_images->push_back(draw_image); 870 sync_decoded_images->push_back(draw_image);
872 } 871 }
873 } 872 }
874 873
875 void TileManager::AddCheckeredImagesToDecodeQueue( 874 void TileManager::AddCheckeredImagesToDecodeQueue(
876 const PrioritizedTile& prioritized_tile, 875 const PrioritizedTile& prioritized_tile,
877 const gfx::ColorSpace& raster_color_space, 876 const gfx::ColorSpace& raster_color_space,
878 CheckerImageTracker::ImageDecodeQueue* image_decode_queue) { 877 CheckerImageTracker::ImageDecodeQueue* image_decode_queue) {
879 Tile* tile = prioritized_tile.tile(); 878 Tile* tile = prioritized_tile.tile();
880 std::vector<DrawImage> images_in_tile; 879 std::vector<DrawImage> images_in_tile;
881 prioritized_tile.raster_source()->GetDiscardableImagesInRect( 880 prioritized_tile.raster_source()->GetDiscardableImagesInRect(
882 tile->enclosing_layer_rect(), tile->raster_transform().scale(), 881 tile->enclosing_layer_rect(), tile->raster_transform().scale(),
883 raster_color_space, &images_in_tile); 882 raster_color_space, &images_in_tile);
884 WhichTree tree = tile->tiling()->tree(); 883 WhichTree tree = tile->tiling()->tree();
885 884
886 for (auto& draw_image : images_in_tile) { 885 for (auto& draw_image : images_in_tile) {
887 if (checker_image_tracker_.ShouldCheckerImage(draw_image.paint_image(), 886 if (checker_image_tracker_.ShouldCheckerImage(draw_image, tree))
888 tree))
889 image_decode_queue->push_back(draw_image.paint_image()); 887 image_decode_queue->push_back(draw_image.paint_image());
890 } 888 }
891 } 889 }
892 890
893 void TileManager::ScheduleTasks( 891 void TileManager::ScheduleTasks(
894 const PrioritizedWorkToSchedule& work_to_schedule) { 892 const PrioritizedWorkToSchedule& work_to_schedule) {
895 const std::vector<PrioritizedTile>& tiles_that_need_to_be_rasterized = 893 const std::vector<PrioritizedTile>& tiles_that_need_to_be_rasterized =
896 work_to_schedule.tiles_to_raster; 894 work_to_schedule.tiles_to_raster;
897 TRACE_EVENT1("cc", "TileManager::ScheduleTasks", "count", 895 TRACE_EVENT1("cc", "TileManager::ScheduleTasks", "count",
898 tiles_that_need_to_be_rasterized.size()); 896 tiles_that_need_to_be_rasterized.size());
(...skipping 759 matching lines...) Expand 10 before | Expand all | Expand 10 after
1658 all_tile_tasks_completed = false; 1656 all_tile_tasks_completed = false;
1659 did_notify_all_tile_tasks_completed = false; 1657 did_notify_all_tile_tasks_completed = false;
1660 } 1658 }
1661 1659
1662 TileManager::PrioritizedWorkToSchedule::PrioritizedWorkToSchedule() = default; 1660 TileManager::PrioritizedWorkToSchedule::PrioritizedWorkToSchedule() = default;
1663 TileManager::PrioritizedWorkToSchedule::PrioritizedWorkToSchedule( 1661 TileManager::PrioritizedWorkToSchedule::PrioritizedWorkToSchedule(
1664 PrioritizedWorkToSchedule&& other) = default; 1662 PrioritizedWorkToSchedule&& other) = default;
1665 TileManager::PrioritizedWorkToSchedule::~PrioritizedWorkToSchedule() = default; 1663 TileManager::PrioritizedWorkToSchedule::~PrioritizedWorkToSchedule() = default;
1666 1664
1667 } // namespace cc 1665 } // namespace cc
OLDNEW
« no previous file with comments | « cc/tiles/image_controller_unittest.cc ('k') | cc/trees/layer_tree_host_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698