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

Side by Side Diff: cc/tiles/tiling_set_raster_queue_all.h

Issue 1144973005: cc: TilingSetRasterQueue clean-ups and optimizations. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: 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 unified diff | Download patch
« no previous file with comments | « no previous file | cc/tiles/tiling_set_raster_queue_all.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 #ifndef CC_TILES_TILING_SET_RASTER_QUEUE_ALL_H_ 5 #ifndef CC_TILES_TILING_SET_RASTER_QUEUE_ALL_H_
6 #define CC_TILES_TILING_SET_RASTER_QUEUE_ALL_H_ 6 #define CC_TILES_TILING_SET_RASTER_QUEUE_ALL_H_
7 7
8 #include "base/containers/stack_container.h" 8 #include "base/containers/stack_container.h"
9 #include "cc/base/cc_export.h" 9 #include "cc/base/cc_export.h"
10 #include "cc/tiles/picture_layer_tiling_set.h" 10 #include "cc/tiles/picture_layer_tiling_set.h"
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
48 template <typename TilingIteratorType> 48 template <typename TilingIteratorType>
49 void AdvanceToNextTile(TilingIteratorType* iterator); 49 void AdvanceToNextTile(TilingIteratorType* iterator);
50 template <typename TilingIteratorType> 50 template <typename TilingIteratorType>
51 bool GetFirstTileAndCheckIfValid(TilingIteratorType* iterator); 51 bool GetFirstTileAndCheckIfValid(TilingIteratorType* iterator);
52 bool IsTileValid(const Tile* tile) const; 52 bool IsTileValid(const Tile* tile) const;
53 53
54 PrioritizedTile current_tile_; 54 PrioritizedTile current_tile_;
55 PictureLayerTiling* tiling_; 55 PictureLayerTiling* tiling_;
56 TilingData* tiling_data_; 56 TilingData* tiling_data_;
57 PictureLayerTiling::PriorityRectType priority_rect_type_; 57 PictureLayerTiling::PriorityRectType priority_rect_type_;
58 gfx::Rect pending_visible_rect_;
58 }; 59 };
59 60
60 // Iterates over visible rect only, left to right top to bottom order. 61 // Iterates over visible rect only, left to right top to bottom order.
61 class VisibleTilingIterator : public OnePriorityRectIterator { 62 class VisibleTilingIterator : public OnePriorityRectIterator {
62 public: 63 public:
63 VisibleTilingIterator() = default; 64 VisibleTilingIterator() = default;
64 VisibleTilingIterator(PictureLayerTiling* tiling, TilingData* tiling_data); 65 VisibleTilingIterator(PictureLayerTiling* tiling, TilingData* tiling_data);
65 66
66 VisibleTilingIterator& operator++(); 67 VisibleTilingIterator& operator++();
67 68
(...skipping 16 matching lines...) Expand all
84 // Iterates over skewport only, spiral around the visible rect. 85 // Iterates over skewport only, spiral around the visible rect.
85 class SkewportTilingIterator : public OnePriorityRectIterator { 86 class SkewportTilingIterator : public OnePriorityRectIterator {
86 public: 87 public:
87 SkewportTilingIterator() = default; 88 SkewportTilingIterator() = default;
88 SkewportTilingIterator(PictureLayerTiling* tiling, TilingData* tiling_data); 89 SkewportTilingIterator(PictureLayerTiling* tiling, TilingData* tiling_data);
89 90
90 SkewportTilingIterator& operator++(); 91 SkewportTilingIterator& operator++();
91 92
92 private: 93 private:
93 TilingData::SpiralDifferenceIterator iterator_; 94 TilingData::SpiralDifferenceIterator iterator_;
94 gfx::Rect pending_visible_rect_;
95 }; 95 };
96 96
97 // Iterates over soon border only, spiral around the visible rect. 97 // Iterates over soon border only, spiral around the visible rect.
98 class SoonBorderTilingIterator : public OnePriorityRectIterator { 98 class SoonBorderTilingIterator : public OnePriorityRectIterator {
99 public: 99 public:
100 SoonBorderTilingIterator() = default; 100 SoonBorderTilingIterator() = default;
101 SoonBorderTilingIterator(PictureLayerTiling* tiling, 101 SoonBorderTilingIterator(PictureLayerTiling* tiling,
102 TilingData* tiling_data); 102 TilingData* tiling_data);
103 103
104 SoonBorderTilingIterator& operator++(); 104 SoonBorderTilingIterator& operator++();
105 105
106 private: 106 private:
107 TilingData::SpiralDifferenceIterator iterator_; 107 TilingData::SpiralDifferenceIterator iterator_;
108 gfx::Rect pending_visible_rect_;
109 }; 108 };
110 109
111 // Iterates over eventually rect only, spiral around the soon rect. 110 // Iterates over eventually rect only, spiral around the soon rect.
112 class EventuallyTilingIterator : public OnePriorityRectIterator { 111 class EventuallyTilingIterator : public OnePriorityRectIterator {
113 public: 112 public:
114 EventuallyTilingIterator() = default; 113 EventuallyTilingIterator() = default;
115 EventuallyTilingIterator(PictureLayerTiling* tiling, 114 EventuallyTilingIterator(PictureLayerTiling* tiling,
116 TilingData* tiling_data); 115 TilingData* tiling_data);
117 116
118 EventuallyTilingIterator& operator++(); 117 EventuallyTilingIterator& operator++();
119 118
120 private: 119 private:
121 TilingData::SpiralDifferenceIterator iterator_; 120 TilingData::SpiralDifferenceIterator iterator_;
122 gfx::Rect pending_visible_rect_;
123 }; 121 };
124 122
125 // Iterates over all of the above phases in the following order: visible, 123 // Iterates over all of the above phases in the following order: visible,
126 // skewport, soon border, eventually. 124 // skewport, soon border, eventually.
127 class TilingIterator { 125 class TilingIterator {
128 public: 126 public:
129 TilingIterator(); 127 TilingIterator();
130 explicit TilingIterator(PictureLayerTiling* tiling, 128 explicit TilingIterator(PictureLayerTiling* tiling,
131 TilingData* tiling_data); 129 TilingData* tiling_data);
132 ~TilingIterator(); 130 ~TilingIterator();
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
191 // ideal pending high res. 189 // ideal pending high res.
192 base::StackVector<IterationStage, 6> stages_; 190 base::StackVector<IterationStage, 6> stages_;
193 TilingIterator iterators_[NUM_ITERATORS]; 191 TilingIterator iterators_[NUM_ITERATORS];
194 192
195 DISALLOW_COPY_AND_ASSIGN(TilingSetRasterQueueAll); 193 DISALLOW_COPY_AND_ASSIGN(TilingSetRasterQueueAll);
196 }; 194 };
197 195
198 } // namespace cc 196 } // namespace cc
199 197
200 #endif // CC_TILES_TILING_SET_RASTER_QUEUE_ALL_H_ 198 #endif // CC_TILES_TILING_SET_RASTER_QUEUE_ALL_H_
OLDNEW
« no previous file with comments | « no previous file | cc/tiles/tiling_set_raster_queue_all.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698