New issue
Advanced search Search tips

Issue 757629 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Sep 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 1
Type: Feature

Blocking:
issue 583360
issue 747879
issue 798400



Sign in to add a comment

Command buffer multi flush

Project Member Reported by sunn...@chromium.org, Aug 21 2017

Issue description

Blocking: 747879
Project Member

Comment 2 by bugdroid1@chromium.org, Aug 26 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9b8fb34db903643b759635086dcf0da90b1e3082

commit 9b8fb34db903643b759635086dcf0da90b1e3082
Author: Sunny Sachanandani <sunnyps@chromium.org>
Date: Sat Aug 26 00:49:56 2017

gpu: Command buffer multi flush.

Collect ordering barriers for all contexts on a channel in a list and
flush those together whenever any context flushes explicitly. This
replaces the implicit flush in ordering barrier when switching between
contexts in a stream and when waiting on sync tokens across streams.

Design doc: https://docs.google.com/document/d/1mvX3VGIrlWtIP8ZBJdzPp9Nf-7TfnrN-cyPy6angVU4/edit

Local testing has shown that this reduces total thread times by ~0.6ms
(total ~11ms) per frame in the infinite scrolling benchmark in webview
on nexus 6, mostly by reducing IO and GPU thread times.

Bug:  757629 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: Ic5a0015d46d3bc12f548b0c93ad109533565acfb
Reviewed-on: https://chromium-review.googlesource.com/611481
Commit-Queue: Sunny Sachanandani <sunnyps@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#497615}
[modify] https://crrev.com/9b8fb34db903643b759635086dcf0da90b1e3082/cc/raster/gpu_raster_buffer_provider.cc
[modify] https://crrev.com/9b8fb34db903643b759635086dcf0da90b1e3082/cc/raster/one_copy_raster_buffer_provider.cc
[modify] https://crrev.com/9b8fb34db903643b759635086dcf0da90b1e3082/cc/resources/layer_tree_resource_provider.cc
[modify] https://crrev.com/9b8fb34db903643b759635086dcf0da90b1e3082/cc/test/test_context_support.cc
[modify] https://crrev.com/9b8fb34db903643b759635086dcf0da90b1e3082/cc/test/test_context_support.h
[modify] https://crrev.com/9b8fb34db903643b759635086dcf0da90b1e3082/cc/tiles/tile_manager.cc
[modify] https://crrev.com/9b8fb34db903643b759635086dcf0da90b1e3082/cc/tiles/tile_manager.h
[modify] https://crrev.com/9b8fb34db903643b759635086dcf0da90b1e3082/cc/tiles/tile_manager_perftest.cc
[modify] https://crrev.com/9b8fb34db903643b759635086dcf0da90b1e3082/cc/tiles/tile_manager_unittest.cc
[modify] https://crrev.com/9b8fb34db903643b759635086dcf0da90b1e3082/cc/trees/layer_tree_host_impl.cc
[modify] https://crrev.com/9b8fb34db903643b759635086dcf0da90b1e3082/gpu/command_buffer/client/client_test_helper.h
[modify] https://crrev.com/9b8fb34db903643b759635086dcf0da90b1e3082/gpu/command_buffer/client/context_support.h
[modify] https://crrev.com/9b8fb34db903643b759635086dcf0da90b1e3082/gpu/command_buffer/client/gles2_implementation.cc
[modify] https://crrev.com/9b8fb34db903643b759635086dcf0da90b1e3082/gpu/command_buffer/client/gles2_implementation.h
[modify] https://crrev.com/9b8fb34db903643b759635086dcf0da90b1e3082/gpu/command_buffer/client/gles2_implementation_unittest.cc
[modify] https://crrev.com/9b8fb34db903643b759635086dcf0da90b1e3082/gpu/command_buffer/client/gpu_control.h
[modify] https://crrev.com/9b8fb34db903643b759635086dcf0da90b1e3082/gpu/command_buffer/service/scheduler.cc
[modify] https://crrev.com/9b8fb34db903643b759635086dcf0da90b1e3082/gpu/command_buffer/service/scheduler.h
[modify] https://crrev.com/9b8fb34db903643b759635086dcf0da90b1e3082/gpu/command_buffer/service/scheduler_unittest.cc
[modify] https://crrev.com/9b8fb34db903643b759635086dcf0da90b1e3082/gpu/command_buffer/tests/gl_manager.cc
[modify] https://crrev.com/9b8fb34db903643b759635086dcf0da90b1e3082/gpu/command_buffer/tests/gl_manager.h
[modify] https://crrev.com/9b8fb34db903643b759635086dcf0da90b1e3082/gpu/gles2_conform_support/egl/context.cc
[modify] https://crrev.com/9b8fb34db903643b759635086dcf0da90b1e3082/gpu/gles2_conform_support/egl/context.h
[modify] https://crrev.com/9b8fb34db903643b759635086dcf0da90b1e3082/gpu/ipc/client/command_buffer_proxy_impl.cc
[modify] https://crrev.com/9b8fb34db903643b759635086dcf0da90b1e3082/gpu/ipc/client/command_buffer_proxy_impl.h
[modify] https://crrev.com/9b8fb34db903643b759635086dcf0da90b1e3082/gpu/ipc/client/gpu_channel_host.cc
[modify] https://crrev.com/9b8fb34db903643b759635086dcf0da90b1e3082/gpu/ipc/client/gpu_channel_host.h
[modify] https://crrev.com/9b8fb34db903643b759635086dcf0da90b1e3082/gpu/ipc/common/BUILD.gn
[add] https://crrev.com/9b8fb34db903643b759635086dcf0da90b1e3082/gpu/ipc/common/flush_params.cc
[add] https://crrev.com/9b8fb34db903643b759635086dcf0da90b1e3082/gpu/ipc/common/flush_params.h
[modify] https://crrev.com/9b8fb34db903643b759635086dcf0da90b1e3082/gpu/ipc/common/gpu_messages.h
[modify] https://crrev.com/9b8fb34db903643b759635086dcf0da90b1e3082/gpu/ipc/common/gpu_param_traits_macros.h
[modify] https://crrev.com/9b8fb34db903643b759635086dcf0da90b1e3082/gpu/ipc/in_process_command_buffer.cc
[modify] https://crrev.com/9b8fb34db903643b759635086dcf0da90b1e3082/gpu/ipc/in_process_command_buffer.h
[modify] https://crrev.com/9b8fb34db903643b759635086dcf0da90b1e3082/gpu/ipc/service/gpu_channel.cc
[modify] https://crrev.com/9b8fb34db903643b759635086dcf0da90b1e3082/gpu/ipc/service/gpu_command_buffer_stub.cc
[modify] https://crrev.com/9b8fb34db903643b759635086dcf0da90b1e3082/gpu/ipc/service/gpu_command_buffer_stub.h
[modify] https://crrev.com/9b8fb34db903643b759635086dcf0da90b1e3082/ppapi/proxy/ppapi_command_buffer_proxy.cc
[modify] https://crrev.com/9b8fb34db903643b759635086dcf0da90b1e3082/ppapi/proxy/ppapi_command_buffer_proxy.h

Status: Fixed (was: Started)
Blocking: 798400
Blocking: 583360

Sign in to add a comment