New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 744658 link

Starred by 7 users

Issue metadata

Status: Fixed
Owner:
Closed: Feb 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 2
Type: Bug


Sign in to add a comment

Move GPU info collection from browser process to GPU process

Project Member Reported by zmo@chromium.org, Jul 17 2017

Issue description

I forgot if I filed a bug about this or not, but I couldn't find it if I did, so creating this new one.  I will post my study and design in this bug.

This is somewhat blocking MANGLE, so I will work on this while in Montreal office for the week.
 

Comment 1 by zmo@chromium.org, Jul 17 2017

Cc: junov@chromium.org
Step 1, move GPU driver bug workarounds decision making to GPU process.

It seems the only blocker is a renderer WebPreference:

 prefs->disable_2d_canvas_copy_on_write =
      IsDriverBugWorkaroundActive(gpu::BROKEN_EGL_IMAGE_REF_COUNTING) &&
      command_line->HasSwitch(switches::kEnableThreadedTextureMailboxes);

We can add a struct of related WebPreferences and send it back as part of Gpu::EstablishGpuChannel, i.e., update these WebPreferences when we create the gpu context (in this case, a context for a 2D canvas).

This solution can be applied in the future for GPU blacklist decisions also.

Comment 2 by zmo@chromium.org, Jul 17 2017

Cc: ericrk@chromium.org
Project Member

Comment 3 by bugdroid1@chromium.org, Jul 27 2017

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

commit d4dba1055610269a26299a8ace1a54b0cabe4fd9
Author: Zhenyao Mo <zmo@chromium.org>
Date: Thu Jul 27 23:02:39 2017

Make GpuDriverBugWorkarounds part of GpuFeatureInfo.

We collect it in GPU process start up, use it in GPU process, and also send back
to browser process as part of GpuFeatureInfo.

With this CL, we didn't stop browser side computating GpuDriverBugWorkarounds.
This will be the task of the next followup.

BUG=744658
TEST=bots
R=piman@chromium.org,kbr@chromium.org

Cq-Include-Trybots: 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: Ie1e70ff1db9ba4737bc1ea00236ebe9081374672
Reviewed-on: https://chromium-review.googlesource.com/583557
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#490057}
[modify] https://crrev.com/d4dba1055610269a26299a8ace1a54b0cabe4fd9/content/browser/gpu/gpu_data_manager_impl_private.cc
[modify] https://crrev.com/d4dba1055610269a26299a8ace1a54b0cabe4fd9/gpu/command_buffer/service/gpu_switches.cc
[modify] https://crrev.com/d4dba1055610269a26299a8ace1a54b0cabe4fd9/gpu/command_buffer/service/gpu_switches.h
[modify] https://crrev.com/d4dba1055610269a26299a8ace1a54b0cabe4fd9/gpu/config/gpu_driver_bug_workarounds.cc
[modify] https://crrev.com/d4dba1055610269a26299a8ace1a54b0cabe4fd9/gpu/config/gpu_driver_bug_workarounds.h
[modify] https://crrev.com/d4dba1055610269a26299a8ace1a54b0cabe4fd9/gpu/config/gpu_feature_info.cc
[modify] https://crrev.com/d4dba1055610269a26299a8ace1a54b0cabe4fd9/gpu/config/gpu_feature_info.h
[modify] https://crrev.com/d4dba1055610269a26299a8ace1a54b0cabe4fd9/gpu/config/gpu_switches.cc
[modify] https://crrev.com/d4dba1055610269a26299a8ace1a54b0cabe4fd9/gpu/config/gpu_switches.h
[modify] https://crrev.com/d4dba1055610269a26299a8ace1a54b0cabe4fd9/gpu/config/gpu_util.cc
[modify] https://crrev.com/d4dba1055610269a26299a8ace1a54b0cabe4fd9/gpu/config/gpu_util.h
[modify] https://crrev.com/d4dba1055610269a26299a8ace1a54b0cabe4fd9/gpu/ipc/common/gpu_feature_info.mojom
[modify] https://crrev.com/d4dba1055610269a26299a8ace1a54b0cabe4fd9/gpu/ipc/common/gpu_feature_info_struct_traits.h
[modify] https://crrev.com/d4dba1055610269a26299a8ace1a54b0cabe4fd9/gpu/ipc/service/gpu_channel_manager.cc
[modify] https://crrev.com/d4dba1055610269a26299a8ace1a54b0cabe4fd9/gpu/ipc/service/gpu_channel_manager.h
[modify] https://crrev.com/d4dba1055610269a26299a8ace1a54b0cabe4fd9/gpu/ipc/service/gpu_channel_test_common.cc
[modify] https://crrev.com/d4dba1055610269a26299a8ace1a54b0cabe4fd9/gpu/ipc/service/gpu_init.cc
[modify] https://crrev.com/d4dba1055610269a26299a8ace1a54b0cabe4fd9/services/ui/gpu/gpu_service.cc

Project Member

Comment 4 by bugdroid1@chromium.org, Aug 11 2017

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

commit b2e2af995d573d98314e9b10a2ddcae41e036334
Author: Zhenyao Mo <zmo@chromium.org>
Date: Fri Aug 11 03:25:22 2017

Wire disabled GL extensions from GpuFeatureInfo in GPU process.

BUG=744658
TEST=gl_unittests,bots
R=piman@chromium.org,kbr@chromium.org

Cq-Include-Trybots: 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: I85db759ed6c5b983080700dd0e720b746b687bbf
Reviewed-on: https://chromium-review.googlesource.com/588116
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#493655}
[modify] https://crrev.com/b2e2af995d573d98314e9b10a2ddcae41e036334/gpu/command_buffer/service/gles2_cmd_decoder.cc
[modify] https://crrev.com/b2e2af995d573d98314e9b10a2ddcae41e036334/gpu/ipc/service/gpu_command_buffer_stub.cc
[modify] https://crrev.com/b2e2af995d573d98314e9b10a2ddcae41e036334/gpu/ipc/service/gpu_command_buffer_stub.h
[modify] https://crrev.com/b2e2af995d573d98314e9b10a2ddcae41e036334/gpu/ipc/service/gpu_init.cc
[modify] https://crrev.com/b2e2af995d573d98314e9b10a2ddcae41e036334/ui/gl/gl_api_unittest.cc
[modify] https://crrev.com/b2e2af995d573d98314e9b10a2ddcae41e036334/ui/gl/gl_context.cc
[modify] https://crrev.com/b2e2af995d573d98314e9b10a2ddcae41e036334/ui/gl/gl_context.h
[modify] https://crrev.com/b2e2af995d573d98314e9b10a2ddcae41e036334/ui/gl/gl_gl_api_implementation.cc
[modify] https://crrev.com/b2e2af995d573d98314e9b10a2ddcae41e036334/ui/gl/gl_gl_api_implementation.h

Project Member

Comment 5 by bugdroid1@chromium.org, Aug 17 2017

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

commit e6f7865e39088ac3c51b72d2ff0fc6dee60ca95f
Author: Zhenyao Mo <zmo@chromium.org>
Date: Thu Aug 17 17:45:42 2017

Hook up driver bug workaround's platform dependent disabled extensions.

BUG=744658
TEST=gl_unittests
R=piman@chromium.org,kbr@chromium.org

Cq-Include-Trybots: 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: Ic511c7dcde2af29adb90ec30e3f82c25152a5924
Reviewed-on: https://chromium-review.googlesource.com/614780
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#495209}
[modify] https://crrev.com/e6f7865e39088ac3c51b72d2ff0fc6dee60ca95f/gpu/ipc/service/gpu_init.cc
[modify] https://crrev.com/e6f7865e39088ac3c51b72d2ff0fc6dee60ca95f/ui/gl/egl_api_unittest.cc
[modify] https://crrev.com/e6f7865e39088ac3c51b72d2ff0fc6dee60ca95f/ui/gl/generate_bindings.py
[modify] https://crrev.com/e6f7865e39088ac3c51b72d2ff0fc6dee60ca95f/ui/gl/gl_api_unittest.cc
[modify] https://crrev.com/e6f7865e39088ac3c51b72d2ff0fc6dee60ca95f/ui/gl/gl_bindings_autogen_egl.h
[modify] https://crrev.com/e6f7865e39088ac3c51b72d2ff0fc6dee60ca95f/ui/gl/gl_bindings_autogen_gl.h
[modify] https://crrev.com/e6f7865e39088ac3c51b72d2ff0fc6dee60ca95f/ui/gl/gl_bindings_autogen_glx.h
[modify] https://crrev.com/e6f7865e39088ac3c51b72d2ff0fc6dee60ca95f/ui/gl/gl_bindings_autogen_osmesa.h
[modify] https://crrev.com/e6f7865e39088ac3c51b72d2ff0fc6dee60ca95f/ui/gl/gl_bindings_autogen_wgl.h
[modify] https://crrev.com/e6f7865e39088ac3c51b72d2ff0fc6dee60ca95f/ui/gl/gl_context.cc
[modify] https://crrev.com/e6f7865e39088ac3c51b72d2ff0fc6dee60ca95f/ui/gl/gl_context.h
[modify] https://crrev.com/e6f7865e39088ac3c51b72d2ff0fc6dee60ca95f/ui/gl/gl_egl_api_implementation.cc
[modify] https://crrev.com/e6f7865e39088ac3c51b72d2ff0fc6dee60ca95f/ui/gl/gl_egl_api_implementation.h
[modify] https://crrev.com/e6f7865e39088ac3c51b72d2ff0fc6dee60ca95f/ui/gl/gl_enums_implementation_autogen.h
[modify] https://crrev.com/e6f7865e39088ac3c51b72d2ff0fc6dee60ca95f/ui/gl/gl_gl_api_implementation.cc
[modify] https://crrev.com/e6f7865e39088ac3c51b72d2ff0fc6dee60ca95f/ui/gl/gl_gl_api_implementation.h
[modify] https://crrev.com/e6f7865e39088ac3c51b72d2ff0fc6dee60ca95f/ui/gl/gl_glx_api_implementation.cc
[modify] https://crrev.com/e6f7865e39088ac3c51b72d2ff0fc6dee60ca95f/ui/gl/gl_glx_api_implementation.h
[modify] https://crrev.com/e6f7865e39088ac3c51b72d2ff0fc6dee60ca95f/ui/gl/gl_surface_egl.cc
[modify] https://crrev.com/e6f7865e39088ac3c51b72d2ff0fc6dee60ca95f/ui/gl/gl_surface_egl.h
[modify] https://crrev.com/e6f7865e39088ac3c51b72d2ff0fc6dee60ca95f/ui/gl/gl_surface_glx.cc
[modify] https://crrev.com/e6f7865e39088ac3c51b72d2ff0fc6dee60ca95f/ui/gl/gl_surface_glx.h
[modify] https://crrev.com/e6f7865e39088ac3c51b72d2ff0fc6dee60ca95f/ui/gl/gl_surface_wgl.cc
[modify] https://crrev.com/e6f7865e39088ac3c51b72d2ff0fc6dee60ca95f/ui/gl/gl_surface_wgl.h
[modify] https://crrev.com/e6f7865e39088ac3c51b72d2ff0fc6dee60ca95f/ui/gl/gl_wgl_api_implementation.cc
[modify] https://crrev.com/e6f7865e39088ac3c51b72d2ff0fc6dee60ca95f/ui/gl/gl_wgl_api_implementation.h
[modify] https://crrev.com/e6f7865e39088ac3c51b72d2ff0fc6dee60ca95f/ui/gl/glx_api_unittest.cc
[modify] https://crrev.com/e6f7865e39088ac3c51b72d2ff0fc6dee60ca95f/ui/gl/init/gl_factory.cc
[modify] https://crrev.com/e6f7865e39088ac3c51b72d2ff0fc6dee60ca95f/ui/gl/init/gl_factory.h
[modify] https://crrev.com/e6f7865e39088ac3c51b72d2ff0fc6dee60ca95f/ui/gl/init/gl_factory_android.cc
[modify] https://crrev.com/e6f7865e39088ac3c51b72d2ff0fc6dee60ca95f/ui/gl/init/gl_factory_fuchsia.cc
[modify] https://crrev.com/e6f7865e39088ac3c51b72d2ff0fc6dee60ca95f/ui/gl/init/gl_factory_mac.cc
[modify] https://crrev.com/e6f7865e39088ac3c51b72d2ff0fc6dee60ca95f/ui/gl/init/gl_factory_ozone.cc
[modify] https://crrev.com/e6f7865e39088ac3c51b72d2ff0fc6dee60ca95f/ui/gl/init/gl_factory_win.cc
[modify] https://crrev.com/e6f7865e39088ac3c51b72d2ff0fc6dee60ca95f/ui/gl/init/gl_factory_x11.cc
[modify] https://crrev.com/e6f7865e39088ac3c51b72d2ff0fc6dee60ca95f/ui/gl/wgl_api_unittest.cc

Project Member

Comment 6 by bugdroid1@chromium.org, Aug 17 2017

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

commit 90ee04339655bd612ca67661e894a0568a30187e
Author: Zhenyao Mo <zmo@chromium.org>
Date: Thu Aug 17 18:08:42 2017

Switch GpuDataManager to use GpuFeatureInfo returned from GPU process

This CL only applies to gpu driver bug workarounds. Gpu blacklist will be
switched over in future CLs.

Also, this CL adds disabled extensions in the "Reasons" to about:gpu page.

BUG=744658
TEST=gpu_unittests,about:gpu
R=kbr@chromium.org,dcheng@chromium.org

Cq-Include-Trybots: 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: Ic16f44bd83123f75e9bee1d8afc26ada4ee21869
Reviewed-on: https://chromium-review.googlesource.com/615750
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#495224}
[modify] https://crrev.com/90ee04339655bd612ca67661e894a0568a30187e/content/browser/gpu/gpu_data_manager_impl_private.cc
[modify] https://crrev.com/90ee04339655bd612ca67661e894a0568a30187e/content/browser/gpu/gpu_data_manager_impl_private.h
[modify] https://crrev.com/90ee04339655bd612ca67661e894a0568a30187e/gpu/config/gpu_control_list.cc
[modify] https://crrev.com/90ee04339655bd612ca67661e894a0568a30187e/gpu/config/gpu_control_list.h
[modify] https://crrev.com/90ee04339655bd612ca67661e894a0568a30187e/gpu/config/gpu_control_list_unittest.cc
[modify] https://crrev.com/90ee04339655bd612ca67661e894a0568a30187e/gpu/config/gpu_feature_info.h
[modify] https://crrev.com/90ee04339655bd612ca67661e894a0568a30187e/gpu/config/gpu_util.cc
[modify] https://crrev.com/90ee04339655bd612ca67661e894a0568a30187e/gpu/ipc/common/gpu_feature_info.mojom
[modify] https://crrev.com/90ee04339655bd612ca67661e894a0568a30187e/gpu/ipc/common/gpu_feature_info_struct_traits.h

Project Member

Comment 7 by bugdroid1@chromium.org, Aug 17 2017

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

commit 586dff5ce2c2a3052efc8cc71c0f637767dffd0f
Author: Kevin Marshall <kmarshall@chromium.org>
Date: Thu Aug 17 19:21:16 2017

Fix miswording in a gl_factory_fuchsia.cc function name.

This fixes a Fuchsia-specific build error in commit
e6f7865e39088ac3c51b72d2ff0fc6dee60ca95f.

NOTRY=true

R: zmo@chromium.org
Bug: 744658
Cq-Include-Trybots: 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: Ie7215419e0266f91fd19759d199865d3c7449bed
Reviewed-on: https://chromium-review.googlesource.com/619111
Commit-Queue: Kevin Marshall <kmarshall@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#495272}
[modify] https://crrev.com/586dff5ce2c2a3052efc8cc71c0f637767dffd0f/ui/gl/init/gl_factory_fuchsia.cc

Project Member

Comment 8 by bugdroid1@chromium.org, Aug 18 2017

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

commit d96838ad10ec4cb5e61e634917ff98c6fa6df741
Author: Zhenyao Mo <zmo@chromium.org>
Date: Fri Aug 18 17:47:49 2017


Revert "Switch GpuDataManager to use GpuFeatureInfo returned from GPU process"

This reverts commit 90ee04339655bd612ca67661e894a0568a30187e.

Reason for revert: crbug.com/756885


Original change's description:
> Switch GpuDataManager to use GpuFeatureInfo returned from GPU process
> 
> This CL only applies to gpu driver bug workarounds. Gpu blacklist will be
> switched over in future CLs.
> 
> Also, this CL adds disabled extensions in the "Reasons" to about:gpu page.
> 
> BUG=744658
> TEST=gpu_unittests,about:gpu
> R=​kbr@chromium.org,dcheng@chromium.org
> 
> Cq-Include-Trybots: 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: Ic16f44bd83123f75e9bee1d8afc26ada4ee21869
> Reviewed-on: https://chromium-review.googlesource.com/615750
> Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> Reviewed-by: Kenneth Russell <kbr@chromium.org>
> Commit-Queue: Zhenyao Mo <zmo@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#495224}

TBR=dcheng@chromium.org,zmo@chromium.org,kbr@chromium.org

Change-Id: Ib3870b6a7feae76f8746becfab2a9830853946e7
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 744658
Cq-Include-Trybots: 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
Reviewed-on: https://chromium-review.googlesource.com/621666
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#495606}
[modify] https://crrev.com/d96838ad10ec4cb5e61e634917ff98c6fa6df741/content/browser/gpu/gpu_data_manager_impl_private.cc
[modify] https://crrev.com/d96838ad10ec4cb5e61e634917ff98c6fa6df741/content/browser/gpu/gpu_data_manager_impl_private.h
[modify] https://crrev.com/d96838ad10ec4cb5e61e634917ff98c6fa6df741/gpu/config/gpu_control_list.cc
[modify] https://crrev.com/d96838ad10ec4cb5e61e634917ff98c6fa6df741/gpu/config/gpu_control_list.h
[modify] https://crrev.com/d96838ad10ec4cb5e61e634917ff98c6fa6df741/gpu/config/gpu_control_list_unittest.cc
[modify] https://crrev.com/d96838ad10ec4cb5e61e634917ff98c6fa6df741/gpu/config/gpu_feature_info.h
[modify] https://crrev.com/d96838ad10ec4cb5e61e634917ff98c6fa6df741/gpu/config/gpu_util.cc
[modify] https://crrev.com/d96838ad10ec4cb5e61e634917ff98c6fa6df741/gpu/ipc/common/gpu_feature_info.mojom
[modify] https://crrev.com/d96838ad10ec4cb5e61e634917ff98c6fa6df741/gpu/ipc/common/gpu_feature_info_struct_traits.h

Project Member

Comment 9 by bugdroid1@chromium.org, Aug 18 2017

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

commit 8f9edc6a4c16fb84e0fd6adaf29739e7c3617609
Author: Zhenyao Mo <zmo@chromium.org>
Date: Fri Aug 18 17:59:42 2017

Revert "Fix miswording in a gl_factory_fuchsia.cc function name."

This reverts commit 586dff5ce2c2a3052efc8cc71c0f637767dffd0f.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Fix miswording in a gl_factory_fuchsia.cc function name.
> 
> This fixes a Fuchsia-specific build error in commit
> e6f7865e39088ac3c51b72d2ff0fc6dee60ca95f.
> 
> NOTRY=true
> 
> R: zmo@chromium.org
> Bug: 744658
> Cq-Include-Trybots: 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: Ie7215419e0266f91fd19759d199865d3c7449bed
> Reviewed-on: https://chromium-review.googlesource.com/619111
> Commit-Queue: Kevin Marshall <kmarshall@chromium.org>
> Reviewed-by: Zhenyao Mo <zmo@chromium.org>
> Reviewed-by: Kenneth Russell <kbr@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#495272}

TBR=zmo@chromium.org,kbr@chromium.org,kmarshall@chromium.org

Change-Id: I97077a69b3f9d2e7e35a11ead6baff29661c1bf2
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 744658
Cq-Include-Trybots: 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
Reviewed-on: https://chromium-review.googlesource.com/621667
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#495614}
[modify] https://crrev.com/8f9edc6a4c16fb84e0fd6adaf29739e7c3617609/ui/gl/init/gl_factory_fuchsia.cc

Project Member

Comment 10 by bugdroid1@chromium.org, Aug 18 2017

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

commit 76815aeca09e51cbe14c03b0d3d92dc1c1e3fe0d
Author: Zhenyao Mo <zmo@chromium.org>
Date: Fri Aug 18 20:04:10 2017

Revert "Hook up driver bug workaround's platform dependent disabled extensions."

This reverts commit e6f7865e39088ac3c51b72d2ff0fc6dee60ca95f.

Reason for revert: crbug.com/756885

NOTRY=true

Original change's description:
> Hook up driver bug workaround's platform dependent disabled extensions.
> 
> BUG=744658
> TEST=gl_unittests
> R=​piman@chromium.org,kbr@chromium.org
> 
> Cq-Include-Trybots: 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: Ic511c7dcde2af29adb90ec30e3f82c25152a5924
> Reviewed-on: https://chromium-review.googlesource.com/614780
> Commit-Queue: Zhenyao Mo <zmo@chromium.org>
> Reviewed-by: Kenneth Russell <kbr@chromium.org>
> Reviewed-by: Antoine Labour <piman@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#495209}

