[go: nahoru, domu]

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}
50 files changed