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

Unified Diff: cc/resources/tiling_set_raster_queue_all.cc

Issue 1130123003: cc: Separate the priority from the tile and put in new PrioritizedTile (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: merge Created 5 years, 7 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/resources/tiling_set_raster_queue_all.h ('k') | cc/resources/tiling_set_raster_queue_required.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/resources/tiling_set_raster_queue_all.cc
diff --git a/cc/resources/tiling_set_raster_queue_all.cc b/cc/resources/tiling_set_raster_queue_all.cc
index 6f212152a98cfcfb3caebe1951cc4ff1a77f1158..ba2f11520b8a946d3c8c5bf97857aef5260fc350 100644
--- a/cc/resources/tiling_set_raster_queue_all.cc
+++ b/cc/resources/tiling_set_raster_queue_all.cc
@@ -118,17 +118,7 @@ void TilingSetRasterQueueAll::Pop() {
AdvanceToNextStage();
}
-Tile* TilingSetRasterQueueAll::Top() {
- DCHECK(!IsEmpty());
-
- IteratorType index = stages_[current_stage_].iterator_type;
- DCHECK(!iterators_[index].done());
- DCHECK(iterators_[index].type() == stages_[current_stage_].tile_type);
-
- return *iterators_[index];
-}
-
-const Tile* TilingSetRasterQueueAll::Top() const {
+const PrioritizedTile& TilingSetRasterQueueAll::Top() const {
DCHECK(!IsEmpty());
IteratorType index = stages_[current_stage_].iterator_type;
@@ -153,39 +143,41 @@ void TilingSetRasterQueueAll::AdvanceToNextStage() {
// OnePriorityRectIterator
TilingSetRasterQueueAll::OnePriorityRectIterator::OnePriorityRectIterator()
- : tile_(nullptr), tiling_(nullptr), tiling_data_(nullptr) {
+ : tiling_(nullptr), tiling_data_(nullptr) {
}
TilingSetRasterQueueAll::OnePriorityRectIterator::OnePriorityRectIterator(
PictureLayerTiling* tiling,
TilingData* tiling_data)
- : tile_(nullptr), tiling_(tiling), tiling_data_(tiling_data) {
+ : tiling_(tiling), tiling_data_(tiling_data) {
}
template <typename TilingIteratorType>
void TilingSetRasterQueueAll::OnePriorityRectIterator::AdvanceToNextTile(
TilingIteratorType* iterator) {
- tile_ = nullptr;
- while (!tile_ || !TileNeedsRaster(tile_)) {
+ current_tile_ = PrioritizedTile();
+ Tile* tile = nullptr;
+ while (!tile || !TileNeedsRaster(tile)) {
++(*iterator);
if (!(*iterator)) {
- tile_ = nullptr;
return;
}
- tile_ = tiling_->TileAt(iterator->index_x(), iterator->index_y());
+ tile = tiling_->TileAt(iterator->index_x(), iterator->index_y());
}
- tiling_->UpdateTilePriority(tile_);
+ tiling_->UpdateRequiredStatesOnTile(tile);
+ current_tile_ = tiling_->MakePrioritizedTile(tile);
}
template <typename TilingIteratorType>
bool TilingSetRasterQueueAll::OnePriorityRectIterator::
GetFirstTileAndCheckIfValid(TilingIteratorType* iterator) {
- tile_ = tiling_->TileAt(iterator->index_x(), iterator->index_y());
- if (!tile_ || !TileNeedsRaster(tile_)) {
- tile_ = nullptr;
+ Tile* tile = tiling_->TileAt(iterator->index_x(), iterator->index_y());
+ if (!tile || !TileNeedsRaster(tile)) {
+ current_tile_ = PrioritizedTile();
return false;
}
- tiling_->UpdateTilePriority(tile_);
+ tiling_->UpdateRequiredStatesOnTile(tile);
+ current_tile_ = tiling_->MakePrioritizedTile(tile);
return true;
}
@@ -250,7 +242,7 @@ TilingSetRasterQueueAll::SkewportTilingIterator::SkewportTilingIterator(
++(*this);
return;
}
- if (tile_->content_rect().Intersects(pending_visible_rect_))
+ if (current_tile_.tile()->content_rect().Intersects(pending_visible_rect_))
++(*this);
}
@@ -259,7 +251,7 @@ TilingSetRasterQueueAll::SkewportTilingIterator&
operator++() {
AdvanceToNextTile(&iterator_);
while (!done()) {
- if (!tile_->content_rect().Intersects(pending_visible_rect_))
+ if (!current_tile_.tile()->content_rect().Intersects(pending_visible_rect_))
break;
AdvanceToNextTile(&iterator_);
}
@@ -283,7 +275,7 @@ TilingSetRasterQueueAll::SoonBorderTilingIterator::SoonBorderTilingIterator(
++(*this);
return;
}
- if (tile_->content_rect().Intersects(pending_visible_rect_))
+ if (current_tile_.tile()->content_rect().Intersects(pending_visible_rect_))
++(*this);
}
@@ -292,7 +284,7 @@ TilingSetRasterQueueAll::SoonBorderTilingIterator&
operator++() {
AdvanceToNextTile(&iterator_);
while (!done()) {
- if (!tile_->content_rect().Intersects(pending_visible_rect_))
+ if (!current_tile_.tile()->content_rect().Intersects(pending_visible_rect_))
break;
AdvanceToNextTile(&iterator_);
}
@@ -316,7 +308,7 @@ TilingSetRasterQueueAll::EventuallyTilingIterator::EventuallyTilingIterator(
++(*this);
return;
}
- if (tile_->content_rect().Intersects(pending_visible_rect_))
+ if (current_tile_.tile()->content_rect().Intersects(pending_visible_rect_))
++(*this);
}
@@ -325,7 +317,7 @@ TilingSetRasterQueueAll::EventuallyTilingIterator&
operator++() {
AdvanceToNextTile(&iterator_);
while (!done()) {
- if (!tile_->content_rect().Intersects(pending_visible_rect_))
+ if (!current_tile_.tile()->content_rect().Intersects(pending_visible_rect_))
break;
AdvanceToNextTile(&iterator_);
}
@@ -333,17 +325,13 @@ TilingSetRasterQueueAll::EventuallyTilingIterator&
}
// TilingIterator
-TilingSetRasterQueueAll::TilingIterator::TilingIterator()
- : tiling_(NULL), current_tile_(NULL) {
+TilingSetRasterQueueAll::TilingIterator::TilingIterator() : tiling_(nullptr) {
}
TilingSetRasterQueueAll::TilingIterator::TilingIterator(
PictureLayerTiling* tiling,
TilingData* tiling_data)
- : tiling_(tiling),
- tiling_data_(tiling_data),
- phase_(VISIBLE_RECT),
- current_tile_(NULL) {
+ : tiling_(tiling), tiling_data_(tiling_data), phase_(VISIBLE_RECT) {
visible_iterator_ = VisibleTilingIterator(tiling_, tiling_data_);
if (visible_iterator_.done()) {
AdvancePhase();
@@ -358,8 +346,8 @@ TilingSetRasterQueueAll::TilingIterator::~TilingIterator() {
void TilingSetRasterQueueAll::TilingIterator::AdvancePhase() {
DCHECK_LT(phase_, EVENTUALLY_RECT);
- current_tile_ = nullptr;
- while (!current_tile_ && phase_ < EVENTUALLY_RECT) {
+ current_tile_ = PrioritizedTile();
+ while (!current_tile_.tile() && phase_ < EVENTUALLY_RECT) {
phase_ = static_cast<Phase>(phase_ + 1);
switch (phase_) {
case VISIBLE_RECT:
@@ -429,7 +417,7 @@ TilingSetRasterQueueAll::TilingIterator&
case EVENTUALLY_RECT:
++eventually_iterator_;
if (eventually_iterator_.done()) {
- current_tile_ = nullptr;
+ current_tile_ = PrioritizedTile();
return *this;
}
current_tile_ = *eventually_iterator_;
« no previous file with comments | « cc/resources/tiling_set_raster_queue_all.h ('k') | cc/resources/tiling_set_raster_queue_required.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698