TBR=zmo@chromium.org,kbr@chromium.org,piman@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: 744658
Change-Id: Ic0ffd02b9ca02fa92e9fee3a978c1e7d90661916
Cq-Include-Trybots: 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
Reviewed-on: https://chromium-review.googlesource.com/621706
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#495658}
[modify] https://crrev.com/76815aeca09e51cbe14c03b0d3d92dc1c1e3fe0d/gpu/ipc/service/gpu_init.cc
[modify] https://crrev.com/76815aeca09e51cbe14c03b0d3d92dc1c1e3fe0d/ui/gl/egl_api_unittest.cc
[modify] https://crrev.com/76815aeca09e51cbe14c03b0d3d92dc1c1e3fe0d/ui/gl/generate_bindings.py
[modify] https://crrev.com/76815aeca09e51cbe14c03b0d3d92dc1c1e3fe0d/ui/gl/gl_api_unittest.cc
[modify] https://crrev.com/76815aeca09e51cbe14c03b0d3d92dc1c1e3fe0d/ui/gl/gl_bindings_autogen_egl.h
[modify] https://crrev.com/76815aeca09e51cbe14c03b0d3d92dc1c1e3fe0d/ui/gl/gl_bindings_autogen_gl.h
[modify] https://crrev.com/76815aeca09e51cbe14c03b0d3d92dc1c1e3fe0d/ui/gl/gl_bindings_autogen_glx.h
[modify] https://crrev.com/76815aeca09e51cbe14c03b0d3d92dc1c1e3fe0d/ui/gl/gl_bindings_autogen_osmesa.h
[modify] https://crrev.com/76815aeca09e51cbe14c03b0d3d92dc1c1e3fe0d/ui/gl/gl_bindings_autogen_wgl.h
[modify] https://crrev.com/76815aeca09e51cbe14c03b0d3d92dc1c1e3fe0d/ui/gl/gl_context.cc
[modify] https://crrev.com/76815aeca09e51cbe14c03b0d3d92dc1c1e3fe0d/ui/gl/gl_context.h
[modify] https://crrev.com/76815aeca09e51cbe14c03b0d3d92dc1c1e3fe0d/ui/gl/gl_egl_api_implementation.cc
[modify] https://crrev.com/76815aeca09e51cbe14c03b0d3d92dc1c1e3fe0d/ui/gl/gl_egl_api_implementation.h
[modify] https://crrev.com/76815aeca09e51cbe14c03b0d3d92dc1c1e3fe0d/ui/gl/gl_enums_implementation_autogen.h
[modify] https://crrev.com/76815aeca09e51cbe14c03b0d3d92dc1c1e3fe0d/ui/gl/gl_gl_api_implementation.cc
[modify] https://crrev.com/76815aeca09e51cbe14c03b0d3d92dc1c1e3fe0d/ui/gl/gl_gl_api_implementation.h
[modify] https://crrev.com/76815aeca09e51cbe14c03b0d3d92dc1c1e3fe0d/ui/gl/gl_glx_api_implementation.cc
[modify] https://crrev.com/76815aeca09e51cbe14c03b0d3d92dc1c1e3fe0d/ui/gl/gl_glx_api_implementation.h
[modify] https://crrev.com/76815aeca09e51cbe14c03b0d3d92dc1c1e3fe0d/ui/gl/gl_surface_egl.cc
[modify] https://crrev.com/76815aeca09e51cbe14c03b0d3d92dc1c1e3fe0d/ui/gl/gl_surface_egl.h
[modify] https://crrev.com/76815aeca09e51cbe14c03b0d3d92dc1c1e3fe0d/ui/gl/gl_surface_glx.cc
[modify] https://crrev.com/76815aeca09e51cbe14c03b0d3d92dc1c1e3fe0d/ui/gl/gl_surface_glx.h
[modify] https://crrev.com/76815aeca09e51cbe14c03b0d3d92dc1c1e3fe0d/ui/gl/gl_surface_wgl.cc
[modify] https://crrev.com/76815aeca09e51cbe14c03b0d3d92dc1c1e3fe0d/ui/gl/gl_surface_wgl.h
[modify] https://crrev.com/76815aeca09e51cbe14c03b0d3d92dc1c1e3fe0d/ui/gl/gl_wgl_api_implementation.cc
[modify] https://crrev.com/76815aeca09e51cbe14c03b0d3d92dc1c1e3fe0d/ui/gl/gl_wgl_api_implementation.h
[modify] https://crrev.com/76815aeca09e51cbe14c03b0d3d92dc1c1e3fe0d/ui/gl/glx_api_unittest.cc
[modify] https://crrev.com/76815aeca09e51cbe14c03b0d3d92dc1c1e3fe0d/ui/gl/init/gl_factory.cc
[modify] https://crrev.com/76815aeca09e51cbe14c03b0d3d92dc1c1e3fe0d/ui/gl/init/gl_factory.h
[modify] https://crrev.com/76815aeca09e51cbe14c03b0d3d92dc1c1e3fe0d/ui/gl/init/gl_factory_android.cc
[modify] https://crrev.com/76815aeca09e51cbe14c03b0d3d92dc1c1e3fe0d/ui/gl/init/gl_factory_fuchsia.cc
[modify] https://crrev.com/76815aeca09e51cbe14c03b0d3d92dc1c1e3fe0d/ui/gl/init/gl_factory_mac.cc
[modify] https://crrev.com/76815aeca09e51cbe14c03b0d3d92dc1c1e3fe0d/ui/gl/init/gl_factory_ozone.cc
[modify] https://crrev.com/76815aeca09e51cbe14c03b0d3d92dc1c1e3fe0d/ui/gl/init/gl_factory_win.cc
[modify] https://crrev.com/76815aeca09e51cbe14c03b0d3d92dc1c1e3fe0d/ui/gl/init/gl_factory_x11.cc
[modify] https://crrev.com/76815aeca09e51cbe14c03b0d3d92dc1c1e3fe0d/ui/gl/wgl_api_unittest.cc

Project Member

Comment 11 by bugdroid1@chromium.org, Aug 18 2017

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

commit 8f2b7886b0a8d4416b1c0891804ea8f6128cbab2
Author: Zhenyao Mo <zmo@chromium.org>
Date: Fri Aug 18 23:36:27 2017

[Reland] Hook up driver bug workaround's platform dependent disabled extensions.

Originally reviewed on https://chromium-review.googlesource.com/614780

BUG=744658,756885
TEST=gl_unittests
R=piman@chromium.org,kbr@chromium.org

Cq-Include-Trybots: 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: Idf356d0718c50b3721f38059f2c7f2ae1392a1a2
Reviewed-on: https://chromium-review.googlesource.com/621885
Reviewed-by: Antoine Labour <piman@chromium.org>
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#495745}
[modify] https://crrev.com/8f2b7886b0a8d4416b1c0891804ea8f6128cbab2/gpu/ipc/service/gpu_init.cc
[modify] https://crrev.com/8f2b7886b0a8d4416b1c0891804ea8f6128cbab2/ui/gl/egl_api_unittest.cc
[modify] https://crrev.com/8f2b7886b0a8d4416b1c0891804ea8f6128cbab2/ui/gl/generate_bindings.py
[modify] https://crrev.com/8f2b7886b0a8d4416b1c0891804ea8f6128cbab2/ui/gl/gl_api_unittest.cc
[modify] https://crrev.com/8f2b7886b0a8d4416b1c0891804ea8f6128cbab2/ui/gl/gl_bindings_autogen_egl.h
[modify] https://crrev.com/8f2b7886b0a8d4416b1c0891804ea8f6128cbab2/ui/gl/gl_bindings_autogen_gl.h
[modify] https://crrev.com/8f2b7886b0a8d4416b1c0891804ea8f6128cbab2/ui/gl/gl_bindings_autogen_glx.h
[modify] https://crrev.com/8f2b7886b0a8d4416b1c0891804ea8f6128cbab2/ui/gl/gl_bindings_autogen_osmesa.h
[modify] https://crrev.com/8f2b7886b0a8d4416b1c0891804ea8f6128cbab2/ui/gl/gl_bindings_autogen_wgl.h
[modify] https://crrev.com/8f2b7886b0a8d4416b1c0891804ea8f6128cbab2/ui/gl/gl_context.cc
[modify] https://crrev.com/8f2b7886b0a8d4416b1c0891804ea8f6128cbab2/ui/gl/gl_context.h
[modify] https://crrev.com/8f2b7886b0a8d4416b1c0891804ea8f6128cbab2/ui/gl/gl_egl_api_implementation.cc
[modify] https://crrev.com/8f2b7886b0a8d4416b1c0891804ea8f6128cbab2/ui/gl/gl_egl_api_implementation.h
[modify] https://crrev.com/8f2b7886b0a8d4416b1c0891804ea8f6128cbab2/ui/gl/gl_enums_implementation_autogen.h
[modify] https://crrev.com/8f2b7886b0a8d4416b1c0891804ea8f6128cbab2/ui/gl/gl_gl_api_implementation.cc
[modify] https://crrev.com/8f2b7886b0a8d4416b1c0891804ea8f6128cbab2/ui/gl/gl_gl_api_implementation.h
[modify] https://crrev.com/8f2b7886b0a8d4416b1c0891804ea8f6128cbab2/ui/gl/gl_glx_api_implementation.cc
[modify] https://crrev.com/8f2b7886b0a8d4416b1c0891804ea8f6128cbab2/ui/gl/gl_glx_api_implementation.h
[modify] https://crrev.com/8f2b7886b0a8d4416b1c0891804ea8f6128cbab2/ui/gl/gl_surface_egl.cc
[modify] https://crrev.com/8f2b7886b0a8d4416b1c0891804ea8f6128cbab2/ui/gl/gl_surface_egl.h
[modify] https://crrev.com/8f2b7886b0a8d4416b1c0891804ea8f6128cbab2/ui/gl/gl_surface_glx.cc
[modify] https://crrev.com/8f2b7886b0a8d4416b1c0891804ea8f6128cbab2/ui/gl/gl_surface_glx.h
[modify] https://crrev.com/8f2b7886b0a8d4416b1c0891804ea8f6128cbab2/ui/gl/gl_surface_wgl.cc
[modify] https://crrev.com/8f2b7886b0a8d4416b1c0891804ea8f6128cbab2/ui/gl/gl_surface_wgl.h
[modify] https://crrev.com/8f2b7886b0a8d4416b1c0891804ea8f6128cbab2/ui/gl/gl_wgl_api_implementation.cc
[modify] https://crrev.com/8f2b7886b0a8d4416b1c0891804ea8f6128cbab2/ui/gl/gl_wgl_api_implementation.h
[modify] https://crrev.com/8f2b7886b0a8d4416b1c0891804ea8f6128cbab2/ui/gl/glx_api_unittest.cc
[modify] https://crrev.com/8f2b7886b0a8d4416b1c0891804ea8f6128cbab2/ui/gl/init/gl_factory.cc
[modify] https://crrev.com/8f2b7886b0a8d4416b1c0891804ea8f6128cbab2/ui/gl/init/gl_factory.h
[modify] https://crrev.com/8f2b7886b0a8d4416b1c0891804ea8f6128cbab2/ui/gl/init/gl_factory_android.cc
[modify] https://crrev.com/8f2b7886b0a8d4416b1c0891804ea8f6128cbab2/ui/gl/init/gl_factory_fuchsia.cc
[modify] https://crrev.com/8f2b7886b0a8d4416b1c0891804ea8f6128cbab2/ui/gl/init/gl_factory_mac.cc
[modify] https://crrev.com/8f2b7886b0a8d4416b1c0891804ea8f6128cbab2/ui/gl/init/gl_factory_ozone.cc
[modify] https://crrev.com/8f2b7886b0a8d4416b1c0891804ea8f6128cbab2/ui/gl/init/gl_factory_win.cc
[modify] https://crrev.com/8f2b7886b0a8d4416b1c0891804ea8f6128cbab2/ui/gl/init/gl_factory_x11.cc
[modify] https://crrev.com/8f2b7886b0a8d4416b1c0891804ea8f6128cbab2/ui/gl/wgl_api_unittest.cc

Project Member

Comment 12 by bugdroid1@chromium.org, Aug 18 2017

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

commit 93275a5c09d48caacf7f46b7ff74661acb4cc3fc
Author: Zhenyao Mo <zmo@chromium.org>
Date: Fri Aug 18 23:54:31 2017

Revert ""

This reverts commit d96838ad10ec4cb5e61e634917ff98c6fa6df741.

Reason for revert: the bot failure has nothing to do with this CL

Original change's description:
> Revert "Switch GpuDataManager to use GpuFeatureInfo returned from GPU process"
> 
> This reverts commit 90ee04339655bd612ca67661e894a0568a30187e.
> 
> Reason for revert: crbug.com/756885
> 
> 
> Original change's description:
> > Switch GpuDataManager to use GpuFeatureInfo returned from GPU process
> > 
> > This CL only applies to gpu driver bug workarounds. Gpu blacklist will be
> > switched over in future CLs.
> > 
> > Also, this CL adds disabled extensions in the "Reasons" to about:gpu page.
> > 
> > BUG=744658
> > TEST=gpu_unittests,about:gpu
> > R=​kbr@chromium.org,dcheng@chromium.org
> > 
> > Cq-Include-Trybots: 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: Ic16f44bd83123f75e9bee1d8afc26ada4ee21869
> > Reviewed-on: https://chromium-review.googlesource.com/615750
> > Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> > Reviewed-by: Kenneth Russell <kbr@chromium.org>
> > Commit-Queue: Zhenyao Mo <zmo@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#495224}
> 
> TBR=dcheng@chromium.org,zmo@chromium.org,kbr@chromium.org
> 
> Change-Id: Ib3870b6a7feae76f8746becfab2a9830853946e7
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: 744658
> Cq-Include-Trybots: 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
> Reviewed-on: https://chromium-review.googlesource.com/621666
> Reviewed-by: Zhenyao Mo <zmo@chromium.org>
> Commit-Queue: Zhenyao Mo <zmo@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#495606}

TBR=dcheng@chromium.org,zmo@chromium.org,kbr@chromium.org

Change-Id: I2472fbf69e4b92d95e455d034ba9df9872aadc99
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 744658
Cq-Include-Trybots: 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
Reviewed-on: https://chromium-review.googlesource.com/621847
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#495748}
[modify] https://crrev.com/93275a5c09d48caacf7f46b7ff74661acb4cc3fc/content/browser/gpu/gpu_data_manager_impl_private.cc
[modify] https://crrev.com/93275a5c09d48caacf7f46b7ff74661acb4cc3fc/content/browser/gpu/gpu_data_manager_impl_private.h
[modify] https://crrev.com/93275a5c09d48caacf7f46b7ff74661acb4cc3fc/gpu/config/gpu_control_list.cc
[modify] https://crrev.com/93275a5c09d48caacf7f46b7ff74661acb4cc3fc/gpu/config/gpu_control_list.h
[modify] https://crrev.com/93275a5c09d48caacf7f46b7ff74661acb4cc3fc/gpu/config/gpu_control_list_unittest.cc
[modify] https://crrev.com/93275a5c09d48caacf7f46b7ff74661acb4cc3fc/gpu/config/gpu_feature_info.h
[modify] https://crrev.com/93275a5c09d48caacf7f46b7ff74661acb4cc3fc/gpu/config/gpu_util.cc
[modify] https://crrev.com/93275a5c09d48caacf7f46b7ff74661acb4cc3fc/gpu/ipc/common/gpu_feature_info.mojom
[modify] https://crrev.com/93275a5c09d48caacf7f46b7ff74661acb4cc3fc/gpu/ipc/common/gpu_feature_info_struct_traits.h

Project Member

Comment 13 by bugdroid1@chromium.org, Aug 19 2017

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

commit 74b0491b36d22d377e16208fc92d291bfbc2c10e
Author: Zhenyao Mo <zmo@chromium.org>
Date: Sat Aug 19 06:53:17 2017

Move dynamic GPU switching to GPU process.

Before its management is divided between brower process and GPU process.
Now it lives solely on GPU process.

BUG=744658
R=kbr@chromium.org
TBR=ccameron@chromium.org
TEST=manual

Cq-Include-Trybots: 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: I984cbef5a3ddf2604ba120d6a6cde594453a41e6
Reviewed-on: https://chromium-review.googlesource.com/619853
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#495806}
[modify] https://crrev.com/74b0491b36d22d377e16208fc92d291bfbc2c10e/components/viz/service/gl/gpu_service_impl.cc
[modify] https://crrev.com/74b0491b36d22d377e16208fc92d291bfbc2c10e/content/browser/gpu/gpu_data_manager_impl_private.cc
[modify] https://crrev.com/74b0491b36d22d377e16208fc92d291bfbc2c10e/content/browser/gpu/gpu_data_manager_impl_private.h
[modify] https://crrev.com/74b0491b36d22d377e16208fc92d291bfbc2c10e/gpu/config/BUILD.gn
[modify] https://crrev.com/74b0491b36d22d377e16208fc92d291bfbc2c10e/gpu/config/gpu_control_list.cc
[modify] https://crrev.com/74b0491b36d22d377e16208fc92d291bfbc2c10e/gpu/config/gpu_control_list.h
[add] https://crrev.com/74b0491b36d22d377e16208fc92d291bfbc2c10e/gpu/config/gpu_switching.cc
[add] https://crrev.com/74b0491b36d22d377e16208fc92d291bfbc2c10e/gpu/config/gpu_switching.h
[modify] https://crrev.com/74b0491b36d22d377e16208fc92d291bfbc2c10e/gpu/config/gpu_util.cc
[modify] https://crrev.com/74b0491b36d22d377e16208fc92d291bfbc2c10e/gpu/config/gpu_util.h
[modify] https://crrev.com/74b0491b36d22d377e16208fc92d291bfbc2c10e/gpu/ipc/service/gpu_init.cc
[modify] https://crrev.com/74b0491b36d22d377e16208fc92d291bfbc2c10e/ui/accelerated_widget_mac/io_surface_context.mm
[modify] https://crrev.com/74b0491b36d22d377e16208fc92d291bfbc2c10e/ui/gl/gl_context.cc
[modify] https://crrev.com/74b0491b36d22d377e16208fc92d291bfbc2c10e/ui/gl/gl_context.h
[modify] https://crrev.com/74b0491b36d22d377e16208fc92d291bfbc2c10e/ui/gl/gl_context_cgl.cc
[modify] https://crrev.com/74b0491b36d22d377e16208fc92d291bfbc2c10e/ui/gl/gl_switches.cc
[modify] https://crrev.com/74b0491b36d22d377e16208fc92d291bfbc2c10e/ui/gl/gl_switches.h
[modify] https://crrev.com/74b0491b36d22d377e16208fc92d291bfbc2c10e/ui/gl/gpu_preference.h
[modify] https://crrev.com/74b0491b36d22d377e16208fc92d291bfbc2c10e/ui/gl/gpu_switching_manager.cc
[modify] https://crrev.com/74b0491b36d22d377e16208fc92d291bfbc2c10e/ui/gl/gpu_switching_manager.h
[modify] https://crrev.com/74b0491b36d22d377e16208fc92d291bfbc2c10e/ui/gl/init/gl_initializer_mac.cc

Blocking: 757974
Project Member

Comment 15 by bugdroid1@chromium.org, Aug 24 2017

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

commit 9fc174c5ecbe4617752c4c8682d29d0c8fea08b0
Author: Zhenyao Mo <zmo@chromium.org>
Date: Thu Aug 24 01:06:42 2017

Initialize EGL extensions before driver bug workarounds.

This is necessary on Ozone/Wayland because of IsEGLSurfacelessContextSupported()

Instead, we limit EGL extensions that can be disabled by driver bug workarounds
and update their related bindings later.

BUG=744658
TEST=ozone/wayland
R=piman@chromium.org

Cq-Include-Trybots: 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: Ifcd8fb3fe991b93dfdbbe84d0a78e0efe08aea34
Reviewed-on: https://chromium-review.googlesource.com/629458
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#496902}
[modify] https://crrev.com/9fc174c5ecbe4617752c4c8682d29d0c8fea08b0/ui/gl/egl_api_unittest.cc
[modify] https://crrev.com/9fc174c5ecbe4617752c4c8682d29d0c8fea08b0/ui/gl/gl_bindings.cc
[modify] https://crrev.com/9fc174c5ecbe4617752c4c8682d29d0c8fea08b0/ui/gl/gl_bindings.h
[modify] https://crrev.com/9fc174c5ecbe4617752c4c8682d29d0c8fea08b0/ui/gl/gl_egl_api_implementation.cc
[modify] https://crrev.com/9fc174c5ecbe4617752c4c8682d29d0c8fea08b0/ui/gl/gl_surface_egl.cc

Project Member

Comment 16 by bugdroid1@chromium.org, Aug 24 2017

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

commit 7aa71e37ee6551cb0d846ca2795305e4e4246081
Author: Zhenyao Mo <zmo@chromium.org>
Date: Thu Aug 24 01:29:15 2017

Pass disable_2d_canvas_copy_on_write to renderer process from GPU process

Not from browser process.

We won't need this piece of information until we bring up GPU process.

This will allow us to no longer compute GPU driver bug workarounds in browser
process and only do it in GPU process.

BUG=744658
TEST=bots
R=piman@chromium.org,kbr@chromium.org,dcheng@chromium.org

Cq-Include-Trybots: 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: Ida3bdd6c1227ddfe52e4e0fe937dec92e65b4f30
Reviewed-on: https://chromium-review.googlesource.com/627391
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#496911}
[modify] https://crrev.com/7aa71e37ee6551cb0d846ca2795305e4e4246081/content/browser/gpu/gpu_data_manager_impl_private.cc
[modify] https://crrev.com/7aa71e37ee6551cb0d846ca2795305e4e4246081/content/public/common/common_param_traits_macros.h
[modify] https://crrev.com/7aa71e37ee6551cb0d846ca2795305e4e4246081/content/public/common/web_preferences.cc
[modify] https://crrev.com/7aa71e37ee6551cb0d846ca2795305e4e4246081/content/public/common/web_preferences.h
[modify] https://crrev.com/7aa71e37ee6551cb0d846ca2795305e4e4246081/content/renderer/render_view_impl.cc
[modify] https://crrev.com/7aa71e37ee6551cb0d846ca2795305e4e4246081/gpu/command_buffer/common/capabilities.h
[modify] https://crrev.com/7aa71e37ee6551cb0d846ca2795305e4e4246081/gpu/command_buffer/service/gles2_cmd_decoder.cc
[modify] https://crrev.com/7aa71e37ee6551cb0d846ca2795305e4e4246081/gpu/ipc/common/gpu_command_buffer_traits_multi.h
[modify] https://crrev.com/7aa71e37ee6551cb0d846ca2795305e4e4246081/third_party/WebKit/Source/platform/RuntimeEnabledFeatures.json5
[modify] https://crrev.com/7aa71e37ee6551cb0d846ca2795305e4e4246081/third_party/WebKit/Source/platform/exported/WebRuntimeFeatures.cpp
[modify] https://crrev.com/7aa71e37ee6551cb0d846ca2795305e4e4246081/third_party/WebKit/Source/platform/graphics/Canvas2DLayerBridge.cpp
[modify] https://crrev.com/7aa71e37ee6551cb0d846ca2795305e4e4246081/third_party/WebKit/public/platform/WebRuntimeFeatures.h

