| Index: cc/resources/tiling_set_eviction_queue.cc
|
| diff --git a/cc/resources/tiling_set_eviction_queue.cc b/cc/resources/tiling_set_eviction_queue.cc
|
| deleted file mode 100644
|
| index f494da3fa3e885b7a71d1cf9a0b7e0162adb6a77..0000000000000000000000000000000000000000
|
| --- a/cc/resources/tiling_set_eviction_queue.cc
|
| +++ /dev/null
|
| @@ -1,523 +0,0 @@
|
| -// Copyright 2014 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include <utility>
|
| -
|
| -#include "cc/resources/tiling_set_eviction_queue.h"
|
| -
|
| -namespace cc {
|
| -
|
| -TilingSetEvictionQueue::TilingSetEvictionQueue(
|
| - PictureLayerTilingSet* tiling_set)
|
| - : tree_(tiling_set->tree()), phase_(EVENTUALLY_RECT) {
|
| - // Early out if the layer has no tilings.
|
| - if (!tiling_set->num_tilings())
|
| - return;
|
| - GenerateTilingOrder(tiling_set);
|
| - eventually_iterator_ = EventuallyTilingIterator(&tilings_, tree_);
|
| - if (eventually_iterator_.done()) {
|
| - AdvancePhase();
|
| - return;
|
| - }
|
| - current_tile_ = *eventually_iterator_;
|
| -}
|
| -
|
| -TilingSetEvictionQueue::~TilingSetEvictionQueue() {
|
| -}
|
| -
|
| -void TilingSetEvictionQueue::GenerateTilingOrder(
|
| - PictureLayerTilingSet* tiling_set) {
|
| - tilings_.reserve(tiling_set->num_tilings());
|
| - // Generate all of the tilings in the order described in the header comment
|
| - // for this class.
|
| - PictureLayerTilingSet::TilingRange range =
|
| - tiling_set->GetTilingRange(PictureLayerTilingSet::HIGHER_THAN_HIGH_RES);
|
| - for (int i = range.start; i < range.end; ++i) {
|
| - PictureLayerTiling* tiling = tiling_set->tiling_at(i);
|
| - if (tiling->has_tiles())
|
| - tilings_.push_back(tiling);
|
| - }
|
| -
|
| - range = tiling_set->GetTilingRange(PictureLayerTilingSet::LOWER_THAN_LOW_RES);
|
| - for (int i = range.end - 1; i >= range.start; --i) {
|
| - PictureLayerTiling* tiling = tiling_set->tiling_at(i);
|
| - if (tiling->has_tiles())
|
| - tilings_.push_back(tiling);
|
| - }
|
| -
|
| - range = tiling_set->GetTilingRange(
|
| - PictureLayerTilingSet::BETWEEN_HIGH_AND_LOW_RES);
|
| - for (int i = range.end - 1; i >= range.start; --i) {
|
| - PictureLayerTiling* tiling = tiling_set->tiling_at(i);
|
| - if (tiling->has_tiles())
|
| - tilings_.push_back(tiling);
|
| - }
|
| -
|
| - range = tiling_set->GetTilingRange(PictureLayerTilingSet::LOW_RES);
|
| - for (int i = range.start; i < range.end; ++i) {
|
| - PictureLayerTiling* tiling = tiling_set->tiling_at(i);
|
| - if (tiling->has_tiles())
|
| - tilings_.push_back(tiling);
|
| - }
|
| -
|
| - range = tiling_set->GetTilingRange(PictureLayerTilingSet::HIGH_RES);
|
| - for (int i = range.start; i < range.end; ++i) {
|
| - PictureLayerTiling* tiling = tiling_set->tiling_at(i);
|
| - if (tiling->has_tiles())
|
| - tilings_.push_back(tiling);
|
| - }
|
| - DCHECK_GE(tiling_set->num_tilings(), tilings_.size());
|
| -}
|
| -
|
| -void TilingSetEvictionQueue::AdvancePhase() {
|
| - current_tile_ = PrioritizedTile();
|
| - while (!current_tile_.tile() &&
|
| - phase_ != VISIBLE_RECT_REQUIRED_FOR_ACTIVATION_UNOCCLUDED) {
|
| - phase_ = static_cast<Phase>(phase_ + 1);
|
| - switch (phase_) {
|
| - case EVENTUALLY_RECT:
|
| - NOTREACHED();
|
| - break;
|
| - case SOON_BORDER_RECT:
|
| - soon_iterator_ = SoonBorderTilingIterator(&tilings_, tree_);
|
| - if (!soon_iterator_.done())
|
| - current_tile_ = *soon_iterator_;
|
| - break;
|
| - case SKEWPORT_RECT:
|
| - skewport_iterator_ = SkewportTilingIterator(&tilings_, tree_);
|
| - if (!skewport_iterator_.done())
|
| - current_tile_ = *skewport_iterator_;
|
| - break;
|
| - case PENDING_VISIBLE_RECT:
|
| - pending_visible_iterator_ = PendingVisibleTilingIterator(
|
| - &tilings_, tree_, false /* return required for activation tiles */);
|
| - if (!pending_visible_iterator_.done())
|
| - current_tile_ = *pending_visible_iterator_;
|
| - break;
|
| - case PENDING_VISIBLE_RECT_REQUIRED_FOR_ACTIVATION:
|
| - pending_visible_iterator_ = PendingVisibleTilingIterator(
|
| - &tilings_, tree_, true /* return required for activation tiles */);
|
| - if (!pending_visible_iterator_.done())
|
| - current_tile_ = *pending_visible_iterator_;
|
| - break;
|
| - case VISIBLE_RECT_OCCLUDED:
|
| - visible_iterator_ = VisibleTilingIterator(
|
| - &tilings_, tree_, true /* return occluded tiles */,
|
| - false /* return required for activation tiles */);
|
| - if (!visible_iterator_.done())
|
| - current_tile_ = *visible_iterator_;
|
| - break;
|
| - case VISIBLE_RECT_UNOCCLUDED:
|
| - visible_iterator_ = VisibleTilingIterator(
|
| - &tilings_, tree_, false /* return occluded tiles */,
|
| - false /* return required for activation tiles */);
|
| - if (!visible_iterator_.done())
|
| - current_tile_ = *visible_iterator_;
|
| - break;
|
| - case VISIBLE_RECT_REQUIRED_FOR_ACTIVATION_OCCLUDED:
|
| - visible_iterator_ = VisibleTilingIterator(
|
| - &tilings_, tree_, true /* return occluded tiles */,
|
| - true /* return required for activation tiles */);
|
| - if (!visible_iterator_.done())
|
| - current_tile_ = *visible_iterator_;
|
| - break;
|
| - case VISIBLE_RECT_REQUIRED_FOR_ACTIVATION_UNOCCLUDED:
|
| - visible_iterator_ = VisibleTilingIterator(
|
| - &tilings_, tree_, false /* return occluded tiles */,
|
| - true /* return required for activation tiles */);
|
| - if (!visible_iterator_.done())
|
| - current_tile_ = *visible_iterator_;
|
| - break;
|
| - }
|
| - }
|
| -}
|
| -
|
| -bool TilingSetEvictionQueue::IsEmpty() const {
|
| - return !current_tile_.tile();
|
| -}
|
| -
|
| -const PrioritizedTile& TilingSetEvictionQueue::Top() const {
|
| - DCHECK(!IsEmpty());
|
| - return current_tile_;
|
| -}
|
| -
|
| -void TilingSetEvictionQueue::Pop() {
|
| - DCHECK(!IsEmpty());
|
| - current_tile_ = PrioritizedTile();
|
| - switch (phase_) {
|
| - case EVENTUALLY_RECT:
|
| - ++eventually_iterator_;
|
| - if (!eventually_iterator_.done())
|
| - current_tile_ = *eventually_iterator_;
|
| - break;
|
| - case SOON_BORDER_RECT:
|
| - ++soon_iterator_;
|
| - if (!soon_iterator_.done())
|
| - current_tile_ = *soon_iterator_;
|
| - break;
|
| - case SKEWPORT_RECT:
|
| - ++skewport_iterator_;
|
| - if (!skewport_iterator_.done())
|
| - current_tile_ = *skewport_iterator_;
|
| - break;
|
| - case PENDING_VISIBLE_RECT:
|
| - case PENDING_VISIBLE_RECT_REQUIRED_FOR_ACTIVATION:
|
| - ++pending_visible_iterator_;
|
| - if (!pending_visible_iterator_.done())
|
| - current_tile_ = *pending_visible_iterator_;
|
| - break;
|
| - case VISIBLE_RECT_OCCLUDED:
|
| - case VISIBLE_RECT_UNOCCLUDED:
|
| - case VISIBLE_RECT_REQUIRED_FOR_ACTIVATION_OCCLUDED:
|
| - case VISIBLE_RECT_REQUIRED_FOR_ACTIVATION_UNOCCLUDED:
|
| - ++visible_iterator_;
|
| - if (!visible_iterator_.done())
|
| - current_tile_ = *visible_iterator_;
|
| - break;
|
| - }
|
| - if (!current_tile_.tile())
|
| - AdvancePhase();
|
| -}
|
| -
|
| -// EvictionRectIterator
|
| -TilingSetEvictionQueue::EvictionRectIterator::EvictionRectIterator()
|
| - : tilings_(nullptr), tree_(ACTIVE_TREE), tiling_index_(0) {
|
| -}
|
| -
|
| -TilingSetEvictionQueue::EvictionRectIterator::EvictionRectIterator(
|
| - std::vector<PictureLayerTiling*>* tilings,
|
| - WhichTree tree,
|
| - PictureLayerTiling::PriorityRectType priority_rect_type)
|
| - : tilings_(tilings),
|
| - tree_(tree),
|
| - priority_rect_type_(priority_rect_type),
|
| - tiling_index_(0) {
|
| -}
|
| -
|
| -template <typename TilingIteratorType>
|
| -bool TilingSetEvictionQueue::EvictionRectIterator::AdvanceToNextTile(
|
| - TilingIteratorType* iterator) {
|
| - bool found_tile = false;
|
| - while (!found_tile) {
|
| - ++(*iterator);
|
| - if (!(*iterator)) {
|
| - prioritized_tile_ = PrioritizedTile();
|
| - break;
|
| - }
|
| - found_tile = GetFirstTileAndCheckIfValid(iterator);
|
| - }
|
| - return found_tile;
|
| -}
|
| -
|
| -template <typename TilingIteratorType>
|
| -bool TilingSetEvictionQueue::EvictionRectIterator::GetFirstTileAndCheckIfValid(
|
| - TilingIteratorType* iterator) {
|
| - PictureLayerTiling* tiling = (*tilings_)[tiling_index_];
|
| - Tile* tile = tiling->TileAt(iterator->index_x(), iterator->index_y());
|
| - prioritized_tile_ = PrioritizedTile();
|
| - // If there's nothing to evict, return false.
|
| - if (!tile || !tile->draw_info().has_resource())
|
| - 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.
|
| - if (priority_rect_type_ > PictureLayerTiling::PENDING_VISIBLE_RECT &&
|
| - tiling->pending_visible_rect().Intersects(tile->content_rect())) {
|
| - return false;
|
| - }
|
| - (*tilings_)[tiling_index_]->UpdateRequiredStatesOnTile(tile);
|
| - prioritized_tile_ = (*tilings_)[tiling_index_]->MakePrioritizedTile(
|
| - tile, priority_rect_type_);
|
| - // In other cases, the tile we got is a viable candidate, return true.
|
| - return true;
|
| -}
|
| -
|
| -// EventuallyTilingIterator
|
| -TilingSetEvictionQueue::EventuallyTilingIterator::EventuallyTilingIterator(
|
| - std::vector<PictureLayerTiling*>* tilings,
|
| - WhichTree tree)
|
| - : EvictionRectIterator(tilings, tree, PictureLayerTiling::EVENTUALLY_RECT) {
|
| - // Find the first tiling with a tile.
|
| - while (tiling_index_ < tilings_->size()) {
|
| - if (!(*tilings_)[tiling_index_]->has_eventually_rect_tiles()) {
|
| - ++tiling_index_;
|
| - continue;
|
| - }
|
| - iterator_ = TilingData::ReverseSpiralDifferenceIterator(
|
| - (*tilings_)[tiling_index_]->tiling_data(),
|
| - (*tilings_)[tiling_index_]->current_eventually_rect(),
|
| - (*tilings_)[tiling_index_]->current_skewport_rect(),
|
| - (*tilings_)[tiling_index_]->current_soon_border_rect());
|
| - if (!iterator_) {
|
| - ++tiling_index_;
|
| - continue;
|
| - }
|
| - break;
|
| - }
|
| - if (tiling_index_ >= tilings_->size())
|
| - return;
|
| - if (!GetFirstTileAndCheckIfValid(&iterator_))
|
| - ++(*this);
|
| -}
|
| -
|
| -TilingSetEvictionQueue::EventuallyTilingIterator&
|
| - TilingSetEvictionQueue::EventuallyTilingIterator::
|
| - operator++() {
|
| - bool found_tile = AdvanceToNextTile(&iterator_);
|
| - while (!found_tile && (tiling_index_ + 1) < tilings_->size()) {
|
| - ++tiling_index_;
|
| - if (!(*tilings_)[tiling_index_]->has_eventually_rect_tiles())
|
| - continue;
|
| - iterator_ = TilingData::ReverseSpiralDifferenceIterator(
|
| - (*tilings_)[tiling_index_]->tiling_data(),
|
| - (*tilings_)[tiling_index_]->current_eventually_rect(),
|
| - (*tilings_)[tiling_index_]->current_skewport_rect(),
|
| - (*tilings_)[tiling_index_]->current_soon_border_rect());
|
| - if (!iterator_)
|
| - continue;
|
| - found_tile = GetFirstTileAndCheckIfValid(&iterator_);
|
| - if (!found_tile)
|
| - found_tile = AdvanceToNextTile(&iterator_);
|
| - }
|
| - return *this;
|
| -}
|
| -
|
| -// SoonBorderTilingIterator
|
| -TilingSetEvictionQueue::SoonBorderTilingIterator::SoonBorderTilingIterator(
|
| - std::vector<PictureLayerTiling*>* tilings,
|
| - WhichTree tree)
|
| - : EvictionRectIterator(tilings,
|
| - tree,
|
| - PictureLayerTiling::SOON_BORDER_RECT) {
|
| - // Find the first tiling with a tile.
|
| - while (tiling_index_ < tilings_->size()) {
|
| - if (!(*tilings_)[tiling_index_]->has_soon_border_rect_tiles()) {
|
| - ++tiling_index_;
|
| - continue;
|
| - }
|
| - iterator_ = TilingData::ReverseSpiralDifferenceIterator(
|
| - (*tilings_)[tiling_index_]->tiling_data(),
|
| - (*tilings_)[tiling_index_]->current_soon_border_rect(),
|
| - (*tilings_)[tiling_index_]->current_skewport_rect(),
|
| - (*tilings_)[tiling_index_]->current_visible_rect());
|
| - if (!iterator_) {
|
| - ++tiling_index_;
|
| - continue;
|
| - }
|
| - break;
|
| - }
|
| - if (tiling_index_ >= tilings_->size())
|
| - return;
|
| - if (!GetFirstTileAndCheckIfValid(&iterator_))
|
| - ++(*this);
|
| -}
|
| -
|
| -TilingSetEvictionQueue::SoonBorderTilingIterator&
|
| - TilingSetEvictionQueue::SoonBorderTilingIterator::
|
| - operator++() {
|
| - bool found_tile = AdvanceToNextTile(&iterator_);
|
| - while (!found_tile && (tiling_index_ + 1) < tilings_->size()) {
|
| - ++tiling_index_;
|
| - if (!(*tilings_)[tiling_index_]->has_soon_border_rect_tiles())
|
| - continue;
|
| - iterator_ = TilingData::ReverseSpiralDifferenceIterator(
|
| - (*tilings_)[tiling_index_]->tiling_data(),
|
| - (*tilings_)[tiling_index_]->current_soon_border_rect(),
|
| - (*tilings_)[tiling_index_]->current_skewport_rect(),
|
| - (*tilings_)[tiling_index_]->current_visible_rect());
|
| - if (!iterator_)
|
| - continue;
|
| - found_tile = GetFirstTileAndCheckIfValid(&iterator_);
|
| - if (!found_tile)
|
| - found_tile = AdvanceToNextTile(&iterator_);
|
| - }
|
| - return *this;
|
| -}
|
| -
|
| -// SkewportTilingIterator
|
| -TilingSetEvictionQueue::SkewportTilingIterator::SkewportTilingIterator(
|
| - std::vector<PictureLayerTiling*>* tilings,
|
| - WhichTree tree)
|
| - : EvictionRectIterator(tilings, tree, PictureLayerTiling::SKEWPORT_RECT) {
|
| - // Find the first tiling with a tile.
|
| - while (tiling_index_ < tilings_->size()) {
|
| - if (!(*tilings_)[tiling_index_]->has_skewport_rect_tiles()) {
|
| - ++tiling_index_;
|
| - continue;
|
| - }
|
| - iterator_ = TilingData::ReverseSpiralDifferenceIterator(
|
| - (*tilings_)[tiling_index_]->tiling_data(),
|
| - (*tilings_)[tiling_index_]->current_skewport_rect(),
|
| - (*tilings_)[tiling_index_]->current_visible_rect(),
|
| - (*tilings_)[tiling_index_]->current_visible_rect());
|
| - if (!iterator_) {
|
| - ++tiling_index_;
|
| - continue;
|
| - }
|
| - break;
|
| - }
|
| - if (tiling_index_ >= tilings_->size())
|
| - return;
|
| - if (!GetFirstTileAndCheckIfValid(&iterator_))
|
| - ++(*this);
|
| -}
|
| -
|
| -TilingSetEvictionQueue::SkewportTilingIterator&
|
| - TilingSetEvictionQueue::SkewportTilingIterator::
|
| - operator++() {
|
| - bool found_tile = AdvanceToNextTile(&iterator_);
|
| - while (!found_tile && (tiling_index_ + 1) < tilings_->size()) {
|
| - ++tiling_index_;
|
| - if (!(*tilings_)[tiling_index_]->has_skewport_rect_tiles())
|
| - continue;
|
| - iterator_ = TilingData::ReverseSpiralDifferenceIterator(
|
| - (*tilings_)[tiling_index_]->tiling_data(),
|
| - (*tilings_)[tiling_index_]->current_skewport_rect(),
|
| - (*tilings_)[tiling_index_]->current_visible_rect(),
|
| - (*tilings_)[tiling_index_]->current_visible_rect());
|
| - if (!iterator_)
|
| - continue;
|
| - found_tile = GetFirstTileAndCheckIfValid(&iterator_);
|
| - if (!found_tile)
|
| - found_tile = AdvanceToNextTile(&iterator_);
|
| - }
|
| - return *this;
|
| -}
|
| -
|
| -// PendingVisibleIterator
|
| -TilingSetEvictionQueue::PendingVisibleTilingIterator::
|
| - PendingVisibleTilingIterator(std::vector<PictureLayerTiling*>* tilings,
|
| - WhichTree tree,
|
| - bool return_required_for_activation_tiles)
|
| - : EvictionRectIterator(tilings,
|
| - tree,
|
| - PictureLayerTiling::PENDING_VISIBLE_RECT),
|
| - return_required_for_activation_tiles_(
|
| - return_required_for_activation_tiles) {
|
| - // Find the first tiling with a tile.
|
| - while (tiling_index_ < tilings_->size()) {
|
| - iterator_ = TilingData::DifferenceIterator(
|
| - (*tilings_)[tiling_index_]->tiling_data(),
|
| - (*tilings_)[tiling_index_]->pending_visible_rect(),
|
| - (*tilings_)[tiling_index_]->current_visible_rect());
|
| - if (!iterator_) {
|
| - ++tiling_index_;
|
| - continue;
|
| - }
|
| - break;
|
| - }
|
| - if (tiling_index_ >= tilings_->size())
|
| - return;
|
| - if (!GetFirstTileAndCheckIfValid(&iterator_)) {
|
| - ++(*this);
|
| - return;
|
| - }
|
| - if (!TileMatchesRequiredFlags(prioritized_tile_)) {
|
| - ++(*this);
|
| - return;
|
| - }
|
| -}
|
| -
|
| -TilingSetEvictionQueue::PendingVisibleTilingIterator&
|
| - TilingSetEvictionQueue::PendingVisibleTilingIterator::
|
| - operator++() {
|
| - bool found_tile = AdvanceToNextTile(&iterator_);
|
| - while (found_tile && !TileMatchesRequiredFlags(prioritized_tile_))
|
| - found_tile = AdvanceToNextTile(&iterator_);
|
| -
|
| - while (!found_tile && (tiling_index_ + 1) < tilings_->size()) {
|
| - ++tiling_index_;
|
| - iterator_ = TilingData::DifferenceIterator(
|
| - (*tilings_)[tiling_index_]->tiling_data(),
|
| - (*tilings_)[tiling_index_]->pending_visible_rect(),
|
| - (*tilings_)[tiling_index_]->current_visible_rect());
|
| - if (!iterator_)
|
| - continue;
|
| - found_tile = GetFirstTileAndCheckIfValid(&iterator_);
|
| - if (!found_tile)
|
| - found_tile = AdvanceToNextTile(&iterator_);
|
| - while (found_tile && !TileMatchesRequiredFlags(prioritized_tile_))
|
| - found_tile = AdvanceToNextTile(&iterator_);
|
| - }
|
| - return *this;
|
| -}
|
| -
|
| -bool TilingSetEvictionQueue::PendingVisibleTilingIterator::
|
| - TileMatchesRequiredFlags(const PrioritizedTile& tile) const {
|
| - bool activation_flag_matches = tile.tile()->required_for_activation() ==
|
| - return_required_for_activation_tiles_;
|
| - return activation_flag_matches;
|
| -}
|
| -
|
| -// VisibleTilingIterator
|
| -TilingSetEvictionQueue::VisibleTilingIterator::VisibleTilingIterator(
|
| - std::vector<PictureLayerTiling*>* tilings,
|
| - WhichTree tree,
|
| - bool return_occluded_tiles,
|
| - bool return_required_for_activation_tiles)
|
| - : EvictionRectIterator(tilings, tree, PictureLayerTiling::VISIBLE_RECT),
|
| - return_occluded_tiles_(return_occluded_tiles),
|
| - return_required_for_activation_tiles_(
|
| - return_required_for_activation_tiles) {
|
| - // Find the first tiling with a tile.
|
| - while (tiling_index_ < tilings_->size()) {
|
| - if (!(*tilings_)[tiling_index_]->has_visible_rect_tiles()) {
|
| - ++tiling_index_;
|
| - continue;
|
| - }
|
| - iterator_ = TilingData::Iterator(
|
| - (*tilings_)[tiling_index_]->tiling_data(),
|
| - (*tilings_)[tiling_index_]->current_visible_rect(), false);
|
| - if (!iterator_) {
|
| - ++tiling_index_;
|
| - continue;
|
| - }
|
| - break;
|
| - }
|
| - if (tiling_index_ >= tilings_->size())
|
| - return;
|
| - if (!GetFirstTileAndCheckIfValid(&iterator_)) {
|
| - ++(*this);
|
| - return;
|
| - }
|
| - if (!TileMatchesRequiredFlags(prioritized_tile_)) {
|
| - ++(*this);
|
| - return;
|
| - }
|
| -}
|
| -
|
| -TilingSetEvictionQueue::VisibleTilingIterator&
|
| - TilingSetEvictionQueue::VisibleTilingIterator::
|
| - operator++() {
|
| - bool found_tile = AdvanceToNextTile(&iterator_);
|
| - while (found_tile && !TileMatchesRequiredFlags(prioritized_tile_))
|
| - found_tile = AdvanceToNextTile(&iterator_);
|
| -
|
| - while (!found_tile && (tiling_index_ + 1) < tilings_->size()) {
|
| - ++tiling_index_;
|
| - if (!(*tilings_)[tiling_index_]->has_visible_rect_tiles())
|
| - continue;
|
| - iterator_ = TilingData::Iterator(
|
| - (*tilings_)[tiling_index_]->tiling_data(),
|
| - (*tilings_)[tiling_index_]->current_visible_rect(), false);
|
| - if (!iterator_)
|
| - continue;
|
| - found_tile = GetFirstTileAndCheckIfValid(&iterator_);
|
| - if (!found_tile)
|
| - found_tile = AdvanceToNextTile(&iterator_);
|
| - while (found_tile && !TileMatchesRequiredFlags(prioritized_tile_))
|
| - found_tile = AdvanceToNextTile(&iterator_);
|
| - }
|
| - return *this;
|
| -}
|
| -
|
| -bool TilingSetEvictionQueue::VisibleTilingIterator::TileMatchesRequiredFlags(
|
| - const PrioritizedTile& tile) const {
|
| - bool activation_flag_matches = tile.tile()->required_for_activation() ==
|
| - return_required_for_activation_tiles_;
|
| - bool occluded_flag_matches = tile.is_occluded() == return_occluded_tiles_;
|
| - return activation_flag_matches && occluded_flag_matches;
|
| -}
|
| -
|
| -} // namespace cc
|
|
|