OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "cc/resources/tiling_set_raster_queue_required.h" | 5 #include "cc/resources/tiling_set_raster_queue_required.h" |
6 | 6 |
7 #include <utility> | 7 #include <utility> |
8 | 8 |
9 #include "cc/resources/picture_layer_tiling_set.h" | 9 #include "cc/resources/picture_layer_tiling_set.h" |
10 #include "cc/resources/tile.h" | 10 #include "cc/resources/tile.h" |
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
96 TilingData::Iterator(tiling_data_, rect, false /* include_borders */); | 96 TilingData::Iterator(tiling_data_, rect, false /* include_borders */); |
97 if (!visible_iterator_) | 97 if (!visible_iterator_) |
98 return; | 98 return; |
99 | 99 |
100 Tile* tile = | 100 Tile* tile = |
101 tiling_->TileAt(visible_iterator_.index_x(), visible_iterator_.index_y()); | 101 tiling_->TileAt(visible_iterator_.index_x(), visible_iterator_.index_y()); |
102 // If this is a valid tile, return it. Note that we have to use a tiling check | 102 // If this is a valid tile, return it. Note that we have to use a tiling check |
103 // for occlusion, since the tile's internal state has not yet been updated. | 103 // for occlusion, since the tile's internal state has not yet been updated. |
104 if (tile && tile->NeedsRaster() && !tiling_->IsTileOccluded(tile)) { | 104 if (tile && tile->NeedsRaster() && !tiling_->IsTileOccluded(tile)) { |
105 tiling_->UpdateRequiredStatesOnTile(tile); | 105 tiling_->UpdateRequiredStatesOnTile(tile); |
106 current_tile_ = tiling_->MakePrioritizedTile(tile); | 106 current_tile_ = tiling_->MakePrioritizedTile( |
| 107 tile, tiling_->ComputePriorityRectTypeForTile(tile)); |
107 return; | 108 return; |
108 } | 109 } |
109 ++(*this); | 110 ++(*this); |
110 } | 111 } |
111 | 112 |
112 TilingSetRasterQueueRequired::TilingIterator::~TilingIterator() { | 113 TilingSetRasterQueueRequired::TilingIterator::~TilingIterator() { |
113 } | 114 } |
114 | 115 |
115 TilingSetRasterQueueRequired::TilingIterator& | 116 TilingSetRasterQueueRequired::TilingIterator& |
116 TilingSetRasterQueueRequired::TilingIterator:: | 117 TilingSetRasterQueueRequired::TilingIterator:: |
(...skipping 18 matching lines...) Expand all Loading... |
135 // internal state (it is, in fact, used to determine the tile's state). | 136 // internal state (it is, in fact, used to determine the tile's state). |
136 if (tiling_->IsTileOccluded(tile)) | 137 if (tiling_->IsTileOccluded(tile)) |
137 continue; | 138 continue; |
138 | 139 |
139 // If we get here, that means we have a valid tile that needs raster and is | 140 // If we get here, that means we have a valid tile that needs raster and is |
140 // in the NOW bin, which means that it can be required. | 141 // in the NOW bin, which means that it can be required. |
141 break; | 142 break; |
142 } | 143 } |
143 | 144 |
144 tiling_->UpdateRequiredStatesOnTile(tile); | 145 tiling_->UpdateRequiredStatesOnTile(tile); |
145 current_tile_ = tiling_->MakePrioritizedTile(tile); | 146 current_tile_ = tiling_->MakePrioritizedTile( |
| 147 tile, tiling_->ComputePriorityRectTypeForTile(tile)); |
146 return *this; | 148 return *this; |
147 } | 149 } |
148 | 150 |
149 } // namespace cc | 151 } // namespace cc |
OLD | NEW |