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

Side by Side Diff: cc/trees/layer_tree_settings.cc

Issue 2120713002: Fix use_image_texture_target inconsistencies (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix content browsertests Created 4 years, 5 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 | « cc/trees/layer_tree_settings.h ('k') | cc/trees/layer_tree_settings_unittest.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 2011 The Chromium Authors. All rights reserved. 1 // Copyright 2011 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 #include "cc/trees/layer_tree_settings.h" 5 #include "cc/trees/layer_tree_settings.h"
6 6
7 #include "cc/proto/gfx_conversions.h" 7 #include "cc/proto/gfx_conversions.h"
8 #include "cc/proto/layer_tree_settings.pb.h" 8 #include "cc/proto/layer_tree_settings.pb.h"
9 #include "third_party/khronos/GLES2/gl2.h" 9 #include "third_party/khronos/GLES2/gl2.h"
10 10
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
43 } 43 }
44 return LayerTreeSettings::ScrollbarAnimator::NO_ANIMATOR; 44 return LayerTreeSettings::ScrollbarAnimator::NO_ANIMATOR;
45 } 45 }
46 46
47 } // namespace 47 } // namespace
48 48
49 LayerTreeSettings::LayerTreeSettings() 49 LayerTreeSettings::LayerTreeSettings()
50 : default_tile_size(gfx::Size(256, 256)), 50 : default_tile_size(gfx::Size(256, 256)),
51 max_untiled_layer_size(gfx::Size(512, 512)), 51 max_untiled_layer_size(gfx::Size(512, 512)),
52 minimum_occlusion_tracking_size(gfx::Size(160, 160)), 52 minimum_occlusion_tracking_size(gfx::Size(160, 160)),
53 use_image_texture_targets(
54 static_cast<size_t>(gfx::BufferFormat::LAST) + 1,
55 GL_TEXTURE_2D),
56 memory_policy_(64 * 1024 * 1024, 53 memory_policy_(64 * 1024 * 1024,
57 gpu::MemoryAllocation::CUTOFF_ALLOW_EVERYTHING, 54 gpu::MemoryAllocation::CUTOFF_ALLOW_EVERYTHING,
58 ManagedMemoryPolicy::kDefaultNumResourcesLimit) {} 55 ManagedMemoryPolicy::kDefaultNumResourcesLimit) {}
59 56
60 LayerTreeSettings::LayerTreeSettings(const LayerTreeSettings& other) = default; 57 LayerTreeSettings::LayerTreeSettings(const LayerTreeSettings& other) = default;
61 LayerTreeSettings::~LayerTreeSettings() = default; 58 LayerTreeSettings::~LayerTreeSettings() = default;
62 59
63 bool LayerTreeSettings::operator==(const LayerTreeSettings& other) const { 60 bool LayerTreeSettings::operator==(const LayerTreeSettings& other) const {
64 return renderer_settings == other.renderer_settings && 61 return renderer_settings == other.renderer_settings &&
65 single_thread_proxy_scheduler == other.single_thread_proxy_scheduler && 62 single_thread_proxy_scheduler == other.single_thread_proxy_scheduler &&
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
101 tiling_interest_area_padding == other.tiling_interest_area_padding && 98 tiling_interest_area_padding == other.tiling_interest_area_padding &&
102 skewport_target_time_in_seconds == 99 skewport_target_time_in_seconds ==
103 other.skewport_target_time_in_seconds && 100 other.skewport_target_time_in_seconds &&
104 skewport_extrapolation_limit_in_screen_pixels == 101 skewport_extrapolation_limit_in_screen_pixels ==
105 other.skewport_extrapolation_limit_in_screen_pixels && 102 other.skewport_extrapolation_limit_in_screen_pixels &&
106 max_memory_for_prepaint_percentage == 103 max_memory_for_prepaint_percentage ==
107 other.max_memory_for_prepaint_percentage && 104 other.max_memory_for_prepaint_percentage &&
108 use_zero_copy == other.use_zero_copy && 105 use_zero_copy == other.use_zero_copy &&
109 use_partial_raster == other.use_partial_raster && 106 use_partial_raster == other.use_partial_raster &&
110 enable_elastic_overscroll == other.enable_elastic_overscroll && 107 enable_elastic_overscroll == other.enable_elastic_overscroll &&
111 use_image_texture_targets == other.use_image_texture_targets &&
112 ignore_root_layer_flings == other.ignore_root_layer_flings && 108 ignore_root_layer_flings == other.ignore_root_layer_flings &&
113 scheduled_raster_task_limit == other.scheduled_raster_task_limit && 109 scheduled_raster_task_limit == other.scheduled_raster_task_limit &&
114 use_occlusion_for_tile_prioritization == 110 use_occlusion_for_tile_prioritization ==
115 other.use_occlusion_for_tile_prioritization && 111 other.use_occlusion_for_tile_prioritization &&
116 verify_clip_tree_calculations == other.verify_clip_tree_calculations && 112 verify_clip_tree_calculations == other.verify_clip_tree_calculations &&
117 verify_transform_tree_calculations == 113 verify_transform_tree_calculations ==
118 other.verify_transform_tree_calculations && 114 other.verify_transform_tree_calculations &&
119 image_decode_tasks_enabled == other.image_decode_tasks_enabled && 115 image_decode_tasks_enabled == other.image_decode_tasks_enabled &&
120 wait_for_beginframe_interval == other.wait_for_beginframe_interval && 116 wait_for_beginframe_interval == other.wait_for_beginframe_interval &&
121 max_staging_buffer_usage_in_bytes == 117 max_staging_buffer_usage_in_bytes ==
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
175 proto->set_scheduled_raster_task_limit(scheduled_raster_task_limit); 171 proto->set_scheduled_raster_task_limit(scheduled_raster_task_limit);
176 proto->set_use_occlusion_for_tile_prioritization( 172 proto->set_use_occlusion_for_tile_prioritization(
177 use_occlusion_for_tile_prioritization); 173 use_occlusion_for_tile_prioritization);
178 proto->set_image_decode_tasks_enabled(image_decode_tasks_enabled); 174 proto->set_image_decode_tasks_enabled(image_decode_tasks_enabled);
179 proto->set_wait_for_beginframe_interval(wait_for_beginframe_interval); 175 proto->set_wait_for_beginframe_interval(wait_for_beginframe_interval);
180 proto->set_max_staging_buffer_usage_in_bytes( 176 proto->set_max_staging_buffer_usage_in_bytes(
181 max_staging_buffer_usage_in_bytes); 177 max_staging_buffer_usage_in_bytes);
182 memory_policy_.ToProtobuf(proto->mutable_memory_policy()); 178 memory_policy_.ToProtobuf(proto->mutable_memory_policy());
183 initial_debug_state.ToProtobuf(proto->mutable_initial_debug_state()); 179 initial_debug_state.ToProtobuf(proto->mutable_initial_debug_state());
184 proto->set_use_cached_picture_raster(use_cached_picture_raster); 180 proto->set_use_cached_picture_raster(use_cached_picture_raster);
185
186 for (unsigned u : use_image_texture_targets)
187 proto->add_use_image_texture_targets(u);
188 } 181 }
189 182
190 void LayerTreeSettings::FromProtobuf(const proto::LayerTreeSettings& proto) { 183 void LayerTreeSettings::FromProtobuf(const proto::LayerTreeSettings& proto) {
191 renderer_settings.FromProtobuf(proto.renderer_settings()); 184 renderer_settings.FromProtobuf(proto.renderer_settings());
192 single_thread_proxy_scheduler = proto.single_thread_proxy_scheduler(); 185 single_thread_proxy_scheduler = proto.single_thread_proxy_scheduler();
193 use_external_begin_frame_source = proto.use_external_begin_frame_source(); 186 use_external_begin_frame_source = proto.use_external_begin_frame_source();
194 main_frame_before_activation_enabled = 187 main_frame_before_activation_enabled =
195 proto.main_frame_before_activation_enabled(); 188 proto.main_frame_before_activation_enabled();
196 using_synchronous_renderer_compositor = 189 using_synchronous_renderer_compositor =
197 proto.using_synchronous_renderer_compositor(); 190 proto.using_synchronous_renderer_compositor();
(...skipping 27 matching lines...) Expand all
225 ProtoToSize(proto.minimum_occlusion_tracking_size()); 218 ProtoToSize(proto.minimum_occlusion_tracking_size());
226 tiling_interest_area_padding = proto.tiling_interest_area_padding(); 219 tiling_interest_area_padding = proto.tiling_interest_area_padding();
227 skewport_target_time_in_seconds = proto.skewport_target_time_in_seconds(); 220 skewport_target_time_in_seconds = proto.skewport_target_time_in_seconds();
228 skewport_extrapolation_limit_in_screen_pixels = 221 skewport_extrapolation_limit_in_screen_pixels =
229 proto.skewport_extrapolation_limit_in_screen_pixels(); 222 proto.skewport_extrapolation_limit_in_screen_pixels();
230 max_memory_for_prepaint_percentage = 223 max_memory_for_prepaint_percentage =
231 proto.max_memory_for_prepaint_percentage(); 224 proto.max_memory_for_prepaint_percentage();
232 use_zero_copy = proto.use_zero_copy(); 225 use_zero_copy = proto.use_zero_copy();
233 use_partial_raster = proto.use_partial_raster(); 226 use_partial_raster = proto.use_partial_raster();
234 enable_elastic_overscroll = proto.enable_elastic_overscroll(); 227 enable_elastic_overscroll = proto.enable_elastic_overscroll();
235 // |use_image_texture_targets| contains default values, so clear first.
236 use_image_texture_targets.clear();
237 ignore_root_layer_flings = proto.ignore_root_layer_flings(); 228 ignore_root_layer_flings = proto.ignore_root_layer_flings();
238 scheduled_raster_task_limit = proto.scheduled_raster_task_limit(); 229 scheduled_raster_task_limit = proto.scheduled_raster_task_limit();
239 use_occlusion_for_tile_prioritization = 230 use_occlusion_for_tile_prioritization =
240 proto.use_occlusion_for_tile_prioritization(); 231 proto.use_occlusion_for_tile_prioritization();
241 image_decode_tasks_enabled = proto.image_decode_tasks_enabled(); 232 image_decode_tasks_enabled = proto.image_decode_tasks_enabled();
242 wait_for_beginframe_interval = proto.wait_for_beginframe_interval(); 233 wait_for_beginframe_interval = proto.wait_for_beginframe_interval();
243 max_staging_buffer_usage_in_bytes = proto.max_staging_buffer_usage_in_bytes(); 234 max_staging_buffer_usage_in_bytes = proto.max_staging_buffer_usage_in_bytes();
244 memory_policy_.FromProtobuf(proto.memory_policy()); 235 memory_policy_.FromProtobuf(proto.memory_policy());
245 initial_debug_state.FromProtobuf(proto.initial_debug_state()); 236 initial_debug_state.FromProtobuf(proto.initial_debug_state());
246 use_cached_picture_raster = proto.use_cached_picture_raster(); 237 use_cached_picture_raster = proto.use_cached_picture_raster();
247
248 for (int i = 0; i < proto.use_image_texture_targets_size(); ++i)
249 use_image_texture_targets.push_back(proto.use_image_texture_targets(i));
250 } 238 }
251 239
252 SchedulerSettings LayerTreeSettings::ToSchedulerSettings() const { 240 SchedulerSettings LayerTreeSettings::ToSchedulerSettings() const {
253 SchedulerSettings scheduler_settings; 241 SchedulerSettings scheduler_settings;
254 scheduler_settings.use_external_begin_frame_source = 242 scheduler_settings.use_external_begin_frame_source =
255 use_external_begin_frame_source; 243 use_external_begin_frame_source;
256 scheduler_settings.main_frame_before_activation_enabled = 244 scheduler_settings.main_frame_before_activation_enabled =
257 main_frame_before_activation_enabled; 245 main_frame_before_activation_enabled;
258 scheduler_settings.timeout_and_draw_when_animation_checkerboards = 246 scheduler_settings.timeout_and_draw_when_animation_checkerboards =
259 timeout_and_draw_when_animation_checkerboards; 247 timeout_and_draw_when_animation_checkerboards;
260 scheduler_settings.using_synchronous_renderer_compositor = 248 scheduler_settings.using_synchronous_renderer_compositor =
261 using_synchronous_renderer_compositor; 249 using_synchronous_renderer_compositor;
262 scheduler_settings.throttle_frame_production = wait_for_beginframe_interval; 250 scheduler_settings.throttle_frame_production = wait_for_beginframe_interval;
263 scheduler_settings.background_frame_interval = 251 scheduler_settings.background_frame_interval =
264 base::TimeDelta::FromSecondsD(1.0 / background_animation_rate); 252 base::TimeDelta::FromSecondsD(1.0 / background_animation_rate);
265 scheduler_settings.abort_commit_before_output_surface_creation = 253 scheduler_settings.abort_commit_before_output_surface_creation =
266 abort_commit_before_output_surface_creation; 254 abort_commit_before_output_surface_creation;
267 return scheduler_settings; 255 return scheduler_settings;
268 } 256 }
269 257
270 } // namespace cc 258 } // namespace cc
OLDNEW
« no previous file with comments | « cc/trees/layer_tree_settings.h ('k') | cc/trees/layer_tree_settings_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698