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

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

Issue 667793004: Support single-threaded impl-side painting (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Now with less plumbing Created 6 years, 1 month 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 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 259 matching lines...) Expand 10 before | Expand all | Expand 10 after
270 hide_threshold >= 0.f && hide_threshold <= 1.f) 270 hide_threshold >= 0.f && hide_threshold <= 1.f)
271 settings.top_controls_hide_threshold = hide_threshold; 271 settings.top_controls_hide_threshold = hide_threshold;
272 } 272 }
273 273
274 settings.use_pinch_virtual_viewport = 274 settings.use_pinch_virtual_viewport =
275 cmd->HasSwitch(cc::switches::kEnablePinchVirtualViewport); 275 cmd->HasSwitch(cc::switches::kEnablePinchVirtualViewport);
276 settings.allow_antialiasing &= 276 settings.allow_antialiasing &=
277 !cmd->HasSwitch(cc::switches::kDisableCompositedAntialiasing); 277 !cmd->HasSwitch(cc::switches::kDisableCompositedAntialiasing);
278 settings.single_thread_proxy_scheduler = 278 settings.single_thread_proxy_scheduler =
279 !cmd->HasSwitch(switches::kDisableSingleThreadProxyScheduler); 279 !cmd->HasSwitch(switches::kDisableSingleThreadProxyScheduler);
280 if (!threaded && !settings.single_thread_proxy_scheduler &&
281 settings.impl_side_painting) {
282 // The synchronous composite path requires zero copy with impl-side
283 // painting.
284 settings.use_zero_copy = true;
285 settings.scheduled_raster_task_limit = std::numeric_limits<size_t>::max();
286 }
280 287
281 // These flags should be mirrored by UI versions in ui/compositor/. 288 // These flags should be mirrored by UI versions in ui/compositor/.
282 settings.initial_debug_state.show_debug_borders = 289 settings.initial_debug_state.show_debug_borders =
283 cmd->HasSwitch(cc::switches::kShowCompositedLayerBorders); 290 cmd->HasSwitch(cc::switches::kShowCompositedLayerBorders);
284 settings.initial_debug_state.show_fps_counter = 291 settings.initial_debug_state.show_fps_counter =
285 cmd->HasSwitch(cc::switches::kShowFPSCounter); 292 cmd->HasSwitch(cc::switches::kShowFPSCounter);
286 settings.initial_debug_state.show_layer_animation_bounds_rects = 293 settings.initial_debug_state.show_layer_animation_bounds_rects =
287 cmd->HasSwitch(cc::switches::kShowLayerAnimationBounds); 294 cmd->HasSwitch(cc::switches::kShowLayerAnimationBounds);
288 settings.initial_debug_state.show_paint_rects = 295 settings.initial_debug_state.show_paint_rects =
289 cmd->HasSwitch(switches::kShowPaintRects); 296 cmd->HasSwitch(switches::kShowPaintRects);
(...skipping 581 matching lines...) Expand 10 before | Expand all | Expand 10 after
871 widget_->OnSwapBuffersAborted(); 878 widget_->OnSwapBuffersAborted();
872 } 879 }
873 880
874 void RenderWidgetCompositor::RateLimitSharedMainThreadContext() { 881 void RenderWidgetCompositor::RateLimitSharedMainThreadContext() {
875 cc::ContextProvider* provider = 882 cc::ContextProvider* provider =
876 RenderThreadImpl::current()->SharedMainThreadContextProvider().get(); 883 RenderThreadImpl::current()->SharedMainThreadContextProvider().get();
877 provider->ContextGL()->RateLimitOffscreenContextCHROMIUM(); 884 provider->ContextGL()->RateLimitOffscreenContextCHROMIUM();
878 } 885 }
879 886
880 } // namespace content 887 } // namespace content
OLDNEW
« cc/trees/layer_tree_host_impl.cc ('K') | « cc/trees/single_thread_proxy.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698