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

Issue 764290 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Dec 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 2
Type: Bug

Blocked on:
issue 744658



Sign in to add a comment

WebGL hardware acceleration disabled with AMD RX 460, Mesa 17.1.7

Reported by ntr...@gmail.com, Sep 12 2017

Issue description

UserAgent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.79 Safari/537.36

Steps to reproduce the problem:
1. Go to chrome://gpu/

What is the expected behavior?
WebGL hardware acceleration should be enabled and working, or at least, if it cannot work due to driver bugs, it should be explained as such.

What went wrong?
The following is shown:

WebGL: Hardware accelerated but at reduced performance

ATI/AMD cards with older drivers in Linux are crash-prone: 71381, 76428, 73910, 101225, 136240, 357314
Disabled Features: flash_stage3d, gpu_compositing, panel_fitting, flash3d, gpu_rasterization, accelerated_2d_canvas, accelerated_video_decode, webgl2, accelerated_webgl, flash_stage3d_baseline, accelerated_video_encode

Those bugs are older than this card. For instance, there is this patch disabling Mesa drivers older than 10.0.4:
https://src.chromium.org/viewvc/chrome/trunk/src/gpu/config/software_rendering_list_json.cc?r1=260595&r2=260594&pathrev=260595

But I'm running Mesa 17.1.7, which is way newer.

Did this work before? No 

Chrome version: 61.0.3163.79  Channel: stable
OS Version: Fedora 26
Flash Version:
 
Cc: pbomm...@chromium.org kbr@chromium.org
Components: Internals>GPU
Labels: Needs-Triage-M61

Comment 3 by ericrk@chromium.org, Sep 15 2017

Labels: Needs-Feedback
Owner: zmo@chromium.org
Status: Assigned (was: Unconfirmed)
ntrrgc@, I agree that this seems suspicious. Can you attach the full output of about:gpu (save as format "webpage, complete") so we can double check that everything looks as expected?

zmo@, it sounds like the exception to software rendering list entry #5 which should exclude Mesa drivers newer than 10.0.4 might not be getting picked up correctly. Probably need to wait for the full about:gpu to confirm, unless you have a similar machine.

Comment 4 by ntr...@gmail.com, Sep 15 2017

gpu.html
53.8 KB View Download

Comment 5 by kbr@chromium.org, Sep 15 2017

Cc: kainino@chromium.org cwallez@chromium.org
It's unfortunate that we lose the original about:gpu when SwiftShader is enabled.

We have a machine with Intel GPU running Ubuntu Zesty and Mesa 17.0.7; I wonder how difficult it would be to try upgrading it to 17.1.7 and adding a fake blacklist entry for the Intel GPU to see what's happening with that blacklist entry. Maybe the driver vendor's getting confused, and the entry for the fglrx driver's getting confused with the entry for Mesa.

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

Blockedon: 744658
I am doing refactoring in the related code right now. Once it's done, this bug will automatically be fixed. See  crbug.com/744658 

Right now the trigger is likely browser side decision (without a GL context and vendor/renderer strings) and GPU process side decision (with a GL context and vendor/renderer strings) are inconsistent, therefore triggering SwiftShader.
Project Member

Comment 7 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

Comment 8 by zmo@chromium.org, Dec 15 2017

Status: Fixed (was: Assigned)

Sign in to add a comment