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

Unified Diff: cc/resources/tiling_set_raster_queue_all.h

Issue 1051993002: cc: Remove tile sharing from tilings. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 9 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
Index: cc/resources/tiling_set_raster_queue_all.h
diff --git a/cc/resources/tiling_set_raster_queue_all.h b/cc/resources/tiling_set_raster_queue_all.h
index ebca838f232b288c00e6e6770d3d97e997d23bf2..5120601f3cb2bc4c1c6d31bb87215b211d68eee1 100644
--- a/cc/resources/tiling_set_raster_queue_all.h
+++ b/cc/resources/tiling_set_raster_queue_all.h
@@ -64,6 +64,18 @@ class CC_EXPORT TilingSetRasterQueueAll {
TilingData::Iterator iterator_;
};
+ class PendingVisibleTilingIterator : public OnePriorityRectIterator {
+ public:
+ PendingVisibleTilingIterator() = default;
+ PendingVisibleTilingIterator(PictureLayerTiling* tiling,
+ TilingData* tiling_data);
+
+ PendingVisibleTilingIterator& operator++();
+
+ private:
+ TilingData::DifferenceIterator iterator_;
+ };
+
// Iterates over skewport only, spiral around the visible rect.
class SkewportTilingIterator : public OnePriorityRectIterator {
public:
@@ -74,6 +86,7 @@ class CC_EXPORT TilingSetRasterQueueAll {
private:
TilingData::SpiralDifferenceIterator iterator_;
+ gfx::Rect pending_visible_rect_;
};
// Iterates over soon border only, spiral around the visible rect.
@@ -87,6 +100,7 @@ class CC_EXPORT TilingSetRasterQueueAll {
private:
TilingData::SpiralDifferenceIterator iterator_;
+ gfx::Rect pending_visible_rect_;
};
// Iterates over eventually rect only, spiral around the soon rect.
@@ -100,6 +114,7 @@ class CC_EXPORT TilingSetRasterQueueAll {
private:
TilingData::SpiralDifferenceIterator iterator_;
+ gfx::Rect pending_visible_rect_;
};
// Iterates over all of the above phases in the following order: visible,
@@ -109,7 +124,7 @@ class CC_EXPORT TilingSetRasterQueueAll {
TilingIterator();
explicit TilingIterator(PictureLayerTiling* tiling,
TilingData* tiling_data);
- ~TilingIterator() = default;
+ ~TilingIterator();
bool done() const { return current_tile_ == nullptr; }
const Tile* operator*() const { return current_tile_; }
@@ -118,6 +133,7 @@ class CC_EXPORT TilingSetRasterQueueAll {
switch (phase_) {
case VISIBLE_RECT:
return TilePriority::NOW;
+ case PENDING_VISIBLE_RECT:
case SKEWPORT_RECT:
case SOON_BORDER_RECT:
return TilePriority::SOON;
@@ -133,6 +149,7 @@ class CC_EXPORT TilingSetRasterQueueAll {
private:
enum Phase {
VISIBLE_RECT,
enne (OOO) 2015/04/02 21:45:34 Should this be ACTIVE_VISIBLE_RECT?
+ PENDING_VISIBLE_RECT,
enne (OOO) 2015/04/02 21:45:34 This is nice!
SKEWPORT_RECT,
SOON_BORDER_RECT,
EVENTUALLY_RECT
@@ -147,6 +164,7 @@ class CC_EXPORT TilingSetRasterQueueAll {
Tile* current_tile_;
VisibleTilingIterator visible_iterator_;
+ PendingVisibleTilingIterator pending_visible_iterator_;
SkewportTilingIterator skewport_iterator_;
SoonBorderTilingIterator soon_border_iterator_;
EventuallyTilingIterator eventually_iterator_;

Powered by Google App Engine
This is Rietveld 408576698