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

Issue 651576 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Email to this user bounced
Closed: Oct 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 2
Type: Bug

Blocked on:
issue 554909



Sign in to add a comment

equal_bug_workarounds_in_browser_and_gpu_process test in gpu_process_launch_tests seems incorrect

Project Member Reported by kbr@chromium.org, Sep 29 2016

Issue description

The GpuProcess.equal_bug_workarounds_in_browser_and_gpu_process test from src/content/test/gpu/gpu_tests/gpu_process.py and src/content/test/gpu/page_sets/gpu_process_tests.py is failing unexpectedly in https://codereview.chromium.org/2318313004/ .

During a first launch of Chrome, there is no cached GPU information available, so the browser's GPU blacklist is computed solely based on the GPU vendor and device IDs. Later, when the GPU process starts, the OpenGL vendor and version become available, and workarounds that are dependent on that can be applied.

In https://codereview.chromium.org/2318313004/ a new driver bug workaround is being added for OpenGL versions less than 4.4. The workaround is being enabled in the GPU process but not the browser process. This is somewhat expected -- though to be honest it's not 100% clear to me why it's being enabled in the GPU process on Windows, since it's supposed to only take effect for desktop GL, and not GLES, which is what ANGLE exposes.

On Linux and macOS it's easier to understand why this workaround is enabled in the GPU process. Upon first launch, I think it is allowed that the browser's and GPU process's notions of the driver bug workarounds are different.

Something needs to be done here. Perhaps a small exception list of workarounds allowed to be different needs to be added.

I'm blocking this on  Issue 634519  since a workaround will probably be added here to allow that CL to go through and that bug to be fixed. This can then be revisited later.

 
The gpu process sends the updated GpuInfo back to the browser process by the time the test check for the equality of workarounds. So the browser process will know about the gl version and workarounds will be equal.

The problem was elsewhere and I am suggesting the following fix
https://codereview.chromium.org/2379153002
Project Member

Comment 2 by bugdroid1@chromium.org, Oct 3 2016

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

commit b53abd7b3c59d221641d07fd25ab26d2ca2f8a22
Author: j.isorce <j.isorce@samsung.com>
Date: Mon Oct 03 08:50:50 2016

GpuControlListEntry might need more info for gl_version as well

BUG= 651576 ,  634519 

R=kbr@chromium.org, zmo@chromium.org
CQ_INCLUDE_TRYBOTS=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

Review-Url: https://codereview.chromium.org/2379153002
Cr-Commit-Position: refs/heads/master@{#422393}

[modify] https://crrev.com/b53abd7b3c59d221641d07fd25ab26d2ca2f8a22/gpu/config/gpu_control_list.cc
[modify] https://crrev.com/b53abd7b3c59d221641d07fd25ab26d2ca2f8a22/gpu/config/gpu_control_list_entry_unittest.cc

Status: Fixed (was: Assigned)
In one of the comment in https://codereview.chromium.org/2379153002, yizhou.jiang confirmed that this above CL fixed his problem on https://codereview.chromium.org/2318313004/ .
For the second problem, about osx, the only solution is to workaround it as mentioned in my review comment here https://codereview.chromium.org/2318313004/patch/750001/760006 

Comment 4 by zmo@chromium.org, Dec 2 2016

Blockedon: -634519

Sign in to add a comment