New issue
Advanced search Search tips

Issue 847684 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jun 2018
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug

Blocking:
issue 757605



Sign in to add a comment

about:flags / GpuFeatureInfo support for oop rasterization

Project Member Reported by enne@chromium.org, May 30 2018

Issue description

Currently oop raster is controlled by a single command line flag.  To support about:flags, it needs both enable and disable flags.

Additionally, these command line flags should only be read by GpuUtil (so that we can also control this via finch and blacklisting).  This means that any other usage of this flag (along with the LayerTreeSetting) should be cleaned up.
 
Project Member

Comment 1 by bugdroid1@chromium.org, May 30 2018

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

commit 1af0567156a195d5b778f724470c32dbe0750cc5
Author: Adrienne Walker <enne@chromium.org>
Date: Wed May 30 17:20:45 2018

Revert "oop raster: Plumb linux font service to the gpu process."

This reverts commit c44ffb1d59079c072e6f188c0775ed665e854c42.

This is no longer needed as fonts have been implemented as a
separate path.

Bug:  847684 
Change-Id: I47ac41ab73917670750e41e8ca7ea11995fda728
Reviewed-on: https://chromium-review.googlesource.com/1077661
Reviewed-by: Antoine Labour <piman@chromium.org>
Commit-Queue: enne <enne@chromium.org>
Cr-Commit-Position: refs/heads/master@{#562885}
[modify] https://crrev.com/1af0567156a195d5b778f724470c32dbe0750cc5/content/browser/child_process_launcher_helper_linux.cc
[modify] https://crrev.com/1af0567156a195d5b778f724470c32dbe0750cc5/content/gpu/gpu_main.cc

Project Member

Comment 2 by bugdroid1@chromium.org, Jun 6 2018

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

commit c87477e182ca509e3ab7f15e91aa67e2af633bd2
Author: Adrienne Walker <enne@chromium.org>
Date: Wed Jun 06 22:28:21 2018

Add about:flags plumbing for OOP-R

Currently, out of process rasterization (oop-r) is controlled by a
single command line flag (--enable-oop-rasterization) and default off.
Many places in the code check this.

This patch centralizes the enabling logic into gpu_util.cc and
GpuFeatureList as the definitive source for whether oop-r is enabled.

First, command line entries are forwarded via GpuPreferences to the gpu
process.  Then, GpuInfo decides whether or not oop-r can be supported.
Then the gpu preferenes (enable and disable), blacklist, and finch entry
(default off now) are used to set the GpuFeatureInfo status value.  This
status value is passed to gles2::FeatureInfo to enable/disable
chromium_raster_transport in the raster decoder if needed for oop
raster.

The command line flags no longer need to be piped to the renderer or the
gpu process.  The renderer also uses the GpuFeatureInfo to figure out
whether to use oop-r.  If it says it is supported, then it should be
used.

Bug:  847684 
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel;master.tryserver.blink:linux_trusty_blink_rel
Change-Id: Ifecda890216e573745ae1c823294b9bbc1962cab
Reviewed-on: https://chromium-review.googlesource.com/1083115
Commit-Queue: enne <enne@chromium.org>
Reviewed-by: Achuith Bhandarkar <achuith@chromium.org>
Reviewed-by: Steven Bennetts <stevenjb@chromium.org>
Reviewed-by: Chris Palmer <palmer@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Reviewed-by: Jonathan Backer <backer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#565061}
[modify] https://crrev.com/c87477e182ca509e3ab7f15e91aa67e2af633bd2/cc/BUILD.gn
[modify] https://crrev.com/c87477e182ca509e3ab7f15e91aa67e2af633bd2/cc/test/DEPS
[modify] https://crrev.com/c87477e182ca509e3ab7f15e91aa67e2af633bd2/cc/test/cc_test_suite.cc
[modify] https://crrev.com/c87477e182ca509e3ab7f15e91aa67e2af633bd2/cc/trees/layer_tree_host_impl.cc
[modify] https://crrev.com/c87477e182ca509e3ab7f15e91aa67e2af633bd2/cc/trees/layer_tree_settings.h
[modify] https://crrev.com/c87477e182ca509e3ab7f15e91aa67e2af633bd2/chrome/browser/about_flags.cc
[modify] https://crrev.com/c87477e182ca509e3ab7f15e91aa67e2af633bd2/chrome/browser/chromeos/login/chrome_restart_request.cc
[modify] https://crrev.com/c87477e182ca509e3ab7f15e91aa67e2af633bd2/chrome/browser/flag_descriptions.cc
[modify] https://crrev.com/c87477e182ca509e3ab7f15e91aa67e2af633bd2/chrome/browser/flag_descriptions.h
[modify] https://crrev.com/c87477e182ca509e3ab7f15e91aa67e2af633bd2/content/browser/gpu/gpu_process_host.cc
[modify] https://crrev.com/c87477e182ca509e3ab7f15e91aa67e2af633bd2/content/browser/oop_browsertest.cc
[modify] https://crrev.com/c87477e182ca509e3ab7f15e91aa67e2af633bd2/content/browser/renderer_host/render_process_host_impl.cc
[modify] https://crrev.com/c87477e182ca509e3ab7f15e91aa67e2af633bd2/content/public/browser/gpu_utils.cc
[modify] https://crrev.com/c87477e182ca509e3ab7f15e91aa67e2af633bd2/content/public/common/content_switches.cc
[modify] https://crrev.com/c87477e182ca509e3ab7f15e91aa67e2af633bd2/content/public/common/content_switches.h
[modify] https://crrev.com/c87477e182ca509e3ab7f15e91aa67e2af633bd2/content/renderer/gpu/render_widget_compositor.cc
[modify] https://crrev.com/c87477e182ca509e3ab7f15e91aa67e2af633bd2/content/renderer/render_thread_impl.cc
[modify] https://crrev.com/c87477e182ca509e3ab7f15e91aa67e2af633bd2/gpu/command_buffer/service/buffer_manager_unittest.cc
[modify] https://crrev.com/c87477e182ca509e3ab7f15e91aa67e2af633bd2/gpu/command_buffer/service/feature_info.cc
[modify] https://crrev.com/c87477e182ca509e3ab7f15e91aa67e2af633bd2/gpu/command_buffer/service/feature_info.h
[modify] https://crrev.com/c87477e182ca509e3ab7f15e91aa67e2af633bd2/gpu/command_buffer/service/feature_info_unittest.cc
[modify] https://crrev.com/c87477e182ca509e3ab7f15e91aa67e2af633bd2/gpu/command_buffer/service/gles2_cmd_decoder.cc
[modify] https://crrev.com/c87477e182ca509e3ab7f15e91aa67e2af633bd2/gpu/command_buffer/service/gles2_cmd_decoder_passthrough.cc
[modify] https://crrev.com/c87477e182ca509e3ab7f15e91aa67e2af633bd2/gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.cc
[modify] https://crrev.com/c87477e182ca509e3ab7f15e91aa67e2af633bd2/gpu/command_buffer/service/gpu_fence_manager_unittest.cc
[modify] https://crrev.com/c87477e182ca509e3ab7f15e91aa67e2af633bd2/gpu/command_buffer/service/raster_decoder_unittest_base.cc
[modify] https://crrev.com/c87477e182ca509e3ab7f15e91aa67e2af633bd2/gpu/command_buffer/service/service_utils.cc
[modify] https://crrev.com/c87477e182ca509e3ab7f15e91aa67e2af633bd2/gpu/command_buffer/service/texture_manager_unittest.cc
[modify] https://crrev.com/c87477e182ca509e3ab7f15e91aa67e2af633bd2/gpu/command_buffer/tests/fuzzer_main.cc
[modify] https://crrev.com/c87477e182ca509e3ab7f15e91aa67e2af633bd2/gpu/command_buffer/tests/gl_manager.cc
[modify] https://crrev.com/c87477e182ca509e3ab7f15e91aa67e2af633bd2/gpu/command_buffer/tests/gl_tests_main.cc
[modify] https://crrev.com/c87477e182ca509e3ab7f15e91aa67e2af633bd2/gpu/command_buffer/tests/gl_unittest.cc
[modify] https://crrev.com/c87477e182ca509e3ab7f15e91aa67e2af633bd2/gpu/config/gpu_blacklist.cc
[modify] https://crrev.com/c87477e182ca509e3ab7f15e91aa67e2af633bd2/gpu/config/gpu_feature_type.h
[modify] https://crrev.com/c87477e182ca509e3ab7f15e91aa67e2af633bd2/gpu/config/gpu_finch_features.cc
[modify] https://crrev.com/c87477e182ca509e3ab7f15e91aa67e2af633bd2/gpu/config/gpu_finch_features.h
[modify] https://crrev.com/c87477e182ca509e3ab7f15e91aa67e2af633bd2/gpu/config/gpu_preferences.h
[modify] https://crrev.com/c87477e182ca509e3ab7f15e91aa67e2af633bd2/gpu/config/gpu_preferences_unittest.cc
[modify] https://crrev.com/c87477e182ca509e3ab7f15e91aa67e2af633bd2/gpu/config/gpu_switches.cc
[modify] https://crrev.com/c87477e182ca509e3ab7f15e91aa67e2af633bd2/gpu/config/gpu_switches.h
[modify] https://crrev.com/c87477e182ca509e3ab7f15e91aa67e2af633bd2/gpu/config/gpu_util.cc
[modify] https://crrev.com/c87477e182ca509e3ab7f15e91aa67e2af633bd2/gpu/gles2_conform_support/egl/context.cc
[modify] https://crrev.com/c87477e182ca509e3ab7f15e91aa67e2af633bd2/gpu/ipc/common/gpu_preferences.mojom
[modify] https://crrev.com/c87477e182ca509e3ab7f15e91aa67e2af633bd2/gpu/ipc/common/gpu_preferences_struct_traits.h
[modify] https://crrev.com/c87477e182ca509e3ab7f15e91aa67e2af633bd2/gpu/ipc/in_process_command_buffer.cc
[modify] https://crrev.com/c87477e182ca509e3ab7f15e91aa67e2af633bd2/gpu/ipc/raster_in_process_context.cc
[modify] https://crrev.com/c87477e182ca509e3ab7f15e91aa67e2af633bd2/gpu/ipc/service/gles2_command_buffer_stub.cc
[modify] https://crrev.com/c87477e182ca509e3ab7f15e91aa67e2af633bd2/gpu/ipc/service/gpu_channel.cc
[modify] https://crrev.com/c87477e182ca509e3ab7f15e91aa67e2af633bd2/gpu/ipc/service/raster_command_buffer_stub.cc
[modify] https://crrev.com/c87477e182ca509e3ab7f15e91aa67e2af633bd2/tools/metrics/histograms/enums.xml

Comment 3 by enne@chromium.org, Jun 7 2018

Status: Fixed (was: Assigned)
Project Member

Comment 4 by bugdroid1@chromium.org, Jun 9 2018

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

commit 1dbcb0a78e72e0b4fd505fd9bccaec405af56a48
Author: Adrienne Walker <enne@chromium.org>
Date: Sat Jun 09 00:03:59 2018

gpu: Always detect oop raster support

If this is only based on preferences (which is based on command line),
then it is impossible to turn on oop raster via a finch trial.

This fixes up a bug introduced while trying to fix bots in c87477e.

Bug:  847684 
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel
Change-Id: I064041e7fcbb5d9a60ec9b228ae4ae7ebb8d64d0
Reviewed-on: https://chromium-review.googlesource.com/1091215
Commit-Queue: enne <enne@chromium.org>
Reviewed-by: Jonathan Backer <backer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#565788}
[modify] https://crrev.com/1dbcb0a78e72e0b4fd505fd9bccaec405af56a48/gpu/config/gpu_info_collector.cc

Sign in to add a comment