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

Side by Side Diff: cc/layers/picture_layer_impl.h

Issue 367833003: cc: Start using raster/eviction iterators. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 6 years, 2 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 | Annotate | Revision Log
« no previous file with comments | « cc/layers/heads_up_display_layer_impl.cc ('k') | cc/layers/picture_layer_impl.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 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2012 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_LAYERS_PICTURE_LAYER_IMPL_H_ 5 #ifndef CC_LAYERS_PICTURE_LAYER_IMPL_H_
6 #define CC_LAYERS_PICTURE_LAYER_IMPL_H_ 6 #define CC_LAYERS_PICTURE_LAYER_IMPL_H_
7 7
8 #include <set> 8 #include <set>
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
126 const gfx::Size& content_bounds) const override; 126 const gfx::Size& content_bounds) const override;
127 virtual const Region* GetInvalidation() override; 127 virtual const Region* GetInvalidation() override;
128 virtual const PictureLayerTiling* GetTwinTiling( 128 virtual const PictureLayerTiling* GetTwinTiling(
129 const PictureLayerTiling* tiling) const override; 129 const PictureLayerTiling* tiling) const override;
130 virtual PictureLayerTiling* GetRecycledTwinTiling( 130 virtual PictureLayerTiling* GetRecycledTwinTiling(
131 const PictureLayerTiling* tiling) override; 131 const PictureLayerTiling* tiling) override;
132 virtual size_t GetMaxTilesForInterestArea() const override; 132 virtual size_t GetMaxTilesForInterestArea() const override;
133 virtual float GetSkewportTargetTimeInSeconds() const override; 133 virtual float GetSkewportTargetTimeInSeconds() const override;
134 virtual int GetSkewportExtrapolationLimitInContentPixels() const override; 134 virtual int GetSkewportExtrapolationLimitInContentPixels() const override;
135 virtual WhichTree GetTree() const override; 135 virtual WhichTree GetTree() const override;
136 virtual bool RequiresHighResToDraw() const override;
136 137
137 // PushPropertiesTo active tree => pending tree. 138 // PushPropertiesTo active tree => pending tree.
138 void SyncTiling(const PictureLayerTiling* tiling); 139 void SyncTiling(const PictureLayerTiling* tiling);
139 140
140 // Mask-related functions. 141 // Mask-related functions.
141 virtual ResourceProvider::ResourceId ContentsResourceId() const override; 142 virtual ResourceProvider::ResourceId ContentsResourceId() const override;
142 143
143 virtual size_t GPUMemoryUsageInBytes() const override; 144 virtual size_t GPUMemoryUsageInBytes() const override;
144 145
145 virtual void RunMicroBenchmark(MicroBenchmarkImpl* benchmark) override; 146 virtual void RunMicroBenchmark(MicroBenchmarkImpl* benchmark) override;
(...skipping 15 matching lines...) Expand all
161 void SyncFromActiveLayer(const PictureLayerImpl* other); 162 void SyncFromActiveLayer(const PictureLayerImpl* other);
162 void AddTilingsForRasterScale(); 163 void AddTilingsForRasterScale();
163 void UpdateTilePriorities(const Occlusion& occlusion_in_content_space); 164 void UpdateTilePriorities(const Occlusion& occlusion_in_content_space);
164 virtual bool ShouldAdjustRasterScale() const; 165 virtual bool ShouldAdjustRasterScale() const;
165 virtual void RecalculateRasterScales(); 166 virtual void RecalculateRasterScales();
166 void CleanUpTilingsOnActiveLayer( 167 void CleanUpTilingsOnActiveLayer(
167 std::vector<PictureLayerTiling*> used_tilings); 168 std::vector<PictureLayerTiling*> used_tilings);
168 float MinimumContentsScale() const; 169 float MinimumContentsScale() const;
169 float SnappedContentsScale(float new_contents_scale); 170 float SnappedContentsScale(float new_contents_scale);
170 void ResetRasterScale(); 171 void ResetRasterScale();
171 void MarkVisibleResourcesAsRequired() const;
172 bool MarkVisibleTilesAsRequired(
173 PictureLayerTiling* tiling,
174 const PictureLayerTiling* optional_twin_tiling,
175 const gfx::Rect& rect,
176 const Region& missing_region) const;
177 gfx::Rect GetViewportForTilePriorityInContentSpace() const; 172 gfx::Rect GetViewportForTilePriorityInContentSpace() const;
178 PictureLayerImpl* GetRecycledTwinLayer(); 173 PictureLayerImpl* GetRecycledTwinLayer();
179 174
180 void DoPostCommitInitializationIfNeeded() { 175 void DoPostCommitInitializationIfNeeded() {
181 if (needs_post_commit_initialization_) 176 if (needs_post_commit_initialization_)
182 DoPostCommitInitialization(); 177 DoPostCommitInitialization();
183 } 178 }
184 void DoPostCommitInitialization(); 179 void DoPostCommitInitialization();
185 180
186 bool CanHaveTilings() const; 181 bool CanHaveTilings() const;
(...skipping 27 matching lines...) Expand all
214 float raster_source_scale_; 209 float raster_source_scale_;
215 float raster_contents_scale_; 210 float raster_contents_scale_;
216 float low_res_raster_contents_scale_; 211 float low_res_raster_contents_scale_;
217 212
218 bool raster_source_scale_is_fixed_; 213 bool raster_source_scale_is_fixed_;
219 bool was_screen_space_transform_animating_; 214 bool was_screen_space_transform_animating_;
220 bool needs_post_commit_initialization_; 215 bool needs_post_commit_initialization_;
221 // A sanity state check to make sure UpdateTilePriorities only gets called 216 // A sanity state check to make sure UpdateTilePriorities only gets called
222 // after a CalculateContentsScale/ManageTilings. 217 // after a CalculateContentsScale/ManageTilings.
223 bool should_update_tile_priorities_; 218 bool should_update_tile_priorities_;
219 bool only_used_low_res_last_append_quads_;
224 220
225 // Any draw properties derived from |transform|, |viewport|, and |clip| 221 // Any draw properties derived from |transform|, |viewport|, and |clip|
226 // parameters in LayerTreeHostImpl::SetExternalDrawConstraints are not valid 222 // parameters in LayerTreeHostImpl::SetExternalDrawConstraints are not valid
227 // for prioritizing tiles during resourceless software draws. This is because 223 // for prioritizing tiles during resourceless software draws. This is because
228 // resourceless software draws can have wildly different transforms/viewports 224 // resourceless software draws can have wildly different transforms/viewports
229 // from regular draws. Save a copy of the required draw properties of the last 225 // from regular draws. Save a copy of the required draw properties of the last
230 // frame that has a valid viewport for prioritizing tiles. 226 // frame that has a valid viewport for prioritizing tiles.
231 gfx::Rect visible_rect_for_tile_priority_; 227 gfx::Rect visible_rect_for_tile_priority_;
232 228
233 friend class PictureLayer; 229 friend class PictureLayer;
234 DISALLOW_COPY_AND_ASSIGN(PictureLayerImpl); 230 DISALLOW_COPY_AND_ASSIGN(PictureLayerImpl);
235 }; 231 };
236 232
237 } // namespace cc 233 } // namespace cc
238 234
239 #endif // CC_LAYERS_PICTURE_LAYER_IMPL_H_ 235 #endif // CC_LAYERS_PICTURE_LAYER_IMPL_H_
OLDNEW
« no previous file with comments | « cc/layers/heads_up_display_layer_impl.cc ('k') | cc/layers/picture_layer_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698