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

Unified Diff: cc/resources/raster_tile_priority_queue.h

Issue 816453008: cc: Split tiling set raster queues into all and required. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 5 years, 11 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/raster_tile_priority_queue.h
diff --git a/cc/resources/raster_tile_priority_queue.h b/cc/resources/raster_tile_priority_queue.h
index 416a57a670a006e03daeaf7977d8d827b454f724..875b393fe7af599c723226ce66d1b0f6286a3c44 100644
--- a/cc/resources/raster_tile_priority_queue.h
+++ b/cc/resources/raster_tile_priority_queue.h
@@ -16,12 +16,19 @@
namespace cc {
+// TODO(vmpstr): Consider virtualizing this and adding ::Create with the
+// parameters of ::Build that would create a simpler queue for required only
+// tiles (ie, there's no need for the heap if all we're interested in are the
+// required tiles.
class CC_EXPORT RasterTilePriorityQueue {
public:
+ enum class Type { ALL, REQUIRED_FOR_ACTIVATION, REQUIRED_FOR_DRAW };
+
struct PairedTilingSetQueue {
danakj 2015/01/08 23:24:40 This class is not a struct (anymore?), it has non-
PairedTilingSetQueue();
PairedTilingSetQueue(const PictureLayerImpl::Pair& layer_pair,
- TreePriority tree_priority);
+ TreePriority tree_priority,
+ Type type);
~PairedTilingSetQueue();
bool IsEmpty() const;
@@ -45,7 +52,8 @@ class CC_EXPORT RasterTilePriorityQueue {
~RasterTilePriorityQueue();
void Build(const std::vector<PictureLayerImpl::Pair>& paired_layers,
- TreePriority tree_priority);
+ TreePriority tree_priority,
+ Type type);
void Reset();
bool IsEmpty() const;

Powered by Google App Engine
This is Rietveld 408576698