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

Unified Diff: cc/tiles/tiling_set_raster_queue_all.cc

Issue 2726343004: cc: Optimize decode scheduling for checker-images. (Closed)
Patch Set: rebase Created 3 years, 8 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/tiles/tiling_set_raster_queue_all.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/tiles/tiling_set_raster_queue_all.cc
diff --git a/cc/tiles/tiling_set_raster_queue_all.cc b/cc/tiles/tiling_set_raster_queue_all.cc
index 74bf1b2f144f806cadf802723924da96fc597f33..adae8a8dfbe8dc14102698fd7fa462c272fce841 100644
--- a/cc/tiles/tiling_set_raster_queue_all.cc
+++ b/cc/tiles/tiling_set_raster_queue_all.cc
@@ -200,8 +200,23 @@ bool TilingSetRasterQueueAll::OnePriorityRectIterator::
bool TilingSetRasterQueueAll::OnePriorityRectIterator::IsTileValid(
const Tile* tile) const {
- if (!tile || !TileNeedsRaster(tile))
+ if (!tile)
return false;
+
+ // A tile is valid for raster if it needs raster and is unoccluded.
+ bool tile_is_valid_for_raster =
+ tile->draw_info().NeedsRaster() && !tiling_->IsTileOccluded(tile);
+
+ // A tile is not valid for the raster queue if it is not valid for raster or
+ // processing for checker-images.
+ if (!tile_is_valid_for_raster) {
+ bool tile_is_valid_for_checker_images =
+ tile->draw_info().is_checker_imaged() &&
+ tiling_->ShouldDecodeCheckeredImagesForTile(tile);
+ if (!tile_is_valid_for_checker_images)
+ return false;
+ }
+
// After the pending visible rect has been processed, we must return false
// for pending visible rect tiles as tiling iterators do not ignore those
// tiles.
« no previous file with comments | « cc/tiles/tiling_set_raster_queue_all.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698