Project Member

Comment 17 by bugdroid1@chromium.org, Aug 24 2017

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

commit 08c91493ac46fad33a983fcd06443cedf4d2a065
Author: Zhenyao Mo <zmo@chromium.org>
Date: Thu Aug 24 22:57:57 2017

Clean up passing workarounds through commandline switch: PART I

This cleans up the use of CommandLine switches in gl_tests and gpu_unittests.

BUG=744658
TEST=gpu_unittests
R=piman@chromium.org

Cq-Include-Trybots: 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: I427606b9dcf43ca5a49267974e96c53df2235906
Reviewed-on: https://chromium-review.googlesource.com/631356
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#497236}
[modify] https://crrev.com/08c91493ac46fad33a983fcd06443cedf4d2a065/gpu/command_buffer/service/feature_info.cc
[modify] https://crrev.com/08c91493ac46fad33a983fcd06443cedf4d2a065/gpu/command_buffer/service/feature_info.h
[modify] https://crrev.com/08c91493ac46fad33a983fcd06443cedf4d2a065/gpu/command_buffer/service/feature_info_unittest.cc
[modify] https://crrev.com/08c91493ac46fad33a983fcd06443cedf4d2a065/gpu/command_buffer/service/gles2_cmd_decoder_unittest.cc
[modify] https://crrev.com/08c91493ac46fad33a983fcd06443cedf4d2a065/gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.cc
[modify] https://crrev.com/08c91493ac46fad33a983fcd06443cedf4d2a065/gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.h
[modify] https://crrev.com/08c91493ac46fad33a983fcd06443cedf4d2a065/gpu/command_buffer/service/gles2_cmd_decoder_unittest_context_lost.cc
[modify] https://crrev.com/08c91493ac46fad33a983fcd06443cedf4d2a065/gpu/command_buffer/service/gles2_cmd_decoder_unittest_drawing.cc
[modify] https://crrev.com/08c91493ac46fad33a983fcd06443cedf4d2a065/gpu/command_buffer/service/gles2_cmd_decoder_unittest_framebuffers.cc
[modify] https://crrev.com/08c91493ac46fad33a983fcd06443cedf4d2a065/gpu/command_buffer/service/gles2_cmd_decoder_unittest_programs.cc
[modify] https://crrev.com/08c91493ac46fad33a983fcd06443cedf4d2a065/gpu/command_buffer/service/gles2_cmd_decoder_unittest_textures.cc
[modify] https://crrev.com/08c91493ac46fad33a983fcd06443cedf4d2a065/gpu/command_buffer/tests/es3_misc_functions_unittest.cc
[modify] https://crrev.com/08c91493ac46fad33a983fcd06443cedf4d2a065/gpu/command_buffer/tests/gl_apply_screen_space_antialiasing_CHROMIUM_unittest.cc
[modify] https://crrev.com/08c91493ac46fad33a983fcd06443cedf4d2a065/gpu/command_buffer/tests/gl_clear_framebuffer_unittest.cc
[modify] https://crrev.com/08c91493ac46fad33a983fcd06443cedf4d2a065/gpu/command_buffer/tests/gl_copy_tex_image_2d_workaround_unittest.cc
[modify] https://crrev.com/08c91493ac46fad33a983fcd06443cedf4d2a065/gpu/command_buffer/tests/gl_copy_texture_CHROMIUM_unittest.cc
[modify] https://crrev.com/08c91493ac46fad33a983fcd06443cedf4d2a065/gpu/command_buffer/tests/gl_cube_map_texture_unittest.cc
[modify] https://crrev.com/08c91493ac46fad33a983fcd06443cedf4d2a065/gpu/command_buffer/tests/gl_ext_blend_func_extended_unittest.cc
[modify] https://crrev.com/08c91493ac46fad33a983fcd06443cedf4d2a065/gpu/command_buffer/tests/gl_iosurface_readback_workaround_unittest.cc
[modify] https://crrev.com/08c91493ac46fad33a983fcd06443cedf4d2a065/gpu/command_buffer/tests/gl_manager.cc
[modify] https://crrev.com/08c91493ac46fad33a983fcd06443cedf4d2a065/gpu/command_buffer/tests/gl_manager.h
[modify] https://crrev.com/08c91493ac46fad33a983fcd06443cedf4d2a065/gpu/command_buffer/tests/gl_map_buffer_range_unittest.cc
[modify] https://crrev.com/08c91493ac46fad33a983fcd06443cedf4d2a065/gpu/command_buffer/tests/gl_request_extension_unittest.cc
[modify] https://crrev.com/08c91493ac46fad33a983fcd06443cedf4d2a065/gpu/command_buffer/tests/gl_tests_main.cc
[modify] https://crrev.com/08c91493ac46fad33a983fcd06443cedf4d2a065/gpu/config/gpu_driver_bug_workarounds.cc
[modify] https://crrev.com/08c91493ac46fad33a983fcd06443cedf4d2a065/gpu/config/gpu_driver_bug_workarounds.h
[modify] https://crrev.com/08c91493ac46fad33a983fcd06443cedf4d2a065/gpu/config/gpu_feature_info.cc
[modify] https://crrev.com/08c91493ac46fad33a983fcd06443cedf4d2a065/gpu/config/gpu_feature_info.h
[modify] https://crrev.com/08c91493ac46fad33a983fcd06443cedf4d2a065/gpu/ipc/service/gpu_command_buffer_stub.cc

Blocking: 683226
Project Member

Comment 19 by bugdroid1@chromium.org, Aug 25 2017

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

commit 56b32be3370d183110f730739b73f74f9a737e6f
Author: Zhenyao Mo <zmo@chromium.org>
Date: Fri Aug 25 22:59:30 2017

Wire GpuFeatureInfo correctly for in_process_command_buffer cases.

Including driver bug workarounds and disabled extensions.

This fixes the content_unittests

BUG=744658
TEST=content_unittests
R=piman@chromium.org
TBR=dalecurtis@chromium.org

Cq-Include-Trybots: 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: Id5d4041acd260720ff1d6152f1356993356861f0
Reviewed-on: https://chromium-review.googlesource.com/634643
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Dale Curtis <dalecurtis@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#497580}
[modify] https://crrev.com/56b32be3370d183110f730739b73f74f9a737e6f/components/viz/service/gl/gpu_service_impl.h
[modify] https://crrev.com/56b32be3370d183110f730739b73f74f9a737e6f/content/test/content_test_suite.cc
[modify] https://crrev.com/56b32be3370d183110f730739b73f74f9a737e6f/gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.cc
[modify] https://crrev.com/56b32be3370d183110f730739b73f74f9a737e6f/gpu/command_buffer/tests/fuzzer_main.cc
[modify] https://crrev.com/56b32be3370d183110f730739b73f74f9a737e6f/gpu/ipc/gpu_in_process_thread_service.cc
[modify] https://crrev.com/56b32be3370d183110f730739b73f74f9a737e6f/gpu/ipc/gpu_in_process_thread_service.h
[modify] https://crrev.com/56b32be3370d183110f730739b73f74f9a737e6f/gpu/ipc/in_process_command_buffer.cc
[modify] https://crrev.com/56b32be3370d183110f730739b73f74f9a737e6f/gpu/ipc/in_process_command_buffer.h
[modify] https://crrev.com/56b32be3370d183110f730739b73f74f9a737e6f/media/gpu/surface_texture_gl_owner_unittest.cc
[modify] https://crrev.com/56b32be3370d183110f730739b73f74f9a737e6f/services/ui/gpu/gpu_main.cc
[modify] https://crrev.com/56b32be3370d183110f730739b73f74f9a737e6f/ui/gl/init/gl_factory.cc
[modify] https://crrev.com/56b32be3370d183110f730739b73f74f9a737e6f/ui/gl/init/gl_factory.h
[modify] https://crrev.com/56b32be3370d183110f730739b73f74f9a737e6f/ui/gl/test/gl_surface_test_support.cc
[modify] https://crrev.com/56b32be3370d183110f730739b73f74f9a737e6f/ui/gl/test/gl_surface_test_support.h

Project Member

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

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

commit 339b065cff20485fdd6b83b80b8a12e00409a42c
Author: Zhenyao Mo <zmo@chromium.org>
Date: Sat Aug 26 01:15:33 2017

Wire GpuFeatureInfo correctly for gles2_conform.

This is the last use case of ApplyGpuDriverBugWorkarounds(), so get rid of it.

BUG=744658
TEST=gles2_conform,gpu_unittests
R=piman@chromium.org

Cq-Include-Trybots: 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: I43a158c7fa7703cceb745336a0d27a119d75772c
Reviewed-on: https://chromium-review.googlesource.com/636348
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#497624}
[modify] https://crrev.com/339b065cff20485fdd6b83b80b8a12e00409a42c/gpu/config/gpu_util.cc
[modify] https://crrev.com/339b065cff20485fdd6b83b80b8a12e00409a42c/gpu/config/gpu_util.h
[modify] https://crrev.com/339b065cff20485fdd6b83b80b8a12e00409a42c/gpu/config/gpu_util_unittest.cc
[modify] https://crrev.com/339b065cff20485fdd6b83b80b8a12e00409a42c/gpu/gles2_conform_support/egl/context.cc
[modify] https://crrev.com/339b065cff20485fdd6b83b80b8a12e00409a42c/gpu/gles2_conform_support/egl/context.h
[modify] https://crrev.com/339b065cff20485fdd6b83b80b8a12e00409a42c/gpu/gles2_conform_support/egl/thread_state.cc

Project Member

Comment 21 by bugdroid1@chromium.org, Aug 30 2017

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

commit db2790b45298d43dc076db347fa87da794f5e8f2
Author: Zhenyao Mo <zmo@chromium.org>
Date: Wed Aug 30 00:10:15 2017

Make sure Android GPU threads only collect GPU info and make decisions once.

That includes Chrome and WebView.

Note that we still do that on browser side. That will be removed soon once
we also move GPU blacklisting to GPU side.

BUG=744658
TEST=bots,manual with WebiewInstrumentation
R=piman@chromium.org,boliu@chromium.org

Cq-Include-Trybots: 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: I007c201ad4806dec35df9872132c4e5cd57bf20d
Reviewed-on: https://chromium-review.googlesource.com/641975
Reviewed-by: Antoine Labour <piman@chromium.org>
Reviewed-by: Bo <boliu@chromium.org>
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#498295}
[modify] https://crrev.com/db2790b45298d43dc076db347fa87da794f5e8f2/android_webview/browser/deferred_gpu_command_service.cc
[modify] https://crrev.com/db2790b45298d43dc076db347fa87da794f5e8f2/android_webview/browser/deferred_gpu_command_service.h
[modify] https://crrev.com/db2790b45298d43dc076db347fa87da794f5e8f2/android_webview/gpu/aw_content_gpu_client.cc
[modify] https://crrev.com/db2790b45298d43dc076db347fa87da794f5e8f2/android_webview/gpu/aw_content_gpu_client.h
[modify] https://crrev.com/db2790b45298d43dc076db347fa87da794f5e8f2/android_webview/lib/aw_main_delegate.cc
[modify] https://crrev.com/db2790b45298d43dc076db347fa87da794f5e8f2/chrome/gpu/chrome_content_gpu_client.cc
[modify] https://crrev.com/db2790b45298d43dc076db347fa87da794f5e8f2/chrome/gpu/chrome_content_gpu_client.h
[modify] https://crrev.com/db2790b45298d43dc076db347fa87da794f5e8f2/content/gpu/gpu_child_thread.cc
[modify] https://crrev.com/db2790b45298d43dc076db347fa87da794f5e8f2/content/gpu/in_process_gpu_thread.cc
[modify] https://crrev.com/db2790b45298d43dc076db347fa87da794f5e8f2/content/public/gpu/content_gpu_client.cc
[modify] https://crrev.com/db2790b45298d43dc076db347fa87da794f5e8f2/content/public/gpu/content_gpu_client.h
[modify] https://crrev.com/db2790b45298d43dc076db347fa87da794f5e8f2/content/shell/gpu/shell_content_gpu_client.cc
[modify] https://crrev.com/db2790b45298d43dc076db347fa87da794f5e8f2/content/shell/gpu/shell_content_gpu_client.h
[modify] https://crrev.com/db2790b45298d43dc076db347fa87da794f5e8f2/gpu/config/gpu_driver_bug_workarounds.cc
[modify] https://crrev.com/db2790b45298d43dc076db347fa87da794f5e8f2/gpu/config/gpu_driver_bug_workarounds.h
[modify] https://crrev.com/db2790b45298d43dc076db347fa87da794f5e8f2/gpu/ipc/gpu_in_process_thread_service.cc
[modify] https://crrev.com/db2790b45298d43dc076db347fa87da794f5e8f2/gpu/ipc/in_process_command_buffer.cc
[modify] https://crrev.com/db2790b45298d43dc076db347fa87da794f5e8f2/gpu/ipc/in_process_command_buffer.h

Project Member

Comment 22 by bugdroid1@chromium.org, Aug 30 2017

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

commit 10aee7a9732a76cd5ad9128ca662a8b8c3c2126a
Author: Zhenyao Mo <zmo@chromium.org>
Date: Wed Aug 30 17:11:34 2017

Remove kGpuDriverBugWorkarounds commandline switch.

It was used to pass workarounds from browser process to GPU process, which is
no longer necessary.

Also, this CL wires up platform specific (GLX, EGL, WGL) disabled extensions
for in-process-gpu mode.

BUG=744658
TEST=gpu bots
R=kbr@chromium.org

Cq-Include-Trybots: 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: Ic5d40229f8b6e5a65332b97449aee5ecfa7cd716
Reviewed-on: https://chromium-review.googlesource.com/641981
Reviewed-by: Antoine Labour <piman@chromium.org>
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#498511}
[modify] https://crrev.com/10aee7a9732a76cd5ad9128ca662a8b8c3c2126a/content/browser/gpu/gpu_data_manager_impl_private.cc
[modify] https://crrev.com/10aee7a9732a76cd5ad9128ca662a8b8c3c2126a/content/browser/gpu/gpu_data_manager_impl_private_unittest.cc
[modify] https://crrev.com/10aee7a9732a76cd5ad9128ca662a8b8c3c2126a/content/browser/gpu/gpu_process_host.cc
[modify] https://crrev.com/10aee7a9732a76cd5ad9128ca662a8b8c3c2126a/content/gpu/in_process_gpu_thread.cc
[modify] https://crrev.com/10aee7a9732a76cd5ad9128ca662a8b8c3c2126a/gpu/command_buffer/tests/gl_manager.cc
[modify] https://crrev.com/10aee7a9732a76cd5ad9128ca662a8b8c3c2126a/gpu/config/gpu_driver_bug_list.cc
[modify] https://crrev.com/10aee7a9732a76cd5ad9128ca662a8b8c3c2126a/gpu/config/gpu_switches.cc
[modify] https://crrev.com/10aee7a9732a76cd5ad9128ca662a8b8c3c2126a/gpu/config/gpu_switches.h
[modify] https://crrev.com/10aee7a9732a76cd5ad9128ca662a8b8c3c2126a/gpu/config/gpu_util.cc
[modify] https://crrev.com/10aee7a9732a76cd5ad9128ca662a8b8c3c2126a/gpu/config/gpu_util.h
[modify] https://crrev.com/10aee7a9732a76cd5ad9128ca662a8b8c3c2126a/gpu/config/gpu_util_unittest.cc
[modify] https://crrev.com/10aee7a9732a76cd5ad9128ca662a8b8c3c2126a/gpu/ipc/service/gpu_init.cc

Project Member

Comment 23 by bugdroid1@chromium.org, Aug 31 2017

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

commit 4e8e9b9a161e581c99ce9d6f5f1d0deae5b55c27
Author: Zhenyao Mo <zmo@chromium.org>
Date: Thu Aug 31 23:53:24 2017

Remove GPU driver bug workarounds computing in browser process

BUG=744658
TEST=gpu bots
R=piman@chromium.org,boliu@chromium.org
NOTRY=true

Cq-Include-Trybots: 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: I9d65de39279717f632184abc69d4c1759d80105d
Reviewed-on: https://chromium-review.googlesource.com/644492
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Reviewed-by: Bo <boliu@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#499073}
[modify] https://crrev.com/4e8e9b9a161e581c99ce9d6f5f1d0deae5b55c27/android_webview/browser/deferred_gpu_command_service.cc
[modify] https://crrev.com/4e8e9b9a161e581c99ce9d6f5f1d0deae5b55c27/content/browser/gpu/gpu_data_manager_impl_private.cc
[modify] https://crrev.com/4e8e9b9a161e581c99ce9d6f5f1d0deae5b55c27/content/browser/gpu/gpu_data_manager_impl_private.h
[modify] https://crrev.com/4e8e9b9a161e581c99ce9d6f5f1d0deae5b55c27/content/browser/gpu/gpu_process_host.cc
[modify] https://crrev.com/4e8e9b9a161e581c99ce9d6f5f1d0deae5b55c27/content/gpu/gpu_main.cc
[modify] https://crrev.com/4e8e9b9a161e581c99ce9d6f5f1d0deae5b55c27/content/gpu/in_process_gpu_thread.cc
[modify] https://crrev.com/4e8e9b9a161e581c99ce9d6f5f1d0deae5b55c27/content/test/content_test_suite.cc
[modify] https://crrev.com/4e8e9b9a161e581c99ce9d6f5f1d0deae5b55c27/gpu/command_buffer/tests/gl_tests_main.cc
[modify] https://crrev.com/4e8e9b9a161e581c99ce9d6f5f1d0deae5b55c27/gpu/config/gpu_driver_bug_workaround_type.h
[modify] https://crrev.com/4e8e9b9a161e581c99ce9d6f5f1d0deae5b55c27/gpu/config/gpu_switches.cc
[modify] https://crrev.com/4e8e9b9a161e581c99ce9d6f5f1d0deae5b55c27/gpu/config/gpu_switches.h
[modify] https://crrev.com/4e8e9b9a161e581c99ce9d6f5f1d0deae5b55c27/gpu/config/gpu_util.cc
[modify] https://crrev.com/4e8e9b9a161e581c99ce9d6f5f1d0deae5b55c27/gpu/config/gpu_util.h
[modify] https://crrev.com/4e8e9b9a161e581c99ce9d6f5f1d0deae5b55c27/gpu/config/gpu_util_unittest.cc
[modify] https://crrev.com/4e8e9b9a161e581c99ce9d6f5f1d0deae5b55c27/gpu/gles2_conform_support/egl/thread_state.cc
[modify] https://crrev.com/4e8e9b9a161e581c99ce9d6f5f1d0deae5b55c27/gpu/ipc/service/gpu_init.cc
[modify] https://crrev.com/4e8e9b9a161e581c99ce9d6f5f1d0deae5b55c27/gpu/ipc/service/gpu_init.h
[modify] https://crrev.com/4e8e9b9a161e581c99ce9d6f5f1d0deae5b55c27/services/ui/gpu/gpu_main.cc
[modify] https://crrev.com/4e8e9b9a161e581c99ce9d6f5f1d0deae5b55c27/ui/gl/gl_context_glx.cc
[modify] https://crrev.com/4e8e9b9a161e581c99ce9d6f5f1d0deae5b55c27/ui/gl/gl_switches.cc
[modify] https://crrev.com/4e8e9b9a161e581c99ce9d6f5f1d0deae5b55c27/ui/gl/gl_switches.h

Project Member

Comment 24 by bugdroid1@chromium.org, Sep 2 2017

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

commit 910ab17ccc84f26b89417cd5cf4690a9af327d2b
Author: Zhenyao Mo <zmo@chromium.org>
Date: Sat Sep 02 04:48:19 2017

Get rid of GpuDataManagerImpl::IsDriverBugWorkaroundActive().

Instead, set and access them at GpuProcessHost::DidInitialize().

BUG=744658
TEST=bots
R=piman@chromium.org
TBR=dcheng@chromium.org

Cq-Include-Trybots: 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: Ib9abb13604ba3bd968eb9aa2499492d5f3d49b78
Reviewed-on: https://chromium-review.googlesource.com/648097
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#499385}
[modify] https://crrev.com/910ab17ccc84f26b89417cd5cf4690a9af327d2b/content/browser/compositor/gpu_process_transport_factory.cc
[modify] https://crrev.com/910ab17ccc84f26b89417cd5cf4690a9af327d2b/content/browser/gpu/gpu_data_manager_impl.cc
[modify] https://crrev.com/910ab17ccc84f26b89417cd5cf4690a9af327d2b/content/browser/gpu/gpu_data_manager_impl.h
[modify] https://crrev.com/910ab17ccc84f26b89417cd5cf4690a9af327d2b/content/browser/gpu/gpu_data_manager_impl_private.cc
[modify] https://crrev.com/910ab17ccc84f26b89417cd5cf4690a9af327d2b/content/browser/gpu/gpu_data_manager_impl_private.h
[modify] https://crrev.com/910ab17ccc84f26b89417cd5cf4690a9af327d2b/content/browser/gpu/gpu_process_host.cc
[modify] https://crrev.com/910ab17ccc84f26b89417cd5cf4690a9af327d2b/content/browser/gpu/gpu_process_host.h
[modify] https://crrev.com/910ab17ccc84f26b89417cd5cf4690a9af327d2b/content/browser/renderer_host/render_widget_host_view_android.cc
[modify] https://crrev.com/910ab17ccc84f26b89417cd5cf4690a9af327d2b/gpu/command_buffer/common/capabilities.h
[modify] https://crrev.com/910ab17ccc84f26b89417cd5cf4690a9af327d2b/gpu/command_buffer/service/gles2_cmd_decoder.cc
[modify] https://crrev.com/910ab17ccc84f26b89417cd5cf4690a9af327d2b/gpu/ipc/common/gpu_command_buffer_traits_multi.h

