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

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

Issue 181063022: cc: Trigger GPU rasterization based on a per-layer hint (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebased Created 6 years, 9 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
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 <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
70 void SyncTiling(const PictureLayerTiling* tiling); 70 void SyncTiling(const PictureLayerTiling* tiling);
71 71
72 // Mask-related functions 72 // Mask-related functions
73 void SetIsMask(bool is_mask); 73 void SetIsMask(bool is_mask);
74 virtual ResourceProvider::ResourceId ContentsResourceId() const OVERRIDE; 74 virtual ResourceProvider::ResourceId ContentsResourceId() const OVERRIDE;
75 75
76 virtual size_t GPUMemoryUsageInBytes() const OVERRIDE; 76 virtual size_t GPUMemoryUsageInBytes() const OVERRIDE;
77 77
78 virtual void RunMicroBenchmark(MicroBenchmarkImpl* benchmark) OVERRIDE; 78 virtual void RunMicroBenchmark(MicroBenchmarkImpl* benchmark) OVERRIDE;
79 79
80 void SetShouldUseGpuRasterization(bool should_use_gpu_rasterization); 80 void SetHasGpuRasterizationHint(bool has_hint);
81 bool should_use_gpu_rasterization() const { 81 bool ShouldUseGpuRasterization() const;
82 return should_use_gpu_rasterization_;
83 }
84 82
85 protected: 83 protected:
86 PictureLayerImpl(LayerTreeImpl* tree_impl, int id); 84 PictureLayerImpl(LayerTreeImpl* tree_impl, int id);
87 PictureLayerTiling* AddTiling(float contents_scale); 85 PictureLayerTiling* AddTiling(float contents_scale);
88 void RemoveTiling(float contents_scale); 86 void RemoveTiling(float contents_scale);
89 void RemoveAllTilings(); 87 void RemoveAllTilings();
90 void SyncFromActiveLayer(const PictureLayerImpl* other); 88 void SyncFromActiveLayer(const PictureLayerImpl* other);
91 void ManageTilings(bool animating_transform_to_screen); 89 void ManageTilings(bool animating_transform_to_screen);
92 bool ShouldHaveLowResTiling() const { 90 bool ShouldHaveLowResTiling() const { return !ShouldUseGpuRasterization(); }
93 return !should_use_gpu_rasterization();
94 }
95 virtual bool ShouldAdjustRasterScale( 91 virtual bool ShouldAdjustRasterScale(
96 bool animating_transform_to_screen) const; 92 bool animating_transform_to_screen) const;
97 virtual void RecalculateRasterScales( 93 virtual void RecalculateRasterScales(
98 bool animating_transform_to_screen); 94 bool animating_transform_to_screen);
99 void CleanUpTilingsOnActiveLayer( 95 void CleanUpTilingsOnActiveLayer(
100 std::vector<PictureLayerTiling*> used_tilings); 96 std::vector<PictureLayerTiling*> used_tilings);
101 float MinimumContentsScale() const; 97 float MinimumContentsScale() const;
102 float SnappedContentsScale(float new_contents_scale); 98 float SnappedContentsScale(float new_contents_scale);
103 void UpdateLCDTextStatus(bool new_status); 99 void UpdateLCDTextStatus(bool new_status);
104 void ResetRasterScale(); 100 void ResetRasterScale();
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
142 float raster_source_scale_; 138 float raster_source_scale_;
143 float raster_contents_scale_; 139 float raster_contents_scale_;
144 float low_res_raster_contents_scale_; 140 float low_res_raster_contents_scale_;
145 141
146 bool raster_source_scale_was_animating_; 142 bool raster_source_scale_was_animating_;
147 bool is_using_lcd_text_; 143 bool is_using_lcd_text_;
148 bool needs_post_commit_initialization_; 144 bool needs_post_commit_initialization_;
149 // A sanity state check to make sure UpdateTilePriorities only gets called 145 // A sanity state check to make sure UpdateTilePriorities only gets called
150 // after a CalculateContentsScale/ManageTilings. 146 // after a CalculateContentsScale/ManageTilings.
151 bool should_update_tile_priorities_; 147 bool should_update_tile_priorities_;
152 bool should_use_gpu_rasterization_; 148 bool has_gpu_rasterization_hint_;
153 149
154 friend class PictureLayer; 150 friend class PictureLayer;
155 DISALLOW_COPY_AND_ASSIGN(PictureLayerImpl); 151 DISALLOW_COPY_AND_ASSIGN(PictureLayerImpl);
156 }; 152 };
157 153
158 } // namespace cc 154 } // namespace cc
159 155
160 #endif // CC_LAYERS_PICTURE_LAYER_IMPL_H_ 156 #endif // CC_LAYERS_PICTURE_LAYER_IMPL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698