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

Side by Side Diff: content/renderer/gpu/render_widget_compositor.cc

Issue 119493005: Expose a low-end device mode override flags for non-android OSs as well (Closed) Base URL: https://git.chromium.org/chromium/src.git@master
Patch Set: Put low end device detection under the flag for all platforms except android. Created 6 years, 11 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 (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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 "content/renderer/gpu/render_widget_compositor.h" 5 #include "content/renderer/gpu/render_widget_compositor.h"
6 6
7 #include <limits> 7 #include <limits>
8 #include <string> 8 #include <string>
9 9
10 #if defined(OS_ANDROID)
11 #include "base/android/sys_utils.h"
12 #endif
13
14 #include "base/command_line.h" 10 #include "base/command_line.h"
15 #include "base/logging.h" 11 #include "base/logging.h"
16 #include "base/strings/string_number_conversions.h" 12 #include "base/strings/string_number_conversions.h"
17 #include "base/synchronization/lock.h" 13 #include "base/synchronization/lock.h"
14 #include "base/sys_utils.h"
18 #include "base/time/time.h" 15 #include "base/time/time.h"
19 #include "base/values.h" 16 #include "base/values.h"
20 #include "cc/base/latency_info_swap_promise.h" 17 #include "cc/base/latency_info_swap_promise.h"
21 #include "cc/base/latency_info_swap_promise_monitor.h" 18 #include "cc/base/latency_info_swap_promise_monitor.h"
22 #include "cc/base/switches.h" 19 #include "cc/base/switches.h"
23 #include "cc/debug/layer_tree_debug_state.h" 20 #include "cc/debug/layer_tree_debug_state.h"
24 #include "cc/debug/micro_benchmark.h" 21 #include "cc/debug/micro_benchmark.h"
25 #include "cc/layers/layer.h" 22 #include "cc/layers/layer.h"
26 #include "cc/trees/layer_tree_host.h" 23 #include "cc/trees/layer_tree_host.h"
27 #include "content/common/gpu/client/context_provider_command_buffer.h" 24 #include "content/common/gpu/client/context_provider_command_buffer.h"
(...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after
262 cmd->HasSwitch(switches::kHideScrollbars) 259 cmd->HasSwitch(switches::kHideScrollbars)
263 ? SK_ColorTRANSPARENT 260 ? SK_ColorTRANSPARENT
264 : SkColorSetARGB(128, 128, 128, 128); 261 : SkColorSetARGB(128, 128, 128, 128);
265 settings.highp_threshold_min = 2048; 262 settings.highp_threshold_min = 2048;
266 // Android WebView handles root layer flings itself. 263 // Android WebView handles root layer flings itself.
267 settings.ignore_root_layer_flings = 264 settings.ignore_root_layer_flings =
268 widget->UsingSynchronousRendererCompositor(); 265 widget->UsingSynchronousRendererCompositor();
269 // RGBA_4444 textures are only enabled for low end devices 266 // RGBA_4444 textures are only enabled for low end devices
270 // and are disabled for Android WebView as it doesn't support the format. 267 // and are disabled for Android WebView as it doesn't support the format.
271 settings.use_rgba_4444_textures = 268 settings.use_rgba_4444_textures =
272 base::android::SysUtils::IsLowEndDevice() && 269 base::SysUtils::IsLowEndDevice() &&
273 !widget->UsingSynchronousRendererCompositor() && 270 !widget->UsingSynchronousRendererCompositor() &&
274 !cmd->HasSwitch(cc::switches::kDisable4444Textures); 271 !cmd->HasSwitch(cc::switches::kDisable4444Textures);
275 #elif !defined(OS_MACOSX) 272 #elif !defined(OS_MACOSX)
276 if (cmd->HasSwitch(switches::kEnableOverlayScrollbars)) { 273 if (cmd->HasSwitch(switches::kEnableOverlayScrollbars)) {
277 settings.scrollbar_animator = cc::LayerTreeSettings::Thinning; 274 settings.scrollbar_animator = cc::LayerTreeSettings::Thinning;
278 } 275 }
279 if (cmd->HasSwitch(cc::switches::kEnablePinchVirtualViewport) || 276 if (cmd->HasSwitch(cc::switches::kEnablePinchVirtualViewport) ||
280 cmd->HasSwitch(switches::kEnableOverlayScrollbars)) { 277 cmd->HasSwitch(switches::kEnableOverlayScrollbars)) {
281 settings.solid_color_scrollbar_color = SkColorSetARGB(128, 128, 128, 128); 278 settings.solid_color_scrollbar_color = SkColorSetARGB(128, 128, 128, 128);
282 } 279 }
(...skipping 354 matching lines...) Expand 10 before | Expand all | Expand 10 after
637 widget_->OnSwapBuffersAborted(); 634 widget_->OnSwapBuffersAborted();
638 } 635 }
639 636
640 void RenderWidgetCompositor::RateLimitSharedMainThreadContext() { 637 void RenderWidgetCompositor::RateLimitSharedMainThreadContext() {
641 cc::ContextProvider* provider = 638 cc::ContextProvider* provider =
642 RenderThreadImpl::current()->SharedMainThreadContextProvider().get(); 639 RenderThreadImpl::current()->SharedMainThreadContextProvider().get();
643 provider->ContextGL()->RateLimitOffscreenContextCHROMIUM(); 640 provider->ContextGL()->RateLimitOffscreenContextCHROMIUM();
644 } 641 }
645 642
646 } // namespace content 643 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698