Comment 25 by zmo@chromium.org, Sep 3 2017

Status: Started (was: Assigned)
Just want to insert a comment to mark the progress: at this point driver bug workarounds are purely computed in GPU process/thread. So half the task is accomplished.

The remaining half is to move blacklisting also to GPU side.
Project Member

Comment 26 by bugdroid1@chromium.org, Sep 5 2017

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

commit b2e22d7780b6e13cc56aba6fc27829fed92ebbb8
Author: Zhenyao Mo <zmo@chromium.org>
Date: Tue Sep 05 19:42:46 2017

Ozone style: a few gl binding related functions.

This is a technical debt from
https://chromium-review.googlesource.com/c/chromium/src/+/614780

BUG=744658
TEST=bots
R=piman@chromium.org,kylechar@chromium.org,rjkroege@chromium.org

Cq-Include-Trybots: 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: Ib14d2ee1539a28258ef5436039aaa43e13b5140d
Reviewed-on: https://chromium-review.googlesource.com/645778
Reviewed-by: kylechar <kylechar@chromium.org>
Reviewed-by: Robert Kroeger <rjkroege@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#499711}
[modify] https://crrev.com/b2e22d7780b6e13cc56aba6fc27829fed92ebbb8/ui/gl/init/gl_factory_ozone.cc
[modify] https://crrev.com/b2e22d7780b6e13cc56aba6fc27829fed92ebbb8/ui/ozone/common/gl_ozone_egl.cc
[modify] https://crrev.com/b2e22d7780b6e13cc56aba6fc27829fed92ebbb8/ui/ozone/common/gl_ozone_egl.h
[modify] https://crrev.com/b2e22d7780b6e13cc56aba6fc27829fed92ebbb8/ui/ozone/common/gl_ozone_osmesa.cc
[modify] https://crrev.com/b2e22d7780b6e13cc56aba6fc27829fed92ebbb8/ui/ozone/common/gl_ozone_osmesa.h
[modify] https://crrev.com/b2e22d7780b6e13cc56aba6fc27829fed92ebbb8/ui/ozone/platform/x11/gl_ozone_glx.cc
[modify] https://crrev.com/b2e22d7780b6e13cc56aba6fc27829fed92ebbb8/ui/ozone/platform/x11/gl_ozone_glx.h
[modify] https://crrev.com/b2e22d7780b6e13cc56aba6fc27829fed92ebbb8/ui/ozone/public/gl_ozone.h

Comment 27 by zmo@chromium.org, Sep 15 2017

Blocking: 764290
Project Member

Comment 28 by bugdroid1@chromium.org, Sep 16 2017

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

commit a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1
Author: Zhenyao Mo <zmo@chromium.org>
Date: Sat Sep 16 01:34:40 2017

Move WebGL blacklist decision making to GPU process.

Still, if we pass in a commandline switch to disable WebGL1/2, they are still
pass to renderer process as WebPreferences.

BUG=744658
TEST=bots
R=kbr@chromium.org,piman@chromium.org

Cq-Include-Trybots: 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: I15fc34bc72d1c86d31d392bd34230d366564c318
Reviewed-on: https://chromium-review.googlesource.com/659100
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Bill Budge <bbudge@chromium.org>
Reviewed-by: Bo <boliu@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#502466}
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/android_webview/browser/aw_settings.cc
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/chrome/browser/about_flags.cc
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/chrome/browser/chrome_content_browser_client.cc
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/chrome/browser/flag_descriptions.cc
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/chrome/browser/flag_descriptions.h
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/content/browser/gpu/compositor_util.cc
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/content/browser/gpu/gpu_data_manager_impl_private.cc
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/content/browser/renderer_host/render_process_host_impl.cc
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/content/browser/renderer_host/render_view_host_impl.cc
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/content/public/common/common_param_traits_macros.h
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/content/public/common/content_switches.cc
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/content/public/common/content_switches.h
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/content/public/common/web_preferences.cc
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/content/public/common/web_preferences.h
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/content/renderer/pepper/pepper_plugin_instance_impl.cc
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/content/renderer/pepper/pepper_plugin_instance_metrics.cc
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/content/renderer/pepper/pepper_plugin_instance_metrics.h
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/content/renderer/pepper/ppapi_preferences_builder.cc
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/content/renderer/render_frame_impl.cc
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/content/renderer/render_frame_impl.h
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/content/renderer/render_view_impl.cc
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/content/shell/renderer/layout_test/blink_test_helpers.cc
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/content/shell/test_runner/test_preferences.cc
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/content/shell/test_runner/test_preferences.h
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/content/shell/test_runner/test_runner.cc
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/gpu/command_buffer/service/context_group.cc
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/gpu/command_buffer/service/gpu_preferences.h
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/gpu/config/gpu_feature_info.h
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/gpu/config/gpu_util.cc
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/gpu/config/software_rendering_list.json
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/gpu/ipc/common/gpu_feature_info.mojom
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/gpu/ipc/common/gpu_feature_info_struct_traits.h
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/gpu/ipc/common/gpu_preferences.mojom
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/gpu/ipc/common/gpu_preferences_struct_traits.h
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/ppapi/shared_impl/ppapi_preferences.h
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/third_party/WebKit/LayoutTests/compositing/backface-visibility/backface-visibility-webgl.html
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/third_party/WebKit/LayoutTests/compositing/draws-content/webgl-background-layer.html
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/third_party/WebKit/LayoutTests/compositing/draws-content/webgl-simple-background.html
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/third_party/WebKit/LayoutTests/compositing/visibility/visibility-simple-webgl-layer.html
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/third_party/WebKit/LayoutTests/compositing/webgl/webgl-background-color.html
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/third_party/WebKit/LayoutTests/compositing/webgl/webgl-no-alpha.html
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/third_party/WebKit/LayoutTests/compositing/webgl/webgl-nonpremultiplied-blend.html
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/third_party/WebKit/LayoutTests/compositing/webgl/webgl-reflection.html
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/third_party/WebKit/LayoutTests/compositing/webgl/webgl-repaint.html
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/third_party/WebKit/LayoutTests/fast/canvas/webgl/canvas-getContext-crash.html
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/third_party/WebKit/LayoutTests/fast/canvas/webgl/canvas-resize-crash.html
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/third_party/WebKit/LayoutTests/fast/canvas/webgl/pixelated.html
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/third_party/WebKit/LayoutTests/fast/canvas/webgl/resources/webgl-test.js
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/third_party/WebKit/LayoutTests/fast/canvas/webgl/texImage-imageBitmap-from-blob.html
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/third_party/WebKit/LayoutTests/fast/canvas/webgl/texImage-imageBitmap-from-canvas.html
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/third_party/WebKit/LayoutTests/fast/canvas/webgl/texImage-imageBitmap-from-image.html
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/third_party/WebKit/LayoutTests/fast/canvas/webgl/texImage-imageBitmap-from-imageBitmap-from-blob.html
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/third_party/WebKit/LayoutTests/fast/canvas/webgl/texImage-imageBitmap-from-imageBitmap-from-canvas.html
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/third_party/WebKit/LayoutTests/fast/canvas/webgl/texImage-imageBitmap-from-imageBitmap-from-image.html
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/third_party/WebKit/LayoutTests/fast/canvas/webgl/texImage-imageBitmap-from-imageBitmap-from-imageData.html
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/third_party/WebKit/LayoutTests/fast/canvas/webgl/texImage-imageBitmap-from-imageBitmap-from-offscreen-canvas.html
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/third_party/WebKit/LayoutTests/fast/canvas/webgl/texImage-imageBitmap-from-imageData.html
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/third_party/WebKit/LayoutTests/fast/canvas/webgl/texImage-imageBitmap-from-offscreen-canvas.html
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/third_party/WebKit/LayoutTests/fast/canvas/webgl/texImage-imageBitmap-from-video.html
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/third_party/WebKit/LayoutTests/fast/canvas/webgl/texImage-imageBitmap-structured-clone.html
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/third_party/WebKit/LayoutTests/fast/canvas/webgl/texImage-imageBitmap-transferable.html
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/third_party/WebKit/LayoutTests/fast/canvas/webgl/texImage-video-last-uploaded-metadata.html
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/third_party/WebKit/LayoutTests/fast/canvas/webgl/webgl-composite-modes-repaint.html
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/third_party/WebKit/LayoutTests/fast/canvas/webgl/webgl-composite-modes-tabswitching.html
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/third_party/WebKit/LayoutTests/fast/canvas/webgl/webgl-composite-modes.html
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/third_party/WebKit/LayoutTests/fast/canvas/webgl/webgl-layer-update.html
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/third_party/WebKit/LayoutTests/fast/mediacapturefromelement/resources/webgl-test.js
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/third_party/WebKit/LayoutTests/http/tests/canvas/webgl/origin-clean-conformance.html
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/third_party/WebKit/LayoutTests/http/tests/security/webgl-remote-read-remote-image-allowed-with-credentials.html
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/third_party/WebKit/LayoutTests/http/tests/security/webgl-remote-read-remote-image-allowed.html
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/third_party/WebKit/LayoutTests/http/tests/security/webgl-remote-read-remote-image-blocked-no-crossorigin.html
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/third_party/WebKit/Source/core/exported/LocalFrameClientImpl.cpp
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/third_party/WebKit/Source/core/exported/LocalFrameClientImpl.h
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/third_party/WebKit/Source/core/exported/WebSettingsImpl.cpp
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/third_party/WebKit/Source/core/exported/WebSettingsImpl.h
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/third_party/WebKit/Source/core/frame/LocalFrameClient.h
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/third_party/WebKit/Source/core/frame/Settings.json5
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/third_party/WebKit/Source/core/html/HTMLCanvasElement.cpp
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/third_party/WebKit/Source/core/html/HTMLCanvasElement.h
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/third_party/WebKit/Source/core/html/canvas/CanvasRenderingContextHost.h
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/third_party/WebKit/Source/core/offscreencanvas/OffscreenCanvas.h
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/third_party/WebKit/public/web/WebFrameClient.h
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/third_party/WebKit/public/web/WebSettings.h
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/ui/gl/gl_switches.cc
[modify] https://crrev.com/a3fda997a835bd0ca0ddc6363fafc03c0d9f55d1/ui/gl/gl_switches.h

Project Member

Comment 29 by bugdroid1@chromium.org, Sep 27 2017

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

commit c4225f93ca04ad70479d82879124ba3e6db9f7e4
Author: Zhenyao Mo <zmo@chromium.org>
Date: Wed Sep 27 21:26:25 2017

Pass GpuFeatureInfo through GpuChannelHost.

Right now GpuFeatureInfo is passed from GPU to browser through GpuProcessHost.
However, we will want blacklist decisions on the renderer side also, so this CL
hooks it up with GpuChannelHost.

We will be able to remove blacklisting and driver bugs info from Capabilities
and GPUInfo because now we have GpuFeatureInfo available in the renderer side,
but let's leave the cleanup to a separate CL.

BUG=744658
TEST=bots
R=piman@chromium.org

Cq-Include-Trybots: 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: I9fe61bcf12dbdda80762bd994402a337e44babc2
Reviewed-on: https://chromium-review.googlesource.com/685301
Reviewed-by: Antoine Labour <piman@chromium.org>
Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#504774}
[modify] https://crrev.com/c4225f93ca04ad70479d82879124ba3e6db9f7e4/content/browser/gpu/browser_gpu_channel_host_factory.cc
[modify] https://crrev.com/c4225f93ca04ad70479d82879124ba3e6db9f7e4/content/browser/gpu/gpu_client.cc
[modify] https://crrev.com/c4225f93ca04ad70479d82879124ba3e6db9f7e4/content/browser/gpu/gpu_client.h
[modify] https://crrev.com/c4225f93ca04ad70479d82879124ba3e6db9f7e4/content/browser/gpu/gpu_data_manager_impl.cc
[modify] https://crrev.com/c4225f93ca04ad70479d82879124ba3e6db9f7e4/content/browser/gpu/gpu_data_manager_impl.h
[modify] https://crrev.com/c4225f93ca04ad70479d82879124ba3e6db9f7e4/content/browser/gpu/gpu_data_manager_impl_private.cc
[modify] https://crrev.com/c4225f93ca04ad70479d82879124ba3e6db9f7e4/content/browser/gpu/gpu_data_manager_impl_private.h
[modify] https://crrev.com/c4225f93ca04ad70479d82879124ba3e6db9f7e4/content/browser/gpu/gpu_process_host.cc
[modify] https://crrev.com/c4225f93ca04ad70479d82879124ba3e6db9f7e4/content/browser/gpu/gpu_process_host.h
[modify] https://crrev.com/c4225f93ca04ad70479d82879124ba3e6db9f7e4/gpu/ipc/client/gpu_channel_host.cc
[modify] https://crrev.com/c4225f93ca04ad70479d82879124ba3e6db9f7e4/gpu/ipc/client/gpu_channel_host.h
[modify] https://crrev.com/c4225f93ca04ad70479d82879124ba3e6db9f7e4/services/ui/public/cpp/gpu/gpu.cc
[modify] https://crrev.com/c4225f93ca04ad70479d82879124ba3e6db9f7e4/services/ui/public/cpp/gpu/gpu.h
[modify] https://crrev.com/c4225f93ca04ad70479d82879124ba3e6db9f7e4/services/ui/public/cpp/tests/gpu_unittest.cc
[modify] https://crrev.com/c4225f93ca04ad70479d82879124ba3e6db9f7e4/services/ui/public/interfaces/gpu.mojom
[modify] https://crrev.com/c4225f93ca04ad70479d82879124ba3e6db9f7e4/services/ui/ws/gpu_client.cc
[modify] https://crrev.com/c4225f93ca04ad70479d82879124ba3e6db9f7e4/services/ui/ws/gpu_client.h
[modify] https://crrev.com/c4225f93ca04ad70479d82879124ba3e6db9f7e4/services/ui/ws/gpu_host.cc
[modify] https://crrev.com/c4225f93ca04ad70479d82879124ba3e6db9f7e4/services/ui/ws/gpu_host.h

Project Member

Comment 30 by bugdroid1@chromium.org, Oct 6 2017

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

commit eb86a1714f7dee5c96b341b7bbccd580f9782a89
Author: Zhenyao Mo <zmo@chromium.org>
Date: Fri Oct 06 14:17:52 2017

Pass Capabilities and GpuFeatureInfo around in Renderer process.

Pass them as const reference in const functions.

BUG=744658
TEST=bots
R=kbr@chromium.org,piman@chromium.org
NOTRY=true

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: Ifbbeba595792f3c0b8fa91dcc6331ad0a4efd126
Reviewed-on: https://chromium-review.googlesource.com/691147
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Reviewed-by: Justin Novosad <junov@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#507056}
[modify] https://crrev.com/eb86a1714f7dee5c96b341b7bbccd580f9782a89/android_webview/browser/aw_render_thread_context_provider.cc
[modify] https://crrev.com/eb86a1714f7dee5c96b341b7bbccd580f9782a89/android_webview/browser/aw_render_thread_context_provider.h
[modify] https://crrev.com/eb86a1714f7dee5c96b341b7bbccd580f9782a89/cc/raster/raster_buffer_provider_perftest.cc
[modify] https://crrev.com/eb86a1714f7dee5c96b341b7bbccd580f9782a89/cc/test/test_context_provider.cc
[modify] https://crrev.com/eb86a1714f7dee5c96b341b7bbccd580f9782a89/cc/test/test_context_provider.h
[modify] https://crrev.com/eb86a1714f7dee5c96b341b7bbccd580f9782a89/cc/test/test_in_process_context_provider.cc
[modify] https://crrev.com/eb86a1714f7dee5c96b341b7bbccd580f9782a89/cc/test/test_in_process_context_provider.h
[modify] https://crrev.com/eb86a1714f7dee5c96b341b7bbccd580f9782a89/components/viz/common/gpu/context_provider.h
[modify] https://crrev.com/eb86a1714f7dee5c96b341b7bbccd580f9782a89/components/viz/common/gpu/in_process_context_provider.cc
[modify] https://crrev.com/eb86a1714f7dee5c96b341b7bbccd580f9782a89/components/viz/common/gpu/in_process_context_provider.h
[modify] https://crrev.com/eb86a1714f7dee5c96b341b7bbccd580f9782a89/content/renderer/webgraphicscontext3d_provider_impl.cc
[modify] https://crrev.com/eb86a1714f7dee5c96b341b7bbccd580f9782a89/content/renderer/webgraphicscontext3d_provider_impl.h
[modify] https://crrev.com/eb86a1714f7dee5c96b341b7bbccd580f9782a89/gpu/command_buffer/client/client_test_helper.h
[modify] https://crrev.com/eb86a1714f7dee5c96b341b7bbccd580f9782a89/gpu/command_buffer/client/gles2_implementation_unittest.cc
[modify] https://crrev.com/eb86a1714f7dee5c96b341b7bbccd580f9782a89/gpu/command_buffer/client/gpu_control.h
[modify] https://crrev.com/eb86a1714f7dee5c96b341b7bbccd580f9782a89/gpu/command_buffer/tests/gl_manager.cc
[modify] https://crrev.com/eb86a1714f7dee5c96b341b7bbccd580f9782a89/gpu/command_buffer/tests/gl_manager.h
[modify] https://crrev.com/eb86a1714f7dee5c96b341b7bbccd580f9782a89/gpu/gles2_conform_support/egl/context.cc
[modify] https://crrev.com/eb86a1714f7dee5c96b341b7bbccd580f9782a89/gpu/gles2_conform_support/egl/context.h
[modify] https://crrev.com/eb86a1714f7dee5c96b341b7bbccd580f9782a89/gpu/ipc/client/command_buffer_proxy_impl.cc
[modify] https://crrev.com/eb86a1714f7dee5c96b341b7bbccd580f9782a89/gpu/ipc/client/command_buffer_proxy_impl.h
[modify] https://crrev.com/eb86a1714f7dee5c96b341b7bbccd580f9782a89/gpu/ipc/gl_in_process_context.cc
[modify] https://crrev.com/eb86a1714f7dee5c96b341b7bbccd580f9782a89/gpu/ipc/gl_in_process_context.h
[modify] https://crrev.com/eb86a1714f7dee5c96b341b7bbccd580f9782a89/gpu/ipc/in_process_command_buffer.cc
[modify] https://crrev.com/eb86a1714f7dee5c96b341b7bbccd580f9782a89/gpu/ipc/in_process_command_buffer.h
[modify] https://crrev.com/eb86a1714f7dee5c96b341b7bbccd580f9782a89/ppapi/proxy/ppapi_command_buffer_proxy.cc
[modify] https://crrev.com/eb86a1714f7dee5c96b341b7bbccd580f9782a89/ppapi/proxy/ppapi_command_buffer_proxy.h
[modify] https://crrev.com/eb86a1714f7dee5c96b341b7bbccd580f9782a89/services/ui/public/cpp/gpu/context_provider_command_buffer.cc
[modify] https://crrev.com/eb86a1714f7dee5c96b341b7bbccd580f9782a89/services/ui/public/cpp/gpu/context_provider_command_buffer.h
[modify] https://crrev.com/eb86a1714f7dee5c96b341b7bbccd580f9782a89/third_party/WebKit/Source/platform/graphics/gpu/DEPS
[modify] https://crrev.com/eb86a1714f7dee5c96b341b7bbccd580f9782a89/third_party/WebKit/Source/platform/graphics/gpu/DrawingBufferSoftwareRenderingTest.cpp
[modify] https://crrev.com/eb86a1714f7dee5c96b341b7bbccd580f9782a89/third_party/WebKit/Source/platform/graphics/gpu/DrawingBufferTestHelpers.h
[modify] https://crrev.com/eb86a1714f7dee5c96b341b7bbccd580f9782a89/third_party/WebKit/Source/platform/graphics/test/DEPS
[modify] https://crrev.com/eb86a1714f7dee5c96b341b7bbccd580f9782a89/third_party/WebKit/Source/platform/graphics/test/FakeWebGraphicsContext3DProvider.h
[modify] https://crrev.com/eb86a1714f7dee5c96b341b7bbccd580f9782a89/third_party/WebKit/public/platform/WebGraphicsContext3DProvider.h
[modify] https://crrev.com/eb86a1714f7dee5c96b341b7bbccd580f9782a89/ui/compositor/test/in_process_context_provider.cc
[modify] https://crrev.com/eb86a1714f7dee5c96b341b7bbccd580f9782a89/ui/compositor/test/in_process_context_provider.h

Project Member

Comment 31 by bugdroid1@chromium.org, Oct 6 2017

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

commit a007dced3c5a377af9099761b38a56dbb314ea4d
Author: Zhenyao Mo <zmo@chromium.org>
Date: Fri Oct 06 22:21:35 2017

Hook up Canvas2D and Pepper3D blacklisting in renderer process.

Through GpuFeatureInfo, which is passed from GPU to renderer.

BUG=744658
TEST=bots
TBR=kbr@chromium.org,junov@chromium.org
R=piman@chromium.org

