| // Copyright 2011 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "cc/trees/layer_tree_settings.h" |
| |
| #include "third_party/khronos/GLES2/gl2.h" |
| |
| namespace cc { |
| |
| LayerTreeSettings::LayerTreeSettings() |
| : default_tile_size(gfx::Size(256, 256)), |
| max_untiled_layer_size(gfx::Size(512, 512)), |
| minimum_occlusion_tracking_size(gfx::Size(160, 160)), |
| gpu_memory_policy(64 * 1024 * 1024, |
| gpu::MemoryAllocation::CUTOFF_ALLOW_EVERYTHING, |
| ManagedMemoryPolicy::kDefaultNumResourcesLimit), |
| software_memory_policy(128 * 1024 * 1024, |
| gpu::MemoryAllocation::CUTOFF_ALLOW_NICE_TO_HAVE, |
| ManagedMemoryPolicy::kDefaultNumResourcesLimit) {} |
| |
| LayerTreeSettings::LayerTreeSettings(const LayerTreeSettings& other) = default; |
| LayerTreeSettings::~LayerTreeSettings() = default; |
| |
| bool LayerTreeSettings::operator==(const LayerTreeSettings& other) const { |
| return renderer_settings == other.renderer_settings && |
| single_thread_proxy_scheduler == other.single_thread_proxy_scheduler && |
| main_frame_before_activation_enabled == |
| other.main_frame_before_activation_enabled && |
| using_synchronous_renderer_compositor == |
| other.using_synchronous_renderer_compositor && |
| enable_latency_recovery == other.enable_latency_recovery && |
| can_use_lcd_text == other.can_use_lcd_text && |
| use_distance_field_text == other.use_distance_field_text && |
| gpu_rasterization_forced == other.gpu_rasterization_forced && |
| async_worker_context_enabled == other.async_worker_context_enabled && |
| gpu_rasterization_msaa_sample_count == |
| other.gpu_rasterization_msaa_sample_count && |
| create_low_res_tiling == other.create_low_res_tiling && |
| scrollbar_animator == other.scrollbar_animator && |
| scrollbar_show_delay == other.scrollbar_show_delay && |
| scrollbar_fade_out_delay == other.scrollbar_fade_out_delay && |
| scrollbar_fade_out_resize_delay == |
| other.scrollbar_fade_out_resize_delay && |
| scrollbar_fade_out_duration == other.scrollbar_fade_out_duration && |
| solid_color_scrollbar_color == other.solid_color_scrollbar_color && |
| timeout_and_draw_when_animation_checkerboards == |
| other.timeout_and_draw_when_animation_checkerboards && |
| layer_transforms_should_scale_layer_contents == |
| other.layer_transforms_should_scale_layer_contents && |
| layers_always_allowed_lcd_text == |
| other.layers_always_allowed_lcd_text && |
| minimum_contents_scale == other.minimum_contents_scale && |
| low_res_contents_scale_factor == other.low_res_contents_scale_factor && |
| top_controls_show_threshold == other.top_controls_show_threshold && |
| top_controls_hide_threshold == other.top_controls_hide_threshold && |
| background_animation_rate == other.background_animation_rate && |
| default_tile_size == other.default_tile_size && |
| max_untiled_layer_size == other.max_untiled_layer_size && |
| minimum_occlusion_tracking_size == |
| other.minimum_occlusion_tracking_size && |
| tiling_interest_area_padding == other.tiling_interest_area_padding && |
| skewport_target_time_in_seconds == |
| other.skewport_target_time_in_seconds && |
| skewport_extrapolation_limit_in_screen_pixels == |
| other.skewport_extrapolation_limit_in_screen_pixels && |
| max_memory_for_prepaint_percentage == |
| other.max_memory_for_prepaint_percentage && |
| use_zero_copy == other.use_zero_copy && |
| use_partial_raster == other.use_partial_raster && |
| enable_elastic_overscroll == other.enable_elastic_overscroll && |
| ignore_root_layer_flings == other.ignore_root_layer_flings && |
| scheduled_raster_task_limit == other.scheduled_raster_task_limit && |
| use_occlusion_for_tile_prioritization == |
| other.use_occlusion_for_tile_prioritization && |
| verify_clip_tree_calculations == other.verify_clip_tree_calculations && |
| image_decode_tasks_enabled == other.image_decode_tasks_enabled && |
| max_staging_buffer_usage_in_bytes == |
| other.max_staging_buffer_usage_in_bytes && |
| gpu_memory_policy == other.gpu_memory_policy && |
| software_memory_policy == other.software_memory_policy && |
| enable_mask_tiling == other.enable_mask_tiling && |
| LayerTreeDebugState::Equal(initial_debug_state, |
| other.initial_debug_state); |
| } |
| |
| SchedulerSettings LayerTreeSettings::ToSchedulerSettings() const { |
| SchedulerSettings scheduler_settings; |
| scheduler_settings.main_frame_before_activation_enabled = |
| main_frame_before_activation_enabled; |
| scheduler_settings.timeout_and_draw_when_animation_checkerboards = |
| timeout_and_draw_when_animation_checkerboards; |
| scheduler_settings.using_synchronous_renderer_compositor = |
| using_synchronous_renderer_compositor; |
| scheduler_settings.enable_latency_recovery = enable_latency_recovery; |
| scheduler_settings.background_frame_interval = |
| base::TimeDelta::FromSecondsD(1.0 / background_animation_rate); |
| return scheduler_settings; |
| } |
| |
| TileManagerSettings LayerTreeSettings::ToTileManagerSettings() const { |
| TileManagerSettings tile_manager_settings; |
| tile_manager_settings.use_partial_raster = use_partial_raster; |
| tile_manager_settings.enable_checker_imaging = enable_checker_imaging; |
| return tile_manager_settings; |
| } |
| |
| } // namespace cc |