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

Side by Side Diff: cc/resources/tile.h

Issue 1130123003: cc: Separate the priority from the tile and put in new PrioritizedTile (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Tile too friendly, lets fix that 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
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_RESOURCES_TILE_H_ 5 #ifndef CC_RESOURCES_TILE_H_
6 #define CC_RESOURCES_TILE_H_ 6 #define CC_RESOURCES_TILE_H_
7 7
8 #include "base/memory/ref_counted.h" 8 #include "base/memory/ref_counted.h"
9 #include "cc/base/ref_counted_managed.h" 9 #include "cc/base/ref_counted_managed.h"
10 #include "cc/resources/raster_source.h" 10 #include "cc/resources/raster_source.h"
11 #include "cc/resources/tile_draw_info.h" 11 #include "cc/resources/tile_draw_info.h"
12 #include "cc/resources/tile_priority.h"
13 #include "ui/gfx/geometry/rect.h" 12 #include "ui/gfx/geometry/rect.h"
14 #include "ui/gfx/geometry/size.h" 13 #include "ui/gfx/geometry/size.h"
15 14
16 namespace cc { 15 namespace cc {
17 16
18 class TileManager; 17 class TileManager;
18 struct TilePriority;
19 19
20 class CC_EXPORT Tile : public RefCountedManaged<Tile> { 20 class CC_EXPORT Tile : public RefCountedManaged<Tile> {
21 public: 21 public:
22 enum TileRasterFlags { USE_PICTURE_ANALYSIS = 1 << 0 }; 22 enum TileRasterFlags { USE_PICTURE_ANALYSIS = 1 << 0 };
23 23
24 typedef uint64 Id; 24 typedef uint64 Id;
25 25
26 Id id() const { 26 Id id() const {
27 return id_; 27 return id_;
28 } 28 }
29 29
30 RasterSource* raster_source() { return raster_source_.get(); } 30 RasterSource* raster_source() { return raster_source_.get(); }
31 31
32 const RasterSource* raster_source() const { return raster_source_.get(); } 32 const RasterSource* raster_source() const { return raster_source_.get(); }
33 33
34 const TilePriority& priority() const { return priority_; }
35
36 void set_priority(const TilePriority& priority) { priority_ = priority; }
37
38 // TODO(vmpstr): Move this to the iterators.
39 void set_is_occluded(bool is_occluded) { is_occluded_ = is_occluded; }
40 bool is_occluded() const { return is_occluded_; }
41
42 // TODO(vmpstr): Move this to the iterators. 34 // TODO(vmpstr): Move this to the iterators.
43 bool required_for_activation() const { return required_for_activation_; } 35 bool required_for_activation() const { return required_for_activation_; }
44 void set_required_for_activation(bool is_required) { 36 void set_required_for_activation(bool is_required) {
45 required_for_activation_ = is_required; 37 required_for_activation_ = is_required;
46 } 38 }
47 bool required_for_draw() const { return required_for_draw_; } 39 bool required_for_draw() const { return required_for_draw_; }
48 void set_required_for_draw(bool is_required) { 40 void set_required_for_draw(bool is_required) {
49 required_for_draw_ = is_required; 41 required_for_draw_ = is_required;
50 } 42 }
51 43
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
89 81
90 void set_tiling_index(int i, int j) { 82 void set_tiling_index(int i, int j) {
91 tiling_i_index_ = i; 83 tiling_i_index_ = i;
92 tiling_j_index_ = j; 84 tiling_j_index_ = j;
93 } 85 }
94 int tiling_i_index() const { return tiling_i_index_; } 86 int tiling_i_index() const { return tiling_i_index_; }
95 int tiling_j_index() const { return tiling_j_index_; } 87 int tiling_j_index() const { return tiling_j_index_; }
96 88
97 private: 89 private:
98 friend class TileManager; 90 friend class TileManager;
99 friend class PrioritizedTileSet;
100 friend class FakeTileManager; 91 friend class FakeTileManager;
101 friend class BinComparator;
102 friend class FakePictureLayerImpl; 92 friend class FakePictureLayerImpl;
103 93
104 // Methods called by by tile manager. 94 // Methods called by by tile manager.
105 Tile(TileManager* tile_manager, 95 Tile(TileManager* tile_manager,
106 RasterSource* raster_source, 96 RasterSource* raster_source,
107 const gfx::Size& desired_texture_size, 97 const gfx::Size& desired_texture_size,
108 const gfx::Rect& content_rect, 98 const gfx::Rect& content_rect,
109 float contents_scale, 99 float contents_scale,
110 int layer_id, 100 int layer_id,
111 int source_frame_number, 101 int source_frame_number,
112 int flags); 102 int flags);
113 ~Tile(); 103 ~Tile();
114 104
115 bool HasRasterTask() const { return !!raster_task_.get(); } 105 bool HasRasterTask() const { return !!raster_task_.get(); }
116 106
117 scoped_refptr<RasterSource> raster_source_; 107 scoped_refptr<RasterSource> raster_source_;
118 gfx::Size desired_texture_size_; 108 gfx::Size desired_texture_size_;
119 gfx::Rect content_rect_; 109 gfx::Rect content_rect_;
120 float contents_scale_; 110 float contents_scale_;
121 bool is_occluded_;
122 111
123 TilePriority priority_;
124 TileDrawInfo draw_info_; 112 TileDrawInfo draw_info_;
125 113
126 int layer_id_; 114 int layer_id_;
127 int source_frame_number_; 115 int source_frame_number_;
128 int flags_; 116 int flags_;
129 int tiling_i_index_; 117 int tiling_i_index_;
130 int tiling_j_index_; 118 int tiling_j_index_;
131 bool required_for_activation_ : 1; 119 bool required_for_activation_ : 1;
132 bool required_for_draw_ : 1; 120 bool required_for_draw_ : 1;
133 121
134 Id id_; 122 Id id_;
135 static Id s_next_id_; 123 static Id s_next_id_;
136 124
137 unsigned scheduled_priority_; 125 unsigned scheduled_priority_;
138 126
139 scoped_refptr<RasterTask> raster_task_; 127 scoped_refptr<RasterTask> raster_task_;
140 128
141 DISALLOW_COPY_AND_ASSIGN(Tile); 129 DISALLOW_COPY_AND_ASSIGN(Tile);
142 }; 130 };
143 131
144 } // namespace cc 132 } // namespace cc
145 133
146 #endif // CC_RESOURCES_TILE_H_ 134 #endif // CC_RESOURCES_TILE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698