Cq-Include-Trybots: 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: I69496b4c52469ae8e021d1da1791ef4960cb787a
Reviewed-on: https://chromium-review.googlesource.com/704075
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#507194}
[modify] https://crrev.com/a007dced3c5a377af9099761b38a56dbb314ea4d/content/browser/gpu/gpu_data_manager_impl_private.cc
[modify] https://crrev.com/a007dced3c5a377af9099761b38a56dbb314ea4d/content/renderer/pepper/ppb_graphics_3d_impl.cc
[modify] https://crrev.com/a007dced3c5a377af9099761b38a56dbb314ea4d/gpu/config/gpu_util.cc
[modify] https://crrev.com/a007dced3c5a377af9099761b38a56dbb314ea4d/third_party/WebKit/Source/core/DEPS
[modify] https://crrev.com/a007dced3c5a377af9099761b38a56dbb314ea4d/third_party/WebKit/Source/core/html/HTMLCanvasElement.cpp
[modify] https://crrev.com/a007dced3c5a377af9099761b38a56dbb314ea4d/third_party/WebKit/Source/core/offscreencanvas/BUILD.gn
[modify] https://crrev.com/a007dced3c5a377af9099761b38a56dbb314ea4d/third_party/WebKit/Source/core/offscreencanvas/OffscreenCanvas.cpp

Project Member

Comment 32 by bugdroid1@chromium.org, Oct 7 2017

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

commit 99c4b53bc194d59d6156aa3ac58048a537f7a9ac
Author: Zhenyao Mo <zmo@chromium.org>
Date: Sat Oct 07 01:28:03 2017

Move flash features blacklisting to GPU process.

In order for flash to access blacklist decisions on the renderer side,
this CL adds code to create a sync GPU channel if it doesn't exist already.
This might have performance impact on flash content startup.

BUG=744658
TEST=bots
R=piman@chromium.org

Cq-Include-Trybots: 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: Ic72e7c5ec88997807f0f547d4b2b1e876cf4933b
Reviewed-on: https://chromium-review.googlesource.com/706275
Reviewed-by: Antoine Labour <piman@chromium.org>
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#507255}
[modify] https://crrev.com/99c4b53bc194d59d6156aa3ac58048a537f7a9ac/content/browser/gpu/gpu_data_manager_impl_private.cc
[modify] https://crrev.com/99c4b53bc194d59d6156aa3ac58048a537f7a9ac/content/renderer/pepper/pepper_in_process_resource_creation.cc
[modify] https://crrev.com/99c4b53bc194d59d6156aa3ac58048a537f7a9ac/content/renderer/pepper/plugin_module.cc
[modify] https://crrev.com/99c4b53bc194d59d6156aa3ac58048a537f7a9ac/content/renderer/pepper/ppapi_preferences_builder.cc
[modify] https://crrev.com/99c4b53bc194d59d6156aa3ac58048a537f7a9ac/content/renderer/pepper/ppapi_preferences_builder.h
[modify] https://crrev.com/99c4b53bc194d59d6156aa3ac58048a537f7a9ac/gpu/config/gpu_util.cc

Project Member

Comment 33 by bugdroid1@chromium.org, Oct 12 2017

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

commit 04ea0f07e9106556edd6083bb8f2e2ee4523bccf
Author: Zhenyao Mo <zmo@chromium.org>
Date: Thu Oct 12 01:15:54 2017

Upstream GpuFeatureInfo access to ContextProvider.

Because we need it for removing a few incorrect workarounds added to Capabilities.

Also, clean up an unnecessary copy of GpuDriverBugWorkarounds.

BUG=744658
TEST=bots
R=piman@chromium.org

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: Ibd3389ad2f120b4d161163e45a0a534a07a575b2
Reviewed-on: https://chromium-review.googlesource.com/713736
Reviewed-by: Antoine Labour <piman@chromium.org>
Reviewed-by: Bo <boliu@chromium.org>
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#508195}
[modify] https://crrev.com/04ea0f07e9106556edd6083bb8f2e2ee4523bccf/android_webview/browser/aw_render_thread_context_provider.cc
[modify] https://crrev.com/04ea0f07e9106556edd6083bb8f2e2ee4523bccf/android_webview/browser/aw_render_thread_context_provider.h
[modify] https://crrev.com/04ea0f07e9106556edd6083bb8f2e2ee4523bccf/cc/DEPS
[modify] https://crrev.com/04ea0f07e9106556edd6083bb8f2e2ee4523bccf/cc/raster/raster_buffer_provider_perftest.cc
[modify] https://crrev.com/04ea0f07e9106556edd6083bb8f2e2ee4523bccf/cc/test/test_context_provider.cc
[modify] https://crrev.com/04ea0f07e9106556edd6083bb8f2e2ee4523bccf/cc/test/test_context_provider.h
[modify] https://crrev.com/04ea0f07e9106556edd6083bb8f2e2ee4523bccf/cc/test/test_in_process_context_provider.cc
[modify] https://crrev.com/04ea0f07e9106556edd6083bb8f2e2ee4523bccf/cc/test/test_in_process_context_provider.h
[modify] https://crrev.com/04ea0f07e9106556edd6083bb8f2e2ee4523bccf/components/viz/common/gpu/DEPS
[modify] https://crrev.com/04ea0f07e9106556edd6083bb8f2e2ee4523bccf/components/viz/common/gpu/context_provider.h
[modify] https://crrev.com/04ea0f07e9106556edd6083bb8f2e2ee4523bccf/components/viz/common/gpu/in_process_context_provider.cc
[modify] https://crrev.com/04ea0f07e9106556edd6083bb8f2e2ee4523bccf/components/viz/common/gpu/in_process_context_provider.h
[modify] https://crrev.com/04ea0f07e9106556edd6083bb8f2e2ee4523bccf/gpu/ipc/gl_in_process_context.cc
[modify] https://crrev.com/04ea0f07e9106556edd6083bb8f2e2ee4523bccf/gpu/ipc/gl_in_process_context.h
[modify] https://crrev.com/04ea0f07e9106556edd6083bb8f2e2ee4523bccf/gpu/ipc/in_process_command_buffer.cc
[modify] https://crrev.com/04ea0f07e9106556edd6083bb8f2e2ee4523bccf/gpu/ipc/in_process_command_buffer.h
[modify] https://crrev.com/04ea0f07e9106556edd6083bb8f2e2ee4523bccf/services/ui/public/cpp/gpu/context_provider_command_buffer.h
[modify] https://crrev.com/04ea0f07e9106556edd6083bb8f2e2ee4523bccf/ui/compositor/test/in_process_context_provider.cc
[modify] https://crrev.com/04ea0f07e9106556edd6083bb8f2e2ee4523bccf/ui/compositor/test/in_process_context_provider.h

Comment 34 by zmo@chromium.org, Oct 12 2017

Blocking: 774000

Comment 35 by zmo@chromium.org, Oct 12 2017

Blockedon: 774157
Project Member

Comment 36 by bugdroid1@chromium.org, Oct 12 2017

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

commit fc5c7b84169364294e4010e5dae5c6675c7a5165
Author: Zhenyao Mo <zmo@chromium.org>
Date: Thu Oct 12 22:08:17 2017

Remove driver bug workarounds from Capabilities.

It's a hack way to share these info bits from GPU to Renderer through
Capabilities. Now we share properly through GpuFeatureInfo, these bits
in Capabilities are just duplicates and should be removed.

BUG=744658
TEST=bots
R=piman@chromium.org,kbr@chromium.org

Cq-Include-Trybots: 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: I6b68cd902617127561e6469179bd2d447d08eba8
Reviewed-on: https://chromium-review.googlesource.com/714156
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#508495}
[modify] https://crrev.com/fc5c7b84169364294e4010e5dae5c6675c7a5165/content/browser/compositor/gpu_process_transport_factory.cc
[modify] https://crrev.com/fc5c7b84169364294e4010e5dae5c6675c7a5165/gpu/command_buffer/common/capabilities.h
[modify] https://crrev.com/fc5c7b84169364294e4010e5dae5c6675c7a5165/gpu/command_buffer/service/gles2_cmd_decoder.cc
[modify] https://crrev.com/fc5c7b84169364294e4010e5dae5c6675c7a5165/gpu/ipc/common/gpu_command_buffer_traits_multi.h
[modify] https://crrev.com/fc5c7b84169364294e4010e5dae5c6675c7a5165/third_party/WebKit/Source/platform/graphics/gpu/DEPS
[modify] https://crrev.com/fc5c7b84169364294e4010e5dae5c6675c7a5165/third_party/WebKit/Source/platform/graphics/gpu/DrawingBuffer.cpp
[modify] https://crrev.com/fc5c7b84169364294e4010e5dae5c6675c7a5165/third_party/WebKit/Source/platform/graphics/gpu/SharedGpuContext.cpp

Comment 37 by zmo@chromium.org, Oct 18 2017

Blocking: 766190
Project Member

Comment 38 by bugdroid1@chromium.org, Oct 24 2017

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

commit 0728a85617eae06098373349af80c28ce26b60fd
Author: Zhenyao Mo <zmo@chromium.org>
Date: Tue Oct 24 11:16:56 2017

One step further into moving GPU feature decisions to GPU process

1) Implement all feature status computation on GPU prcocess.
2) Try to use the GpuFeatureInfo returned from GPU process on the browser side
   as much as we can.

After this CL, the only blocking place that still uses the old browser side
computed feature status is for panel fitting status in
ash/content/gpu_support_impl.cc.

BUG=744658
TEST=bots
R=piman@chromium.org
TBR=rdevlin.cronin@chromium.org

Cq-Include-Trybots: 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: I296fb9dbfad960699b6482deccb5029ed296fe67
Reviewed-on: https://chromium-review.googlesource.com/732623
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#511089}
[modify] https://crrev.com/0728a85617eae06098373349af80c28ce26b60fd/chrome/browser/extensions/api/webstore_private/webstore_private_apitest.cc
[modify] https://crrev.com/0728a85617eae06098373349af80c28ce26b60fd/content/browser/devtools/protocol/system_info_handler.cc
[modify] https://crrev.com/0728a85617eae06098373349af80c28ce26b60fd/content/browser/gpu/compositor_util.cc
[modify] https://crrev.com/0728a85617eae06098373349af80c28ce26b60fd/content/browser/gpu/compositor_util.h
[modify] https://crrev.com/0728a85617eae06098373349af80c28ce26b60fd/content/browser/gpu/gpu_data_manager_impl.cc
[modify] https://crrev.com/0728a85617eae06098373349af80c28ce26b60fd/content/browser/gpu/gpu_data_manager_impl.h
[modify] https://crrev.com/0728a85617eae06098373349af80c28ce26b60fd/content/browser/gpu/gpu_data_manager_impl_private.cc
[modify] https://crrev.com/0728a85617eae06098373349af80c28ce26b60fd/content/browser/gpu/gpu_data_manager_impl_private.h
[modify] https://crrev.com/0728a85617eae06098373349af80c28ce26b60fd/content/browser/gpu/gpu_data_manager_testing_arrays_and_structs_autogen.h
[modify] https://crrev.com/0728a85617eae06098373349af80c28ce26b60fd/content/browser/gpu/gpu_feature_checker_impl.cc
[modify] https://crrev.com/0728a85617eae06098373349af80c28ce26b60fd/content/browser/gpu/gpu_process_host.cc
[modify] https://crrev.com/0728a85617eae06098373349af80c28ce26b60fd/content/browser/resources/gpu/info_view.js
[modify] https://crrev.com/0728a85617eae06098373349af80c28ce26b60fd/content/public/browser/gpu_data_manager.h
[modify] https://crrev.com/0728a85617eae06098373349af80c28ce26b60fd/content/test/gpu/gpu_tests/gpu_process_expectations.py
[modify] https://crrev.com/0728a85617eae06098373349af80c28ce26b60fd/content/test/gpu/gpu_tests/gpu_process_integration_test.py
[modify] https://crrev.com/0728a85617eae06098373349af80c28ce26b60fd/gpu/config/gpu_blacklist.cc
[modify] https://crrev.com/0728a85617eae06098373349af80c28ce26b60fd/gpu/config/gpu_blacklist_unittest.cc
[modify] https://crrev.com/0728a85617eae06098373349af80c28ce26b60fd/gpu/config/gpu_feature_type.h
[modify] https://crrev.com/0728a85617eae06098373349af80c28ce26b60fd/gpu/config/gpu_util.cc
[modify] https://crrev.com/0728a85617eae06098373349af80c28ce26b60fd/gpu/config/software_rendering_list.json

Comment 39 by kbr@chromium.org, Oct 27 2017

Blockedon: 778680 778806
The CL above seems to have broken GPU info collection in Telemetry in some cases and it doesn't revert cleanly any more: https://chromium-review.googlesource.com/741184 . Mo, could you take Issue 778680 and Issue 778806?

Comment 40 by zmo@chromium.org, Oct 27 2017

I think I understand why.  I have a CL with one line fix. I'll upload it for review right now.

Comment 41 by zmo@chromium.org, Oct 27 2017

https://chromium-review.googlesource.com/c/chromium/src/+/742281

If this is the fix, then before we are doing really inefficient things.

In https://chromium-review.googlesource.com/c/chromium/src/+/732623/13/content/browser/devtools/protocol/system_info_handler.cc

I removed the line: RequestCompleteGpuInfoIfNeeded(). If that caused SystenInfoHandler never receiving a GPUInfo update on Windows, that means before we have to wait on Windows for the DirectX Diagnostic information to be collected (Complete GPUInfo) to return.

I think my fix (if it works) will speed up things quite a bit because right now we only wait until GPU process start to come back with GpuFeatureInfo.
Project Member

Comment 42 by bugdroid1@chromium.org, Oct 27 2017

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

commit ed8968af9be02f53c33959dfd32518b36a4f8ffc
Author: Zhenyao Mo <zmo@chromium.org>
Date: Fri Oct 27 21:05:32 2017

Attempt to fix SystemInfoHandler regression.

There is a racing, that when we register an GPUInfo update observer, the GPU process already launched and sent back the GPUInfo and GpuFeatureInfo, so the observer is never called.

I think this will likely fix the regression.

Regardless, this is what we should do.

BUG=778680,744658
TEST=bots
R=piman@chromium.org,nednguyen@chromium.org

Change-Id: I32d0267fe4df96323b18619febb669c7fe2d5408
Reviewed-on: https://chromium-review.googlesource.com/742281
Reviewed-by: Antoine Labour <piman@chromium.org>
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#512277}
[modify] https://crrev.com/ed8968af9be02f53c33959dfd32518b36a4f8ffc/content/browser/devtools/protocol/system_info_handler.cc

Project Member

Comment 43 by bugdroid1@chromium.org, Oct 30 2017

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

commit 77604d4d295b16c91b935c0a3e035a574532a497
Author: Zhenyao Mo <zmo@chromium.org>
Date: Mon Oct 30 03:22:48 2017

Call UpdateGPUInfo and UpdateGpuFeatureInfo always on GPU process launch.

Otherwise event observer like SystemInfoHandler could be stuck and time out.

BUG=778680,744658
TEST=bots, perf tests
TBR=piman@chromium.org,kbr@chromium.org,nednguyen@chromium.org

Cq-Include-Trybots: 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: I35dbc51f83ff1f1592e46152ec4a5c47f8b4376a
Reviewed-on: https://chromium-review.googlesource.com/743041
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#512435}
[modify] https://crrev.com/77604d4d295b16c91b935c0a3e035a574532a497/content/browser/devtools/protocol/system_info_handler.cc
[modify] https://crrev.com/77604d4d295b16c91b935c0a3e035a574532a497/content/browser/gpu/gpu_process_host.cc
[modify] https://crrev.com/77604d4d295b16c91b935c0a3e035a574532a497/content/test/gpu/gpu_tests/gpu_process_expectations.py

Project Member

Comment 44 by bugdroid1@chromium.org, Oct 30 2017

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

commit 39d8a7f229e1330e72724895eb4730b7108e47a0
Author: Zhenyao Mo <zmo@chromium.org>
Date: Mon Oct 30 13:45:42 2017

Revert "One step further into moving GPU feature decisions to GPU process"

This reverts commit 0728a85617eae06098373349af80c28ce26b60fd.

Revert "Attempt to fix SystemInfoHandler regression."

This reverts commit ed8968af9be02f53c33959dfd32518b36a4f8ffc.

Revert "Call UpdateGPUInfo and UpdateGpuFeatureInfo always on GPU process launch."

This reverts commit 77604d4d295b16c91b935c0a3e035a574532a497.

Bug=778680,744658
TEST=bots,perf bots (win)
TBR=piman@chromium.org,kbr@chromium.org,nednguyen@chromium.org

Cq-Include-Trybots: 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: I7ebcb6335dff91fc396225800ebe72cb17d07ae7
Reviewed-on: https://chromium-review.googlesource.com/743741
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#512485}
[modify] https://crrev.com/39d8a7f229e1330e72724895eb4730b7108e47a0/chrome/browser/extensions/api/webstore_private/webstore_private_apitest.cc
[modify] https://crrev.com/39d8a7f229e1330e72724895eb4730b7108e47a0/content/browser/devtools/protocol/system_info_handler.cc
[modify] https://crrev.com/39d8a7f229e1330e72724895eb4730b7108e47a0/content/browser/gpu/compositor_util.cc
[modify] https://crrev.com/39d8a7f229e1330e72724895eb4730b7108e47a0/content/browser/gpu/compositor_util.h
[modify] https://crrev.com/39d8a7f229e1330e72724895eb4730b7108e47a0/content/browser/gpu/gpu_data_manager_impl.cc
[modify] https://crrev.com/39d8a7f229e1330e72724895eb4730b7108e47a0/content/browser/gpu/gpu_data_manager_impl.h
[modify] https://crrev.com/39d8a7f229e1330e72724895eb4730b7108e47a0/content/browser/gpu/gpu_data_manager_impl_private.cc
[modify] https://crrev.com/39d8a7f229e1330e72724895eb4730b7108e47a0/content/browser/gpu/gpu_data_manager_impl_private.h
[modify] https://crrev.com/39d8a7f229e1330e72724895eb4730b7108e47a0/content/browser/gpu/gpu_data_manager_testing_arrays_and_structs_autogen.h
[modify] https://crrev.com/39d8a7f229e1330e72724895eb4730b7108e47a0/content/browser/gpu/gpu_feature_checker_impl.cc
[modify] https://crrev.com/39d8a7f229e1330e72724895eb4730b7108e47a0/content/browser/gpu/gpu_process_host.cc
[modify] https://crrev.com/39d8a7f229e1330e72724895eb4730b7108e47a0/content/browser/resources/gpu/info_view.js
[modify] https://crrev.com/39d8a7f229e1330e72724895eb4730b7108e47a0/content/public/browser/gpu_data_manager.h
[modify] https://crrev.com/39d8a7f229e1330e72724895eb4730b7108e47a0/content/test/gpu/gpu_tests/gpu_process_expectations.py
[modify] https://crrev.com/39d8a7f229e1330e72724895eb4730b7108e47a0/content/test/gpu/gpu_tests/gpu_process_integration_test.py
[modify] https://crrev.com/39d8a7f229e1330e72724895eb4730b7108e47a0/gpu/config/gpu_blacklist.cc
[modify] https://crrev.com/39d8a7f229e1330e72724895eb4730b7108e47a0/gpu/config/gpu_blacklist_unittest.cc
[modify] https://crrev.com/39d8a7f229e1330e72724895eb4730b7108e47a0/gpu/config/gpu_feature_type.h
[modify] https://crrev.com/39d8a7f229e1330e72724895eb4730b7108e47a0/gpu/config/gpu_util.cc
[modify] https://crrev.com/39d8a7f229e1330e72724895eb4730b7108e47a0/gpu/config/software_rendering_list.json

Project Member

Comment 45 by bugdroid1@chromium.org, Nov 3 2017

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

commit 96b174a1935e8385ff851235c6ab8109e1337119
Author: Zhenyao Mo <zmo@chromium.org>
Date: Fri Nov 03 11:47:40 2017

Move GPU compositing blacklisting to GPU process.

BUG=744658
TEST=bots
R=danakj@chromium.org,piman@chromium.org
NOTRY=true

Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2;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: Ib8402f878cdc5a613214b0a17ed43ea61c33fdf7
Reviewed-on: https://chromium-review.googlesource.com/740621
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: danakj <danakj@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#513747}
[modify] https://crrev.com/96b174a1935e8385ff851235c6ab8109e1337119/content/browser/browser_main_loop.cc
[modify] https://crrev.com/96b174a1935e8385ff851235c6ab8109e1337119/content/browser/compositor/gpu_process_transport_factory.cc
[modify] https://crrev.com/96b174a1935e8385ff851235c6ab8109e1337119/content/browser/compositor/gpu_process_transport_factory.h
[modify] https://crrev.com/96b174a1935e8385ff851235c6ab8109e1337119/content/browser/compositor/image_transport_factory_browsertest.cc
[modify] https://crrev.com/96b174a1935e8385ff851235c6ab8109e1337119/content/browser/gpu/gpu_data_manager_impl.cc
[modify] https://crrev.com/96b174a1935e8385ff851235c6ab8109e1337119/content/browser/gpu/gpu_data_manager_impl.h
[modify] https://crrev.com/96b174a1935e8385ff851235c6ab8109e1337119/content/browser/gpu/gpu_data_manager_impl_private.cc
[modify] https://crrev.com/96b174a1935e8385ff851235c6ab8109e1337119/content/browser/gpu/gpu_data_manager_impl_private.h
[modify] https://crrev.com/96b174a1935e8385ff851235c6ab8109e1337119/content/browser/renderer_host/render_widget_host_view_browsertest.cc
[modify] https://crrev.com/96b174a1935e8385ff851235c6ab8109e1337119/content/public/browser/gpu_data_manager.h
[modify] https://crrev.com/96b174a1935e8385ff851235c6ab8109e1337119/content/renderer/pepper/ppb_graphics_3d_impl.cc
[modify] https://crrev.com/96b174a1935e8385ff851235c6ab8109e1337119/content/test/gpu/gpu_tests/gpu_process_expectations.py
[modify] https://crrev.com/96b174a1935e8385ff851235c6ab8109e1337119/gpu/config/gpu_util.cc

Project Member

Comment 46 by bugdroid1@chromium.org, Nov 3 2017

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

