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

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

Issue 2555743004: Delay activation/draw on GPU tile work completion (Closed)
Patch Set: comments Created 4 years 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
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_TILES_PICTURE_LAYER_TILING_H_ 5 #ifndef CC_TILES_PICTURE_LAYER_TILING_H_
6 #define CC_TILES_PICTURE_LAYER_TILING_H_ 6 #define CC_TILES_PICTURE_LAYER_TILING_H_
7 7
8 #include <stddef.h> 8 #include <stddef.h>
9 #include <stdint.h> 9 #include <stdint.h>
10 10
(...skipping 230 matching lines...) Expand 10 before | Expand all | Expand 10 after
241 const gfx::Rect& soon_border_rect_in_layer_space, 241 const gfx::Rect& soon_border_rect_in_layer_space,
242 const gfx::Rect& eventually_rect_in_layer_space, 242 const gfx::Rect& eventually_rect_in_layer_space,
243 float ideal_contents_scale, 243 float ideal_contents_scale,
244 const Occlusion& occlusion_in_layer_space); 244 const Occlusion& occlusion_in_layer_space);
245 245
246 void GetAllPrioritizedTilesForTracing( 246 void GetAllPrioritizedTilesForTracing(
247 std::vector<PrioritizedTile>* prioritized_tiles) const; 247 std::vector<PrioritizedTile>* prioritized_tiles) const;
248 void AsValueInto(base::trace_event::TracedValue* array) const; 248 void AsValueInto(base::trace_event::TracedValue* array) const;
249 size_t GPUMemoryUsageInBytes() const; 249 size_t GPUMemoryUsageInBytes() const;
250 250
251 void UpdateRequiredStatesOnTile(Tile* tile) const;
252
251 protected: 253 protected:
252 friend class CoverageIterator; 254 friend class CoverageIterator;
253 friend class PrioritizedTile; 255 friend class PrioritizedTile;
254 friend class TilingSetRasterQueueAll; 256 friend class TilingSetRasterQueueAll;
255 friend class TilingSetRasterQueueRequired; 257 friend class TilingSetRasterQueueRequired;
256 friend class TilingSetEvictionQueue; 258 friend class TilingSetEvictionQueue;
257 259
258 // PENDING VISIBLE RECT refers to the visible rect that will become current 260 // PENDING VISIBLE RECT refers to the visible rect that will become current
259 // upon activation (ie, the pending tree's visible rect). Tiles in this 261 // upon activation (ie, the pending tree's visible rect). Tiles in this
260 // region that are not part of the current visible rect are all handled 262 // region that are not part of the current visible rect are all handled
(...skipping 22 matching lines...) Expand all
283 const gfx::Rect& visible_rect_in_content_space, 285 const gfx::Rect& visible_rect_in_content_space,
284 const gfx::Rect& skewport, 286 const gfx::Rect& skewport,
285 const gfx::Rect& soon_border_rect, 287 const gfx::Rect& soon_border_rect,
286 const gfx::Rect& eventually_rect, 288 const gfx::Rect& eventually_rect,
287 const Occlusion& occlusion_in_layer_space); 289 const Occlusion& occlusion_in_layer_space);
288 290
289 bool IsTileOccludedOnCurrentTree(const Tile* tile) const; 291 bool IsTileOccludedOnCurrentTree(const Tile* tile) const;
290 Tile::CreateInfo CreateInfoForTile(int i, int j) const; 292 Tile::CreateInfo CreateInfoForTile(int i, int j) const;
291 bool ShouldCreateTileAt(const Tile::CreateInfo& info) const; 293 bool ShouldCreateTileAt(const Tile::CreateInfo& info) const;
292 bool IsTileOccluded(const Tile* tile) const; 294 bool IsTileOccluded(const Tile* tile) const;
293 void UpdateRequiredStatesOnTile(Tile* tile) const;
294 PrioritizedTile MakePrioritizedTile( 295 PrioritizedTile MakePrioritizedTile(
295 Tile* tile, 296 Tile* tile,
296 PriorityRectType priority_rect_type) const; 297 PriorityRectType priority_rect_type) const;
297 TilePriority ComputePriorityForTile( 298 TilePriority ComputePriorityForTile(
298 const Tile* tile, 299 const Tile* tile,
299 PriorityRectType priority_rect_type) const; 300 PriorityRectType priority_rect_type) const;
300 PriorityRectType ComputePriorityRectTypeForTile(const Tile* tile) const; 301 PriorityRectType ComputePriorityRectTypeForTile(const Tile* tile) const;
301 bool has_visible_rect_tiles() const { return has_visible_rect_tiles_; } 302 bool has_visible_rect_tiles() const { return has_visible_rect_tiles_; }
302 bool has_skewport_rect_tiles() const { return has_skewport_rect_tiles_; } 303 bool has_skewport_rect_tiles() const { return has_skewport_rect_tiles_; }
303 bool has_soon_border_rect_tiles() const { 304 bool has_soon_border_rect_tiles() const {
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
360 bool has_eventually_rect_tiles_ = false; 361 bool has_eventually_rect_tiles_ = false;
361 bool all_tiles_done_ = true; 362 bool all_tiles_done_ = true;
362 363
363 private: 364 private:
364 DISALLOW_COPY_AND_ASSIGN(PictureLayerTiling); 365 DISALLOW_COPY_AND_ASSIGN(PictureLayerTiling);
365 }; 366 };
366 367
367 } // namespace cc 368 } // namespace cc
368 369
369 #endif // CC_TILES_PICTURE_LAYER_TILING_H_ 370 #endif // CC_TILES_PICTURE_LAYER_TILING_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698