commit fab3396a1ca5cec230b221427d195f0bbd523153
Author: Sky Malice <skym@chromium.org>
Date: Fri Nov 03 18:06:56 2017

Revert "Move GPU compositing blacklisting to GPU process."

This reverts commit 96b174a1935e8385ff851235c6ab8109e1337119.

Reason for revert: https://build.chromium.org/p/chromium.linux/builders/Linux%20Tests%20%28dbg%29%281%29/builds/67970

Original change's description:
> Move GPU compositing blacklisting to GPU process.
> 
> BUG=744658
> TEST=bots
> R=​danakj@chromium.org,piman@chromium.org
> NOTRY=true
> 
> Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2;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: Ib8402f878cdc5a613214b0a17ed43ea61c33fdf7
> Reviewed-on: https://chromium-review.googlesource.com/740621
> Commit-Queue: Zhenyao Mo <zmo@chromium.org>
> Reviewed-by: danakj <danakj@chromium.org>
> Reviewed-by: Antoine Labour <piman@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#513747}

TBR=danakj@chromium.org,zmo@chromium.org,junov@chromium.org,piman@chromium.org

Change-Id: Ieb863d34e04744316278ebde060355839a9b6974
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 744658
Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2;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
Reviewed-on: https://chromium-review.googlesource.com/754064
Reviewed-by: Sky Malice <skym@chromium.org>
Commit-Queue: Sky Malice <skym@chromium.org>
Cr-Commit-Position: refs/heads/master@{#513837}
[modify] https://crrev.com/fab3396a1ca5cec230b221427d195f0bbd523153/content/browser/browser_main_loop.cc
[modify] https://crrev.com/fab3396a1ca5cec230b221427d195f0bbd523153/content/browser/compositor/gpu_process_transport_factory.cc
[modify] https://crrev.com/fab3396a1ca5cec230b221427d195f0bbd523153/content/browser/compositor/gpu_process_transport_factory.h
[modify] https://crrev.com/fab3396a1ca5cec230b221427d195f0bbd523153/content/browser/compositor/image_transport_factory_browsertest.cc
[modify] https://crrev.com/fab3396a1ca5cec230b221427d195f0bbd523153/content/browser/gpu/gpu_data_manager_impl.cc
[modify] https://crrev.com/fab3396a1ca5cec230b221427d195f0bbd523153/content/browser/gpu/gpu_data_manager_impl.h
[modify] https://crrev.com/fab3396a1ca5cec230b221427d195f0bbd523153/content/browser/gpu/gpu_data_manager_impl_private.cc
[modify] https://crrev.com/fab3396a1ca5cec230b221427d195f0bbd523153/content/browser/gpu/gpu_data_manager_impl_private.h
[modify] https://crrev.com/fab3396a1ca5cec230b221427d195f0bbd523153/content/browser/renderer_host/render_widget_host_view_browsertest.cc
[modify] https://crrev.com/fab3396a1ca5cec230b221427d195f0bbd523153/content/public/browser/gpu_data_manager.h
[modify] https://crrev.com/fab3396a1ca5cec230b221427d195f0bbd523153/content/renderer/pepper/ppb_graphics_3d_impl.cc
[modify] https://crrev.com/fab3396a1ca5cec230b221427d195f0bbd523153/content/test/gpu/gpu_tests/gpu_process_expectations.py
[modify] https://crrev.com/fab3396a1ca5cec230b221427d195f0bbd523153/gpu/config/gpu_util.cc

Project Member

Comment 47 by bugdroid1@chromium.org, Nov 9 2017

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

commit 1202f66559ca7e37f643a691cac72144ab60493f
Author: Zhenyao Mo <zmo@chromium.org>
Date: Thu Nov 09 00:45:05 2017

[reland] Move GPU compositing blacklisting to GPU process.

Originally reviewed on https://chromium-review.googlesource.com/740621

This is relanding plus fixing the racing documented in crbug.com/781349

BUG=744658,781349
TEST=bots
R=danakj@chromium.org,piman@chromium.org

Cq-Include-Trybots: 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: If050057299a17ab76ee247c5c790a4e159ffef9d
Reviewed-on: https://chromium-review.googlesource.com/755520
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: danakj <danakj@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#515036}
[modify] https://crrev.com/1202f66559ca7e37f643a691cac72144ab60493f/content/browser/browser_main_loop.cc
[modify] https://crrev.com/1202f66559ca7e37f643a691cac72144ab60493f/content/browser/compositor/gpu_process_transport_factory.cc
[modify] https://crrev.com/1202f66559ca7e37f643a691cac72144ab60493f/content/browser/compositor/gpu_process_transport_factory.h
[modify] https://crrev.com/1202f66559ca7e37f643a691cac72144ab60493f/content/browser/compositor/image_transport_factory_browsertest.cc
[modify] https://crrev.com/1202f66559ca7e37f643a691cac72144ab60493f/content/browser/gpu/gpu_data_manager_impl.cc
[modify] https://crrev.com/1202f66559ca7e37f643a691cac72144ab60493f/content/browser/gpu/gpu_data_manager_impl.h
[modify] https://crrev.com/1202f66559ca7e37f643a691cac72144ab60493f/content/browser/gpu/gpu_data_manager_impl_private.cc
[modify] https://crrev.com/1202f66559ca7e37f643a691cac72144ab60493f/content/browser/gpu/gpu_data_manager_impl_private.h
[modify] https://crrev.com/1202f66559ca7e37f643a691cac72144ab60493f/content/browser/renderer_host/render_widget_host_view_browsertest.cc
[modify] https://crrev.com/1202f66559ca7e37f643a691cac72144ab60493f/content/public/browser/gpu_data_manager.h
[modify] https://crrev.com/1202f66559ca7e37f643a691cac72144ab60493f/content/renderer/pepper/ppb_graphics_3d_impl.cc
[modify] https://crrev.com/1202f66559ca7e37f643a691cac72144ab60493f/content/test/gpu/gpu_tests/gpu_process_expectations.py
[modify] https://crrev.com/1202f66559ca7e37f643a691cac72144ab60493f/gpu/config/gpu_util.cc
[modify] https://crrev.com/1202f66559ca7e37f643a691cac72144ab60493f/ui/compositor/compositor.cc

Project Member

Comment 48 by bugdroid1@chromium.org, Nov 9 2017

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

commit 4edfe7541ecbff88d0b2e54bccb64cd020aa8b8b
Author: Zhenyao Mo <zmo@chromium.org>
Date: Thu Nov 09 04:22:48 2017

Remove GPU_FEATURE_TYPE_ACCELERATED_VIDEO_ENCODE.

There is an entry in software_rendering_list.json, but no place queries this.

This is relanding part of reviewed CL:
https://chromium-review.googlesource.com/c/chromium/src/+/732623

BUG=744658
TEST=bots
TBR=piman@chromium.org

Cq-Include-Trybots: 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: I1503f111246eb849b5196b7d356473848fb17e2c
Reviewed-on: https://chromium-review.googlesource.com/759678
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#515095}
[modify] https://crrev.com/4edfe7541ecbff88d0b2e54bccb64cd020aa8b8b/content/browser/gpu/compositor_util.cc
[modify] https://crrev.com/4edfe7541ecbff88d0b2e54bccb64cd020aa8b8b/content/browser/gpu/gpu_data_manager_testing_arrays_and_structs_autogen.h
[modify] https://crrev.com/4edfe7541ecbff88d0b2e54bccb64cd020aa8b8b/content/browser/resources/gpu/info_view.js
[modify] https://crrev.com/4edfe7541ecbff88d0b2e54bccb64cd020aa8b8b/gpu/config/gpu_blacklist.cc
[modify] https://crrev.com/4edfe7541ecbff88d0b2e54bccb64cd020aa8b8b/gpu/config/gpu_blacklist_unittest.cc
[modify] https://crrev.com/4edfe7541ecbff88d0b2e54bccb64cd020aa8b8b/gpu/config/gpu_feature_type.h
[modify] https://crrev.com/4edfe7541ecbff88d0b2e54bccb64cd020aa8b8b/gpu/config/gpu_util.cc
[modify] https://crrev.com/4edfe7541ecbff88d0b2e54bccb64cd020aa8b8b/gpu/config/software_rendering_list.json

Comment 49 by zmo@chromium.org, Dec 11 2017

Blocking: 793845
Blocking: 522133
Project Member

Comment 51 by bugdroid1@chromium.org, Dec 14 2017

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

commit ad0565be7d87893cf2d94c6a8abb78aca4553fe7
Author: Zhenyao Mo <zmo@chromium.org>
Date: Thu Dec 14 19:17:41 2017

Get rid of GpuDataManagerImpl::UpdateRendererPrefs().

BUG=744658
TEST=bots
R=piman@chromium.org,danakj@chromium.org,junov@chromium.org,dcheng@chromium.org

Cq-Include-Trybots: 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: I0f75939f5996ad0767214ba817344639332f1f18
Reviewed-on: https://chromium-review.googlesource.com/826252
Reviewed-by: Antoine Labour <piman@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: danakj <danakj@chromium.org>
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#524137}
[modify] https://crrev.com/ad0565be7d87893cf2d94c6a8abb78aca4553fe7/content/browser/gpu/gpu_data_manager_impl.cc
[modify] https://crrev.com/ad0565be7d87893cf2d94c6a8abb78aca4553fe7/content/browser/gpu/gpu_data_manager_impl.h
[modify] https://crrev.com/ad0565be7d87893cf2d94c6a8abb78aca4553fe7/content/browser/gpu/gpu_data_manager_impl_private.cc
[modify] https://crrev.com/ad0565be7d87893cf2d94c6a8abb78aca4553fe7/content/browser/gpu/gpu_data_manager_impl_private.h
[modify] https://crrev.com/ad0565be7d87893cf2d94c6a8abb78aca4553fe7/content/browser/renderer_host/render_view_host_impl.cc
[modify] https://crrev.com/ad0565be7d87893cf2d94c6a8abb78aca4553fe7/content/public/common/common_param_traits_macros.h
[modify] https://crrev.com/ad0565be7d87893cf2d94c6a8abb78aca4553fe7/content/public/common/web_preferences.cc
[modify] https://crrev.com/ad0565be7d87893cf2d94c6a8abb78aca4553fe7/content/public/common/web_preferences.h
[modify] https://crrev.com/ad0565be7d87893cf2d94c6a8abb78aca4553fe7/content/renderer/pepper/ppapi_preferences_builder.cc
[modify] https://crrev.com/ad0565be7d87893cf2d94c6a8abb78aca4553fe7/gpu/config/gpu_util.cc
[modify] https://crrev.com/ad0565be7d87893cf2d94c6a8abb78aca4553fe7/third_party/WebKit/Source/core/offscreencanvas/OffscreenCanvas.cpp

Project Member

Comment 52 by bugdroid1@chromium.org, Dec 15 2017

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

commit 16d39b876bdf2560e499afe4625d02da76d3cd44
Author: Zhenyao Mo <zmo@chromium.org>
Date: Fri Dec 15 22:48:04 2017

Get rid of GL string cache on non-Android platform

and no longer blacklist GPU access if preliminary GPU feature decisions differ
from full info decisions.

The reason we can do this now, is because the only GPU feature check that's not
from GPU process is kDisableAcceleratedVideoDecode on Android. There is no
decision difference on Android between preliminary and full info.

This should get quite a few Windows machines putting to SwiftShader back to
GPU acceleration.

BUG=744658,764290,766190,774000,793845
TEST=bots
R=piman@chromium.org,kbr@chromium.org

Cq-Include-Trybots: 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: I3fae7ff326a9cf2ea5b23c56261cb3139416a38f
Reviewed-on: https://chromium-review.googlesource.com/828040
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#524497}
[modify] https://crrev.com/16d39b876bdf2560e499afe4625d02da76d3cd44/chrome/browser/BUILD.gn
[modify] https://crrev.com/16d39b876bdf2560e499afe4625d02da76d3cd44/chrome/browser/browser_process.h
[modify] https://crrev.com/16d39b876bdf2560e499afe4625d02da76d3cd44/chrome/browser/browser_process_impl.cc
[modify] https://crrev.com/16d39b876bdf2560e499afe4625d02da76d3cd44/chrome/browser/browser_process_impl.h
[modify] https://crrev.com/16d39b876bdf2560e499afe4625d02da76d3cd44/chrome/browser/chrome_browser_main.cc
[delete] https://crrev.com/c0e53b734bb3b198e7fece89b477467d84102aa2/chrome/browser/gpu/gl_string_manager.cc
[delete] https://crrev.com/c0e53b734bb3b198e7fece89b477467d84102aa2/chrome/browser/gpu/gl_string_manager.h
[modify] https://crrev.com/16d39b876bdf2560e499afe4625d02da76d3cd44/chrome/browser/gpu/gpu_driver_info_manager_android.cc
[modify] https://crrev.com/16d39b876bdf2560e499afe4625d02da76d3cd44/chrome/browser/gpu/gpu_driver_info_manager_android.h
[delete] https://crrev.com/c0e53b734bb3b198e7fece89b477467d84102aa2/chrome/browser/gpu/gpu_profile_cache.h
[modify] https://crrev.com/16d39b876bdf2560e499afe4625d02da76d3cd44/chrome/browser/prefs/browser_prefs.cc
[modify] https://crrev.com/16d39b876bdf2560e499afe4625d02da76d3cd44/chrome/test/base/testing_browser_process.cc
[modify] https://crrev.com/16d39b876bdf2560e499afe4625d02da76d3cd44/chrome/test/base/testing_browser_process.h
[modify] https://crrev.com/16d39b876bdf2560e499afe4625d02da76d3cd44/content/browser/gpu/gpu_data_manager_impl.cc
[modify] https://crrev.com/16d39b876bdf2560e499afe4625d02da76d3cd44/content/browser/gpu/gpu_data_manager_impl.h
[modify] https://crrev.com/16d39b876bdf2560e499afe4625d02da76d3cd44/content/browser/gpu/gpu_data_manager_impl_private.cc
[modify] https://crrev.com/16d39b876bdf2560e499afe4625d02da76d3cd44/content/browser/gpu/gpu_data_manager_impl_private.h
[modify] https://crrev.com/16d39b876bdf2560e499afe4625d02da76d3cd44/content/browser/gpu/gpu_data_manager_impl_private_unittest.cc
[modify] https://crrev.com/16d39b876bdf2560e499afe4625d02da76d3cd44/content/public/browser/gpu_data_manager.h
[modify] https://crrev.com/16d39b876bdf2560e499afe4625d02da76d3cd44/content/renderer/render_thread_impl.cc
[modify] https://crrev.com/16d39b876bdf2560e499afe4625d02da76d3cd44/content/test/gpu/gpu_tests/gpu_process_expectations.py

Project Member

Comment 53 by bugdroid1@chromium.org, Dec 19 2017

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

commit f920e13ac4b3b345e20c70d113d0874176a17106
Author: Zhenyao Mo <zmo@chromium.org>
Date: Tue Dec 19 20:16:50 2017

Shift Telemetry and about:gpu to use GpuFeatureInfo.

So we can retire the old data structure soon.

Also, this CL makes Telemetry crash if Chrome doesn't send GPU data back in 5s.

BUG=744658
TEST=bots
R=kbr@chromium.org,piman@chromium.org

Cq-Include-Trybots: 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: Iae1ddb56c5681934b17f3539f070d0c1a15e9f80
Reviewed-on: https://chromium-review.googlesource.com/832933
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#525124}
[modify] https://crrev.com/f920e13ac4b3b345e20c70d113d0874176a17106/content/browser/devtools/protocol/system_info_handler.cc
[modify] https://crrev.com/f920e13ac4b3b345e20c70d113d0874176a17106/content/browser/gpu/compositor_util.cc
[modify] https://crrev.com/f920e13ac4b3b345e20c70d113d0874176a17106/content/browser/gpu/compositor_util.h
[modify] https://crrev.com/f920e13ac4b3b345e20c70d113d0874176a17106/content/browser/gpu/gpu_data_manager_impl.cc
[modify] https://crrev.com/f920e13ac4b3b345e20c70d113d0874176a17106/content/browser/gpu/gpu_data_manager_impl.h
[modify] https://crrev.com/f920e13ac4b3b345e20c70d113d0874176a17106/content/browser/gpu/gpu_data_manager_impl_private.cc
[modify] https://crrev.com/f920e13ac4b3b345e20c70d113d0874176a17106/content/browser/gpu/gpu_data_manager_impl_private.h
[modify] https://crrev.com/f920e13ac4b3b345e20c70d113d0874176a17106/content/browser/gpu/gpu_process_host.cc
[modify] https://crrev.com/f920e13ac4b3b345e20c70d113d0874176a17106/content/test/gpu/gpu_tests/gpu_process_expectations.py
[modify] https://crrev.com/f920e13ac4b3b345e20c70d113d0874176a17106/content/test/gpu/gpu_tests/gpu_process_integration_test.py
[modify] https://crrev.com/f920e13ac4b3b345e20c70d113d0874176a17106/gpu/config/gpu_feature_info.cc
[modify] https://crrev.com/f920e13ac4b3b345e20c70d113d0874176a17106/gpu/config/gpu_feature_info.h
[modify] https://crrev.com/f920e13ac4b3b345e20c70d113d0874176a17106/gpu/config/gpu_util.cc
[modify] https://crrev.com/f920e13ac4b3b345e20c70d113d0874176a17106/gpu/config/gpu_util.h

Comment 54 by kbr@chromium.org, Dec 20 2017

Blockedon: 796386

Comment 55 by kbr@chromium.org, Dec 20 2017

Blockedon: 796437
Project Member

Comment 56 by bugdroid1@chromium.org, Dec 20 2017

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

commit e0a06a4c1eb057f9d54eda08f1eb5ff2360c74e3
Author: Zhenyao Mo <zmo@chromium.org>
Date: Wed Dec 20 17:14:08 2017

Move more status checking to GpuFeatureInfo.

And delete functions that become obsolete.

BUG=744658
TEST=bots
R=piman@chromium.org,kbr@chromium.org
TBR=asargent@chromium.org

Change-Id: Ib840edfb89b904a8972cbdd441ed3a4fc1d39e48
Reviewed-on: https://chromium-review.googlesource.com/835272
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#525354}
[modify] https://crrev.com/e0a06a4c1eb057f9d54eda08f1eb5ff2360c74e3/chrome/browser/extensions/api/webstore_private/webstore_private_apitest.cc
[modify] https://crrev.com/e0a06a4c1eb057f9d54eda08f1eb5ff2360c74e3/content/browser/gpu/gpu_data_manager_impl.cc
[modify] https://crrev.com/e0a06a4c1eb057f9d54eda08f1eb5ff2360c74e3/content/browser/gpu/gpu_data_manager_impl.h
[modify] https://crrev.com/e0a06a4c1eb057f9d54eda08f1eb5ff2360c74e3/content/browser/gpu/gpu_data_manager_impl_private.cc
[modify] https://crrev.com/e0a06a4c1eb057f9d54eda08f1eb5ff2360c74e3/content/browser/gpu/gpu_data_manager_impl_private.h
[modify] https://crrev.com/e0a06a4c1eb057f9d54eda08f1eb5ff2360c74e3/content/browser/gpu/gpu_data_manager_impl_private_unittest.cc
[modify] https://crrev.com/e0a06a4c1eb057f9d54eda08f1eb5ff2360c74e3/content/browser/gpu/gpu_feature_checker_impl.cc
[modify] https://crrev.com/e0a06a4c1eb057f9d54eda08f1eb5ff2360c74e3/content/public/browser/gpu_data_manager.h

Comment 57 by kbr@chromium.org, Dec 20 2017

Blockedon: 796739

Comment 58 by zmo@chromium.org, Dec 23 2017

Blocking: 793303
Project Member

Comment 59 by bugdroid1@chromium.org, Dec 23 2017

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

commit 5032192afb26a7b0e3acda4c735d1211f97bd52a
Author: Zhenyao Mo <zmo@chromium.org>
Date: Sat Dec 23 00:54:54 2017

Move SwiftShader decision from browser process to GPU process.

Now that we compute blacklisting decision in GPU process, it's natural that
we directly fallback to SwiftShader if we need to in the GPU process.

BUG=744658
TEST=bots,manual
R=piman@chromium.org,kbr@chromium.org,capn@chromium.org,sugoi@chromium.org

Cq-Include-Trybots: 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: Ic38df49d38712baa7d14a41f3fedae565258bd56
Reviewed-on: https://chromium-review.googlesource.com/837735
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Will Harris <wfh@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#526114}
[modify] https://crrev.com/5032192afb26a7b0e3acda4c735d1211f97bd52a/content/browser/gpu/compositor_util.cc
[modify] https://crrev.com/5032192afb26a7b0e3acda4c735d1211f97bd52a/content/browser/gpu/gpu_data_manager_impl.cc
[modify] https://crrev.com/5032192afb26a7b0e3acda4c735d1211f97bd52a/content/browser/gpu/gpu_data_manager_impl.h
[modify] https://crrev.com/5032192afb26a7b0e3acda4c735d1211f97bd52a/content/browser/gpu/gpu_data_manager_impl_private.cc
[modify] https://crrev.com/5032192afb26a7b0e3acda4c735d1211f97bd52a/content/browser/gpu/gpu_data_manager_impl_private.h
[modify] https://crrev.com/5032192afb26a7b0e3acda4c735d1211f97bd52a/content/browser/gpu/gpu_data_manager_impl_private_unittest.cc
[modify] https://crrev.com/5032192afb26a7b0e3acda4c735d1211f97bd52a/content/browser/gpu/gpu_process_host.cc
[modify] https://crrev.com/5032192afb26a7b0e3acda4c735d1211f97bd52a/content/public/browser/gpu_data_manager.h
[modify] https://crrev.com/5032192afb26a7b0e3acda4c735d1211f97bd52a/content/public/browser/gpu_utils.cc
[modify] https://crrev.com/5032192afb26a7b0e3acda4c735d1211f97bd52a/content/test/gpu/gpu_tests/gpu_process_integration_test.py
[modify] https://crrev.com/5032192afb26a7b0e3acda4c735d1211f97bd52a/gpu/command_buffer/service/gpu_preferences.h
[modify] https://crrev.com/5032192afb26a7b0e3acda4c735d1211f97bd52a/gpu/config/gpu_info_collector.cc
[modify] https://crrev.com/5032192afb26a7b0e3acda4c735d1211f97bd52a/gpu/config/gpu_info_collector_win.cc
[modify] https://crrev.com/5032192afb26a7b0e3acda4c735d1211f97bd52a/gpu/config/gpu_util.cc
[modify] https://crrev.com/5032192afb26a7b0e3acda4c735d1211f97bd52a/gpu/config/gpu_util.h
[modify] https://crrev.com/5032192afb26a7b0e3acda4c735d1211f97bd52a/gpu/ipc/common/gpu_preferences.mojom
[modify] https://crrev.com/5032192afb26a7b0e3acda4c735d1211f97bd52a/gpu/ipc/common/gpu_preferences_struct_traits.h
[modify] https://crrev.com/5032192afb26a7b0e3acda4c735d1211f97bd52a/gpu/ipc/common/gpu_preferences_util_unittest.cc
[modify] https://crrev.com/5032192afb26a7b0e3acda4c735d1211f97bd52a/gpu/ipc/service/BUILD.gn
[modify] https://crrev.com/5032192afb26a7b0e3acda4c735d1211f97bd52a/gpu/ipc/service/gpu_init.cc
[modify] https://crrev.com/5032192afb26a7b0e3acda4c735d1211f97bd52a/gpu/ipc/service/gpu_init.h

Comment 60 by kbr@chromium.org, Jan 3 2018

Blockedon: 798344

Comment 61 by capn@chromium.org, Jan 4 2018

Cc: capn@chromium.org
Project Member

Comment 62 by bugdroid1@chromium.org, Jan 11 2018

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

commit acae5998d460612be158ae267386fd3bf565c611
Author: Zhenyao Mo <zmo@chromium.org>
Date: Thu Jan 11 17:28:54 2018

Move 3 gpu blacklist related switches to GpuPreferences

BUG=744658
TEST=bots
R=piman@chromium.org,dcheng@chromium.org

Cq-Include-Trybots: 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: Id8ddf729f8f86e4d45e620e3a5ecd19d5a423abc
Reviewed-on: https://chromium-review.googlesource.com/861049
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Bo <boliu@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#528658}
[modify] https://crrev.com/acae5998d460612be158ae267386fd3bf565c611/android_webview/browser/deferred_gpu_command_service.cc
[modify] https://crrev.com/acae5998d460612be158ae267386fd3bf565c611/content/browser/gpu/gpu_data_manager_impl_private.cc
[modify] https://crrev.com/acae5998d460612be158ae267386fd3bf565c611/content/browser/gpu/gpu_process_host.cc
[modify] https://crrev.com/acae5998d460612be158ae267386fd3bf565c611/content/common/BUILD.gn
[modify] https://crrev.com/acae5998d460612be158ae267386fd3bf565c611/content/common/sandbox_init_mac.cc
[modify] https://crrev.com/acae5998d460612be158ae267386fd3bf565c611/content/public/browser/gpu_utils.cc
[modify] https://crrev.com/acae5998d460612be158ae267386fd3bf565c611/content/test/content_test_suite.cc
[modify] https://crrev.com/acae5998d460612be158ae267386fd3bf565c611/gpu/command_buffer/service/gpu_preferences.h
[modify] https://crrev.com/acae5998d460612be158ae267386fd3bf565c611/gpu/command_buffer/tests/gl_tests_main.cc
[modify] https://crrev.com/acae5998d460612be158ae267386fd3bf565c611/gpu/config/gpu_util.cc
[modify] https://crrev.com/acae5998d460612be158ae267386fd3bf565c611/gpu/config/gpu_util.h
[modify] https://crrev.com/acae5998d460612be158ae267386fd3bf565c611/gpu/config/gpu_util_unittest.cc
[modify] https://crrev.com/acae5998d460612be158ae267386fd3bf565c611/gpu/gles2_conform_support/egl/thread_state.cc
[modify] https://crrev.com/acae5998d460612be158ae267386fd3bf565c611/gpu/ipc/common/gpu_preferences.mojom
[modify] https://crrev.com/acae5998d460612be158ae267386fd3bf565c611/gpu/ipc/common/gpu_preferences_struct_traits.h
[modify] https://crrev.com/acae5998d460612be158ae267386fd3bf565c611/gpu/ipc/common/gpu_preferences_util_unittest.cc
[modify] https://crrev.com/acae5998d460612be158ae267386fd3bf565c611/gpu/ipc/service/gpu_init.cc

Comment 63 by zmo@chromium.org, Jan 11 2018

Blockedon: 801331
Project Member

Comment 64 by bugdroid1@chromium.org, Jan 13 2018

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

commit 2eb1fe55d1eae8c706dd0611561e4f1ccea609fd
Author: Zhenyao Mo <zmo@chromium.org>
Date: Sat Jan 13 05:49:25 2018

Clean up GpuDataManagerImpl{Private} initialization code.

We no longer compute blacklist decisions on browser side except for
Android.

On Android, on the browser side, only check if accelerated_video_decode
is blacklisted.

BUG=744658
TEST=bots
R=piman@chromium.org

Cq-Include-Trybots: 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: Ic0fd14f63700bcbba11897059688452ad743b787
Reviewed-on: https://chromium-review.googlesource.com/861257
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#529167}
[modify] https://crrev.com/2eb1fe55d1eae8c706dd0611561e4f1ccea609fd/content/browser/gpu/gpu_data_manager_impl.cc
[modify] https://crrev.com/2eb1fe55d1eae8c706dd0611561e4f1ccea609fd/content/browser/gpu/gpu_data_manager_impl.h
[modify] https://crrev.com/2eb1fe55d1eae8c706dd0611561e4f1ccea609fd/content/browser/gpu/gpu_data_manager_impl_private.cc
[modify] https://crrev.com/2eb1fe55d1eae8c706dd0611561e4f1ccea609fd/content/browser/gpu/gpu_data_manager_impl_private.h
[modify] https://crrev.com/2eb1fe55d1eae8c706dd0611561e4f1ccea609fd/gpu/config/gpu_blacklist.cc
[modify] https://crrev.com/2eb1fe55d1eae8c706dd0611561e4f1ccea609fd/gpu/config/gpu_blacklist.h
[modify] https://crrev.com/2eb1fe55d1eae8c706dd0611561e4f1ccea609fd/gpu/config/gpu_control_list.cc
[modify] https://crrev.com/2eb1fe55d1eae8c706dd0611561e4f1ccea609fd/gpu/config/gpu_control_list.h
[modify] https://crrev.com/2eb1fe55d1eae8c706dd0611561e4f1ccea609fd/gpu/config/gpu_driver_bug_list.cc
[modify] https://crrev.com/2eb1fe55d1eae8c706dd0611561e4f1ccea609fd/gpu/config/gpu_driver_bug_list.h
[modify] https://crrev.com/2eb1fe55d1eae8c706dd0611561e4f1ccea609fd/gpu/config/gpu_feature_info.cc
[modify] https://crrev.com/2eb1fe55d1eae8c706dd0611561e4f1ccea609fd/gpu/config/gpu_feature_info.h
[modify] https://crrev.com/2eb1fe55d1eae8c706dd0611561e4f1ccea609fd/gpu/config/gpu_util.cc
[modify] https://crrev.com/2eb1fe55d1eae8c706dd0611561e4f1ccea609fd/gpu/ipc/common/gpu_feature_info.mojom
[modify] https://crrev.com/2eb1fe55d1eae8c706dd0611561e4f1ccea609fd/gpu/ipc/common/gpu_feature_info_struct_traits.h

Project Member

Comment 65 by bugdroid1@chromium.org, Jan 19 2018

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

commit c76e903454604c22fb3cebe8a2d3c6f5d403c171
Author: Zhenyao Mo <zmo@chromium.org>
Date: Fri Jan 19 21:15:46 2018

Collect GL strings on Cast through CastContentGpuClient.

BUG=744658
TEST=bots
R=halliwell@chromium.org,piman@chromium.org,kbr@chromium.org

Cq-Include-Trybots: 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: Ib8e4e5e874025d78c7cdc2cc3b7af6c9e20ca9c4
Reviewed-on: https://chromium-review.googlesource.com/874612
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Stephen Lanham <slan@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Reviewed-by: Luke Halliwell <halliwell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#530612}
[modify] https://crrev.com/c76e903454604c22fb3cebe8a2d3c6f5d403c171/chromecast/BUILD.gn
[modify] https://crrev.com/c76e903454604c22fb3cebe8a2d3c6f5d403c171/chromecast/app/BUILD.gn
[modify] https://crrev.com/c76e903454604c22fb3cebe8a2d3c6f5d403c171/chromecast/app/DEPS
[modify] https://crrev.com/c76e903454604c22fb3cebe8a2d3c6f5d403c171/chromecast/app/cast_main_delegate.cc
[modify] https://crrev.com/c76e903454604c22fb3cebe8a2d3c6f5d403c171/chromecast/app/cast_main_delegate.h
[modify] https://crrev.com/c76e903454604c22fb3cebe8a2d3c6f5d403c171/chromecast/browser/cast_browser_main_parts.cc
[add] https://crrev.com/c76e903454604c22fb3cebe8a2d3c6f5d403c171/chromecast/gpu/BUILD.gn
[add] https://crrev.com/c76e903454604c22fb3cebe8a2d3c6f5d403c171/chromecast/gpu/DEPS
[add] https://crrev.com/c76e903454604c22fb3cebe8a2d3c6f5d403c171/chromecast/gpu/cast_content_gpu_client.cc
[add] https://crrev.com/c76e903454604c22fb3cebe8a2d3c6f5d403c171/chromecast/gpu/cast_content_gpu_client.h
[modify] https://crrev.com/c76e903454604c22fb3cebe8a2d3c6f5d403c171/content/browser/gpu/gpu_data_manager_impl.cc
[modify] https://crrev.com/c76e903454604c22fb3cebe8a2d3c6f5d403c171/content/browser/gpu/gpu_data_manager_impl.h
[modify] https://crrev.com/c76e903454604c22fb3cebe8a2d3c6f5d403c171/content/browser/gpu/gpu_data_manager_impl_private.cc
[modify] https://crrev.com/c76e903454604c22fb3cebe8a2d3c6f5d403c171/content/browser/gpu/gpu_data_manager_impl_private.h
[modify] https://crrev.com/c76e903454604c22fb3cebe8a2d3c6f5d403c171/content/browser/gpu/gpu_data_manager_testing.json
[modify] https://crrev.com/c76e903454604c22fb3cebe8a2d3c6f5d403c171/content/browser/gpu/gpu_data_manager_testing_arrays_and_structs_autogen.h
[modify] https://crrev.com/c76e903454604c22fb3cebe8a2d3c6f5d403c171/content/browser/gpu/gpu_data_manager_testing_autogen.cc
[modify] https://crrev.com/c76e903454604c22fb3cebe8a2d3c6f5d403c171/content/browser/gpu/gpu_data_manager_testing_entry_enums_autogen.h
[modify] https://crrev.com/c76e903454604c22fb3cebe8a2d3c6f5d403c171/content/browser/gpu/gpu_data_manager_testing_exceptions_autogen.h
[modify] https://crrev.com/c76e903454604c22fb3cebe8a2d3c6f5d403c171/content/gpu/gpu_main.cc
[modify] https://crrev.com/c76e903454604c22fb3cebe8a2d3c6f5d403c171/content/public/browser/gpu_data_manager.h
[modify] https://crrev.com/c76e903454604c22fb3cebe8a2d3c6f5d403c171/gpu/ipc/service/gpu_init.cc
[modify] https://crrev.com/c76e903454604c22fb3cebe8a2d3c6f5d403c171/gpu/ipc/service/gpu_init.h

Project Member

Comment 66 by bugdroid1@chromium.org, Jan 25 2018

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

commit 59c4139680eeda1589badde1d9d964d8efd3b24d
Author: Zhenyao Mo <zmo@chromium.org>
Date: Thu Jan 25 01:42:30 2018

Move GPU basic info collection to GPU process.

BUG=744658
TEST=bots
R=piman@chromium.org,kbr@chromium.org

Cq-Include-Trybots: 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: I5f212372181469504463841f139505c1c0c313af
Reviewed-on: https://chromium-review.googlesource.com/876523
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Sami Kyöstilä <skyostil@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Luke Halliwell <halliwell@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#531777}
[modify] https://crrev.com/59c4139680eeda1589badde1d9d964d8efd3b24d/chromecast/browser/cast_browser_main_parts.cc
[modify] https://crrev.com/59c4139680eeda1589badde1d9d964d8efd3b24d/content/browser/gpu/gpu_data_manager_impl_private.cc
[modify] https://crrev.com/59c4139680eeda1589badde1d9d964d8efd3b24d/content/common/sandbox_init_mac.cc
[modify] https://crrev.com/59c4139680eeda1589badde1d9d964d8efd3b24d/content/public/common/content_switches.cc
[modify] https://crrev.com/59c4139680eeda1589badde1d9d964d8efd3b24d/content/public/common/content_switches.h
[modify] https://crrev.com/59c4139680eeda1589badde1d9d964d8efd3b24d/content/shell/app/shell_main_delegate.cc
[modify] https://crrev.com/59c4139680eeda1589badde1d9d964d8efd3b24d/content/test/gpu/gpu_tests/cloud_storage_integration_test_base.py
[modify] https://crrev.com/59c4139680eeda1589badde1d9d964d8efd3b24d/content/test/gpu/gpu_tests/gpu_process_integration_test.py
[modify] https://crrev.com/59c4139680eeda1589badde1d9d964d8efd3b24d/content/test/gpu/gpu_tests/pixel_expectations.py
[modify] https://crrev.com/59c4139680eeda1589badde1d9d964d8efd3b24d/content/test/gpu/gpu_tests/pixel_test_pages.py
[modify] https://crrev.com/59c4139680eeda1589badde1d9d964d8efd3b24d/gpu/config/gpu_info_collector.cc
[modify] https://crrev.com/59c4139680eeda1589badde1d9d964d8efd3b24d/gpu/config/gpu_info_collector.h
[modify] https://crrev.com/59c4139680eeda1589badde1d9d964d8efd3b24d/gpu/config/gpu_switches.cc
[modify] https://crrev.com/59c4139680eeda1589badde1d9d964d8efd3b24d/gpu/config/gpu_switches.h
[modify] https://crrev.com/59c4139680eeda1589badde1d9d964d8efd3b24d/gpu/config/gpu_test_config.cc
[modify] https://crrev.com/59c4139680eeda1589badde1d9d964d8efd3b24d/gpu/config/gpu_util.cc
[modify] https://crrev.com/59c4139680eeda1589badde1d9d964d8efd3b24d/gpu/config/gpu_util.h
[modify] https://crrev.com/59c4139680eeda1589badde1d9d964d8efd3b24d/gpu/config/gpu_util_unittest.cc
[modify] https://crrev.com/59c4139680eeda1589badde1d9d964d8efd3b24d/gpu/ipc/service/gpu_init.cc

Project Member

Comment 67 by bugdroid1@chromium.org, Jan 27 2018

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

commit c4f79c349be6b7ce067b1746fa5a90566f87aa16
Author: Zhenyao Mo <zmo@chromium.org>
Date: Sat Jan 27 02:44:13 2018

Remove MergeGPUInfo() and IsCompleteGPUInfoAvailable().

They are no longer necessary now we move everything to GPU side.

Also, remove process_crash_count from GPUInfo because this is valid
in browser process only, but it's mis-used on renderer side.

BUG=744658
TEST=bots
R=kbr@chromium.org,piman@chromium.org

Cq-Include-Trybots: 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: I896c299e72554dae6c9698f56a808425a738c9be
Reviewed-on: https://chromium-review.googlesource.com/887349
Reviewed-by: Will Harris <wfh@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#532133}
[modify] https://crrev.com/c4f79c349be6b7ce067b1746fa5a90566f87aa16/content/browser/devtools/protocol/system_info_handler.cc
[modify] https://crrev.com/c4f79c349be6b7ce067b1746fa5a90566f87aa16/content/browser/gpu/gpu_data_manager_impl.cc
[modify] https://crrev.com/c4f79c349be6b7ce067b1746fa5a90566f87aa16/content/browser/gpu/gpu_data_manager_impl.h
[modify] https://crrev.com/c4f79c349be6b7ce067b1746fa5a90566f87aa16/content/browser/gpu/gpu_data_manager_impl_private.cc
[modify] https://crrev.com/c4f79c349be6b7ce067b1746fa5a90566f87aa16/content/browser/gpu/gpu_data_manager_impl_private.h
[modify] https://crrev.com/c4f79c349be6b7ce067b1746fa5a90566f87aa16/content/browser/gpu/gpu_internals_ui.cc
[modify] https://crrev.com/c4f79c349be6b7ce067b1746fa5a90566f87aa16/content/browser/gpu/gpu_process_host.cc
[modify] https://crrev.com/c4f79c349be6b7ce067b1746fa5a90566f87aa16/content/browser/gpu/gpu_process_host.h
[modify] https://crrev.com/c4f79c349be6b7ce067b1746fa5a90566f87aa16/content/public/browser/gpu_data_manager.h
[modify] https://crrev.com/c4f79c349be6b7ce067b1746fa5a90566f87aa16/content/renderer/renderer_blink_platform_impl.cc
[modify] https://crrev.com/c4f79c349be6b7ce067b1746fa5a90566f87aa16/content/test/gpu/gpu_tests/fake_win_amd_gpu_info.py
[modify] https://crrev.com/c4f79c349be6b7ce067b1746fa5a90566f87aa16/gpu/config/gpu_info.cc
[modify] https://crrev.com/c4f79c349be6b7ce067b1746fa5a90566f87aa16/gpu/config/gpu_info.h
[modify] https://crrev.com/c4f79c349be6b7ce067b1746fa5a90566f87aa16/gpu/config/gpu_info_collector.cc
[modify] https://crrev.com/c4f79c349be6b7ce067b1746fa5a90566f87aa16/gpu/config/gpu_info_collector.h
[modify] https://crrev.com/c4f79c349be6b7ce067b1746fa5a90566f87aa16/gpu/config/gpu_info_collector_android.cc
[modify] https://crrev.com/c4f79c349be6b7ce067b1746fa5a90566f87aa16/gpu/config/gpu_info_collector_fuchsia.cc
[modify] https://crrev.com/c4f79c349be6b7ce067b1746fa5a90566f87aa16/gpu/config/gpu_info_collector_linux.cc
[modify] https://crrev.com/c4f79c349be6b7ce067b1746fa5a90566f87aa16/gpu/config/gpu_info_collector_mac.mm
[modify] https://crrev.com/c4f79c349be6b7ce067b1746fa5a90566f87aa16/gpu/config/gpu_info_collector_win.cc
[modify] https://crrev.com/c4f79c349be6b7ce067b1746fa5a90566f87aa16/gpu/config/gpu_switches.cc
[modify] https://crrev.com/c4f79c349be6b7ce067b1746fa5a90566f87aa16/gpu/config/gpu_switches.h
[modify] https://crrev.com/c4f79c349be6b7ce067b1746fa5a90566f87aa16/gpu/ipc/common/gpu_info.mojom
[modify] https://crrev.com/c4f79c349be6b7ce067b1746fa5a90566f87aa16/gpu/ipc/common/gpu_info_struct_traits.cc
[modify] https://crrev.com/c4f79c349be6b7ce067b1746fa5a90566f87aa16/gpu/ipc/common/gpu_info_struct_traits.h
[modify] https://crrev.com/c4f79c349be6b7ce067b1746fa5a90566f87aa16/gpu/ipc/common/struct_traits_unittest.cc
[modify] https://crrev.com/c4f79c349be6b7ce067b1746fa5a90566f87aa16/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp
[modify] https://crrev.com/c4f79c349be6b7ce067b1746fa5a90566f87aa16/third_party/WebKit/public/platform/Platform.h

Cc: julien.isorce@chromium.org

Comment 69 by kbr@chromium.org, Jan 31 2018

Blockedon: 807311
Project Member

Comment 70 by bugdroid1@chromium.org, Feb 1 2018

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

commit 58ff4fa57f2c38d00af117fab0558bd5703dc2f6
Author: Zhenyao Mo <zmo@chromium.org>
Date: Thu Feb 01 19:21:25 2018

Remove browser side GPU info collection on Android.

The last bit is pre-lollipop Android blacklisting for accelerated_video_decode.
To handle this, we query it on renderer startup from GPU process (through
GpuChannelHost). This will cause slight renderer startup perf regression, but
only on older Android systems.

This is the LAST piece of this refactoring.

BUG=744658
TEST=bots
R=piman@chromium.org,kbr@chromium.org

Cq-Include-Trybots: 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: Ie2773a15ed10d27e04364a18f1aa49cd0843280c
Reviewed-on: https://chromium-review.googlesource.com/894734
Reviewed-by: Scott Violet <sky@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Reviewed-by: Bo <boliu@chromium.org>
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#533772}
[modify] https://crrev.com/58ff4fa57f2c38d00af117fab0558bd5703dc2f6/android_webview/browser/deferred_gpu_command_service.cc
[modify] https://crrev.com/58ff4fa57f2c38d00af117fab0558bd5703dc2f6/chrome/browser/BUILD.gn
[modify] https://crrev.com/58ff4fa57f2c38d00af117fab0558bd5703dc2f6/chrome/browser/browser_process.h
[modify] https://crrev.com/58ff4fa57f2c38d00af117fab0558bd5703dc2f6/chrome/browser/browser_process_impl.cc
[modify] https://crrev.com/58ff4fa57f2c38d00af117fab0558bd5703dc2f6/chrome/browser/browser_process_impl.h
[modify] https://crrev.com/58ff4fa57f2c38d00af117fab0558bd5703dc2f6/chrome/browser/chrome_browser_main.cc
[delete] https://crrev.com/0a5136b3e0c0816796b096b739a0ab86e535147f/chrome/browser/gpu/gpu_driver_info_manager_android.cc
[delete] https://crrev.com/0a5136b3e0c0816796b096b739a0ab86e535147f/chrome/browser/gpu/gpu_driver_info_manager_android.h
[modify] https://crrev.com/58ff4fa57f2c38d00af117fab0558bd5703dc2f6/chrome/browser/prefs/browser_prefs.cc
[modify] https://crrev.com/58ff4fa57f2c38d00af117fab0558bd5703dc2f6/chrome/common/pref_names.cc
[modify] https://crrev.com/58ff4fa57f2c38d00af117fab0558bd5703dc2f6/chrome/common/pref_names.h
[modify] https://crrev.com/58ff4fa57f2c38d00af117fab0558bd5703dc2f6/chrome/test/base/testing_browser_process.cc
[modify] https://crrev.com/58ff4fa57f2c38d00af117fab0558bd5703dc2f6/chrome/test/base/testing_browser_process.h
[modify] https://crrev.com/58ff4fa57f2c38d00af117fab0558bd5703dc2f6/content/browser/gpu/gpu_data_manager_impl.cc
[modify] https://crrev.com/58ff4fa57f2c38d00af117fab0558bd5703dc2f6/content/browser/gpu/gpu_data_manager_impl.h
[modify] https://crrev.com/58ff4fa57f2c38d00af117fab0558bd5703dc2f6/content/browser/gpu/gpu_data_manager_impl_private.cc
[modify] https://crrev.com/58ff4fa57f2c38d00af117fab0558bd5703dc2f6/content/browser/gpu/gpu_data_manager_impl_private.h
[modify] https://crrev.com/58ff4fa57f2c38d00af117fab0558bd5703dc2f6/content/browser/renderer_host/render_process_host_impl.cc
[modify] https://crrev.com/58ff4fa57f2c38d00af117fab0558bd5703dc2f6/content/public/browser/gpu_data_manager.h
[modify] https://crrev.com/58ff4fa57f2c38d00af117fab0558bd5703dc2f6/content/renderer/render_thread_impl.cc
[modify] https://crrev.com/58ff4fa57f2c38d00af117fab0558bd5703dc2f6/content/renderer/render_thread_impl_browsertest.cc
[modify] https://crrev.com/58ff4fa57f2c38d00af117fab0558bd5703dc2f6/content/test/content_test_suite.cc
[modify] https://crrev.com/58ff4fa57f2c38d00af117fab0558bd5703dc2f6/gpu/command_buffer/tests/gl_tests_main.cc
[modify] https://crrev.com/58ff4fa57f2c38d00af117fab0558bd5703dc2f6/gpu/config/gpu_info_collector.cc
[modify] https://crrev.com/58ff4fa57f2c38d00af117fab0558bd5703dc2f6/gpu/config/gpu_info_collector.h
[modify] https://crrev.com/58ff4fa57f2c38d00af117fab0558bd5703dc2f6/gpu/config/gpu_test_config.cc
[modify] https://crrev.com/58ff4fa57f2c38d00af117fab0558bd5703dc2f6/gpu/config/gpu_util.cc
[modify] https://crrev.com/58ff4fa57f2c38d00af117fab0558bd5703dc2f6/gpu/gles2_conform_support/egl/thread_state.cc

Comment 71 by zmo@chromium.org, Feb 1 2018

Status: Fixed (was: Started)
At this point, I think this task is DONE.

Now GPU info collection and decision making are purely on GPU process.

There are still some further cleanups to do, but let's call this bug fixed.

Comment 72 by zmo@chromium.org, Feb 1 2018

Blocking: 808119

Comment 73 by kbr@chromium.org, Feb 1 2018

Superb work on this Mo! This has been an unexpectedly complex project and it's only due to your care, experience and tenacity that it is finally done.

Awesome work Mo!
Project Member

Comment 75 by bugdroid1@chromium.org, Feb 6 2018

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

commit f82bf7763977a48cdb0ebc7afe6a0f07d1593ede
Author: Zhenyao Mo <zmo@chromium.org>
Date: Tue Feb 06 02:04:54 2018

Revert "Remove browser side GPU info collection on Android."

This reverts commit 58ff4fa57f2c38d00af117fab0558bd5703dc2f6.

Reason for revert: crbug.com/808934

Original change's description:
> Remove browser side GPU info collection on Android.
>
> The last bit is pre-lollipop Android blacklisting for accelerated_video_decode.
> To handle this, we query it on renderer startup from GPU process (through
> GpuChannelHost). This will cause slight renderer startup perf regression, but
> only on older Android systems.
>
> This is the LAST piece of this refactoring.
>
> BUG=744658
> TEST=bots
> R=​piman@chromium.org,kbr@chromium.org
>
> Cq-Include-Trybots: 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: Ie2773a15ed10d27e04364a18f1aa49cd0843280c
> Reviewed-on: https://chromium-review.googlesource.com/894734
> Reviewed-by: Scott Violet <sky@chromium.org>
> Reviewed-by: Kenneth Russell <kbr@chromium.org>
> Reviewed-by: Antoine Labour <piman@chromium.org>
> Reviewed-by: Bo <boliu@chromium.org>
> Commit-Queue: Zhenyao Mo <zmo@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#533772}

TBR=sky@chromium.org,boliu@chromium.org,zmo@chromium.org,kbr@chromium.org,piman@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: 744658,808934
Change-Id: I0ab7be945b1b069e4ff34500bd5e0868da14aabe
Cq-Include-Trybots: 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
Reviewed-on: https://chromium-review.googlesource.com/902682
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#534584}
[modify] https://crrev.com/f82bf7763977a48cdb0ebc7afe6a0f07d1593ede/android_webview/browser/deferred_gpu_command_service.cc
[modify] https://crrev.com/f82bf7763977a48cdb0ebc7afe6a0f07d1593ede/chrome/browser/BUILD.gn
[modify] https://crrev.com/f82bf7763977a48cdb0ebc7afe6a0f07d1593ede/chrome/browser/browser_process.h
[modify] https://crrev.com/f82bf7763977a48cdb0ebc7afe6a0f07d1593ede/chrome/browser/browser_process_impl.cc
[modify] https://crrev.com/f82bf7763977a48cdb0ebc7afe6a0f07d1593ede/chrome/browser/browser_process_impl.h
[modify] https://crrev.com/f82bf7763977a48cdb0ebc7afe6a0f07d1593ede/chrome/browser/chrome_browser_main.cc
[add] https://crrev.com/f82bf7763977a48cdb0ebc7afe6a0f07d1593ede/chrome/browser/gpu/gpu_driver_info_manager_android.cc
[add] https://crrev.com/f82bf7763977a48cdb0ebc7afe6a0f07d1593ede/chrome/browser/gpu/gpu_driver_info_manager_android.h
[modify] https://crrev.com/f82bf7763977a48cdb0ebc7afe6a0f07d1593ede/chrome/browser/prefs/browser_prefs.cc
[modify] https://crrev.com/f82bf7763977a48cdb0ebc7afe6a0f07d1593ede/chrome/common/pref_names.cc
[modify] https://crrev.com/f82bf7763977a48cdb0ebc7afe6a0f07d1593ede/chrome/common/pref_names.h
[modify] https://crrev.com/f82bf7763977a48cdb0ebc7afe6a0f07d1593ede/chrome/test/base/testing_browser_process.cc
[modify] https://crrev.com/f82bf7763977a48cdb0ebc7afe6a0f07d1593ede/chrome/test/base/testing_browser_process.h
[modify] https://crrev.com/f82bf7763977a48cdb0ebc7afe6a0f07d1593ede/content/browser/gpu/gpu_data_manager_impl.cc
[modify] https://crrev.com/f82bf7763977a48cdb0ebc7afe6a0f07d1593ede/content/browser/gpu/gpu_data_manager_impl.h
[modify] https://crrev.com/f82bf7763977a48cdb0ebc7afe6a0f07d1593ede/content/browser/gpu/gpu_data_manager_impl_private.cc
[modify] https://crrev.com/f82bf7763977a48cdb0ebc7afe6a0f07d1593ede/content/browser/gpu/gpu_data_manager_impl_private.h
[modify] https://crrev.com/f82bf7763977a48cdb0ebc7afe6a0f07d1593ede/content/browser/renderer_host/render_process_host_impl.cc
[modify] https://crrev.com/f82bf7763977a48cdb0ebc7afe6a0f07d1593ede/content/public/browser/gpu_data_manager.h
[modify] https://crrev.com/f82bf7763977a48cdb0ebc7afe6a0f07d1593ede/content/renderer/render_thread_impl.cc
[modify] https://crrev.com/f82bf7763977a48cdb0ebc7afe6a0f07d1593ede/content/renderer/render_thread_impl_browsertest.cc
[modify] https://crrev.com/f82bf7763977a48cdb0ebc7afe6a0f07d1593ede/content/test/content_test_suite.cc
[modify] https://crrev.com/f82bf7763977a48cdb0ebc7afe6a0f07d1593ede/gpu/command_buffer/tests/gl_tests_main.cc
[modify] https://crrev.com/f82bf7763977a48cdb0ebc7afe6a0f07d1593ede/gpu/config/gpu_info_collector.cc
[modify] https://crrev.com/f82bf7763977a48cdb0ebc7afe6a0f07d1593ede/gpu/config/gpu_info_collector.h
[modify] https://crrev.com/f82bf7763977a48cdb0ebc7afe6a0f07d1593ede/gpu/config/gpu_test_config.cc
[modify] https://crrev.com/f82bf7763977a48cdb0ebc7afe6a0f07d1593ede/gpu/config/gpu_util.cc
[modify] https://crrev.com/f82bf7763977a48cdb0ebc7afe6a0f07d1593ede/gpu/gles2_conform_support/egl/thread_state.cc

Project Member

Comment 76 by bugdroid1@chromium.org, Feb 7 2018

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

commit e23f752678bf6a16f9ab4a5402fbb75cb40c24be
Author: Zhenyao Mo <zmo@chromium.org>
Date: Wed Feb 07 02:15:00 2018

Always collect GPUInfo on Android in GPU process/thread.

BUG=744658
TEST=bots
R=piman@chromium.org,boliu@chromium.org

Cq-Include-Trybots: 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: Icb4f88dbbdca34541d3921b57574a9d843326254
Reviewed-on: https://chromium-review.googlesource.com/905791
Reviewed-by: Bo <boliu@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#534881}
[modify] https://crrev.com/e23f752678bf6a16f9ab4a5402fbb75cb40c24be/android_webview/gpu/aw_content_gpu_client.cc
[modify] https://crrev.com/e23f752678bf6a16f9ab4a5402fbb75cb40c24be/android_webview/gpu/aw_content_gpu_client.h
[modify] https://crrev.com/e23f752678bf6a16f9ab4a5402fbb75cb40c24be/android_webview/lib/aw_main_delegate.cc
[modify] https://crrev.com/e23f752678bf6a16f9ab4a5402fbb75cb40c24be/content/gpu/gpu_main.cc
[modify] https://crrev.com/e23f752678bf6a16f9ab4a5402fbb75cb40c24be/content/gpu/in_process_gpu_thread.cc
[modify] https://crrev.com/e23f752678bf6a16f9ab4a5402fbb75cb40c24be/content/test/content_test_suite.cc
[modify] https://crrev.com/e23f752678bf6a16f9ab4a5402fbb75cb40c24be/gpu/command_buffer/tests/gl_tests_main.cc
[modify] https://crrev.com/e23f752678bf6a16f9ab4a5402fbb75cb40c24be/gpu/config/gpu_info_collector.cc
[modify] https://crrev.com/e23f752678bf6a16f9ab4a5402fbb75cb40c24be/gpu/config/gpu_info_collector.h
[modify] https://crrev.com/e23f752678bf6a16f9ab4a5402fbb75cb40c24be/gpu/config/gpu_test_config.cc
[modify] https://crrev.com/e23f752678bf6a16f9ab4a5402fbb75cb40c24be/gpu/config/gpu_util.cc
[modify] https://crrev.com/e23f752678bf6a16f9ab4a5402fbb75cb40c24be/gpu/config/gpu_util.h
[modify] https://crrev.com/e23f752678bf6a16f9ab4a5402fbb75cb40c24be/gpu/gles2_conform_support/egl/thread_state.cc
[modify] https://crrev.com/e23f752678bf6a16f9ab4a5402fbb75cb40c24be/gpu/ipc/service/BUILD.gn
[modify] https://crrev.com/e23f752678bf6a16f9ab4a5402fbb75cb40c24be/gpu/ipc/service/gpu_init.cc
[modify] https://crrev.com/e23f752678bf6a16f9ab4a5402fbb75cb40c24be/gpu/ipc/service/gpu_init.h

Project Member

Comment 77 by bugdroid1@chromium.org, Feb 9 2018

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

commit cdae452e2a55c121386ce3e3a0dc382e8befbb12
Author: Zhenyao Mo <zmo@chromium.org>
Date: Fri Feb 09 20:10:26 2018

Remove browser side GPU info collection on Android plus
redo Android WebView GL bindings initialization.

Patchset 1:

The last bit is pre-lollipop Android blacklisting for
accelerated_video_decode. To handle this, we query it on renderer
startup from GPU process (through GpuChannelHost). This will cause
slight renderer startup perf regression, but only on older Android
systems.

This is the LAST piece of this refactoring. This is reviewed at:
https://chromium-review.googlesource.com/c/chromium/src/+/894734

**************************

Patchset 3:

Right now initialization always happens on in-process GPU thread
and others are blocked by that.

With this CL, we could initialize them in either render thread or
GPU thread.

This is reviewed at:
https://chromium-review.googlesource.com/c/chromium/src/+/898202

**************************

Patchset 7:

Land part of the reviewed CL separately.

https://chromium-review.googlesource.com/c/chromium/src/+/905791

**************************

Patchset 13->16:

Fix WebView issue where it incorrectly falls back to software mode.

BUG=744658,808078,808934
TEST=bots
R=piman@chromium.org,kbr@chromium.org,boliu@chromium.org

Cq-Include-Trybots: 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: I07280fc5f6f513df87047a7b29b9d547fde08c8e
Reviewed-on: https://chromium-review.googlesource.com/904732
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Reviewed-by: Bo <boliu@chromium.org>
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#535795}
[modify] https://crrev.com/cdae452e2a55c121386ce3e3a0dc382e8befbb12/android_webview/browser/aw_browser_main_parts.cc
[modify] https://crrev.com/cdae452e2a55c121386ce3e3a0dc382e8befbb12/android_webview/browser/aw_contents.cc
[modify] https://crrev.com/cdae452e2a55c121386ce3e3a0dc382e8befbb12/android_webview/browser/deferred_gpu_command_service.cc
[modify] https://crrev.com/cdae452e2a55c121386ce3e3a0dc382e8befbb12/android_webview/browser/deferred_gpu_command_service.h
[modify] https://crrev.com/cdae452e2a55c121386ce3e3a0dc382e8befbb12/android_webview/lib/webview_tests.cc
[modify] https://crrev.com/cdae452e2a55c121386ce3e3a0dc382e8befbb12/base/threading/thread_restrictions.h
[modify] https://crrev.com/cdae452e2a55c121386ce3e3a0dc382e8befbb12/chrome/browser/BUILD.gn
[modify] https://crrev.com/cdae452e2a55c121386ce3e3a0dc382e8befbb12/chrome/browser/browser_process.h
[modify] https://crrev.com/cdae452e2a55c121386ce3e3a0dc382e8befbb12/chrome/browser/browser_process_impl.cc
[modify] https://crrev.com/cdae452e2a55c121386ce3e3a0dc382e8befbb12/chrome/browser/browser_process_impl.h
[modify] https://crrev.com/cdae452e2a55c121386ce3e3a0dc382e8befbb12/chrome/browser/chrome_browser_main.cc
[delete] https://crrev.com/338ea075666f0e69f541af2cdcfcafa43733b95e/chrome/browser/gpu/gpu_driver_info_manager_android.cc
[delete] https://crrev.com/338ea075666f0e69f541af2cdcfcafa43733b95e/chrome/browser/gpu/gpu_driver_info_manager_android.h
[modify] https://crrev.com/cdae452e2a55c121386ce3e3a0dc382e8befbb12/chrome/browser/prefs/browser_prefs.cc
[modify] https://crrev.com/cdae452e2a55c121386ce3e3a0dc382e8befbb12/chrome/common/pref_names.cc
[modify] https://crrev.com/cdae452e2a55c121386ce3e3a0dc382e8befbb12/chrome/common/pref_names.h
[modify] https://crrev.com/cdae452e2a55c121386ce3e3a0dc382e8befbb12/chrome/test/base/testing_browser_process.cc
[modify] https://crrev.com/cdae452e2a55c121386ce3e3a0dc382e8befbb12/chrome/test/base/testing_browser_process.h
[modify] https://crrev.com/cdae452e2a55c121386ce3e3a0dc382e8befbb12/content/browser/gpu/gpu_data_manager_impl.cc
[modify] https://crrev.com/cdae452e2a55c121386ce3e3a0dc382e8befbb12/content/browser/gpu/gpu_data_manager_impl.h
[modify] https://crrev.com/cdae452e2a55c121386ce3e3a0dc382e8befbb12/content/browser/gpu/gpu_data_manager_impl_private.cc
[modify] https://crrev.com/cdae452e2a55c121386ce3e3a0dc382e8befbb12/content/browser/gpu/gpu_data_manager_impl_private.h
[modify] https://crrev.com/cdae452e2a55c121386ce3e3a0dc382e8befbb12/content/browser/renderer_host/render_process_host_impl.cc
[modify] https://crrev.com/cdae452e2a55c121386ce3e3a0dc382e8befbb12/content/public/browser/gpu_data_manager.h
[modify] https://crrev.com/cdae452e2a55c121386ce3e3a0dc382e8befbb12/content/renderer/render_thread_impl.cc
[modify] https://crrev.com/cdae452e2a55c121386ce3e3a0dc382e8befbb12/content/renderer/render_thread_impl_browsertest.cc
[modify] https://crrev.com/cdae452e2a55c121386ce3e3a0dc382e8befbb12/gpu/config/gpu_info_collector_android.cc
[modify] https://crrev.com/cdae452e2a55c121386ce3e3a0dc382e8befbb12/gpu/ipc/service/gpu_init.cc

Project Member

Comment 78 by bugdroid1@chromium.org, Feb 9 2018

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

commit 5788a1b9e936ed523f8390eaa62a06a7b073bd7e
Author: Zhenyao Mo <zmo@chromium.org>
Date: Fri Feb 09 20:23:48 2018

Remove dead code related with ContentGpuClient and GL strings.

Now we collect GPUInfo on GPU startup, we always initialize GL bindings,
create a GL contetx, and collect the GL strings. No need for specific
mechanism on ChromeCAST.

BUG=744658,808119
TEST=bots
R=halliwell@chromium.org,piman@chromium.org

Change-Id: I23183baa03349e6fa3ce9d6598cbed426bd160a8
Reviewed-on: https://chromium-review.googlesource.com/907860
Reviewed-by: Luke Halliwell <halliwell@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#535807}
[modify] https://crrev.com/5788a1b9e936ed523f8390eaa62a06a7b073bd7e/chromecast/app/BUILD.gn
[modify] https://crrev.com/5788a1b9e936ed523f8390eaa62a06a7b073bd7e/chromecast/app/DEPS
[modify] https://crrev.com/5788a1b9e936ed523f8390eaa62a06a7b073bd7e/chromecast/app/cast_main_delegate.cc
[modify] https://crrev.com/5788a1b9e936ed523f8390eaa62a06a7b073bd7e/chromecast/app/cast_main_delegate.h
[delete] https://crrev.com/84780aff9daa47f8f18a9d9efd7c4e70590384f0/chromecast/gpu/BUILD.gn
[delete] https://crrev.com/84780aff9daa47f8f18a9d9efd7c4e70590384f0/chromecast/gpu/DEPS
[delete] https://crrev.com/84780aff9daa47f8f18a9d9efd7c4e70590384f0/chromecast/gpu/cast_content_gpu_client.cc
[delete] https://crrev.com/84780aff9daa47f8f18a9d9efd7c4e70590384f0/chromecast/gpu/cast_content_gpu_client.h
[modify] https://crrev.com/5788a1b9e936ed523f8390eaa62a06a7b073bd7e/chromecast/public/cast_sys_info.h
[modify] https://crrev.com/5788a1b9e936ed523f8390eaa62a06a7b073bd7e/content/public/gpu/content_gpu_client.cc
[modify] https://crrev.com/5788a1b9e936ed523f8390eaa62a06a7b073bd7e/content/public/gpu/content_gpu_client.h

Comment 79 by zmo@chromium.org, Feb 12 2018

Blocking: 809419
Project Member

Comment 80 by bugdroid1@chromium.org, Dec 5

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

commit 0c132fc985233a4f094f0582d1564cabf1ac4660
Author: Sunny Sachanandani <sunnyps@chromium.org>
Date: Wed Dec 05 03:28:53 2018

Re-enable rebaselined forgotten pixel tests

The _NoGpuProcess tests were rebaselined in https://crrev.com/c/876523

The unaccelerated offscreen canvas tests were rebaselined in
https://crrev.com/c/1135580

Bug: 744658, 788439
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: Iec28c2d23eb6c79d3edddc41766293c6d14ff0b4
Reviewed-on: https://chromium-review.googlesource.com/c/1214428
Commit-Queue: Sunny Sachanandani <sunnyps@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#613848}
[modify] https://crrev.com/0c132fc985233a4f094f0582d1564cabf1ac4660/content/test/gpu/gpu_tests/pixel_expectations.py

Sign in to add a comment