New issue
Advanced search Search tips

Issue 692632 link

Starred by 5 users

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug



Sign in to add a comment

Switching between a blacklisted and not-blacklisted GPU on a multi-GPU mac causes issues

Project Member Reported by ericrk@chromium.org, Feb 15 2017

Issue description

On multi-GPU mac set-ups, we can hit an issue where the screen becomes black / blank after switching from a blacklisted card to a non-blacklisted card. Because of this, we currently need to use the "multi_gpu_category" of "any" for software_rendering_list on mac.

It seems like we would ideally be able to transition between these modes - we should investigate why issues occur.

See  crbug.com/661596  for a case where this is impacting users.
 

Comment 1 by zmo@chromium.org, Feb 15 2017

I think the right fix for this is to move everything to the GPU process, including GPU detection and decision making.  Then we just need to wire the Gpu switching event to the GPU process and update the information and decisions accordingly.

This is not a trivia task though.
I'm curious, how did that work before we started having this issue ?

I don't remember having any issues (black/blank) like this in the past with Chrome and that's pretty much the only browser I've been using on my Macbook Pro early 2011). It started around when Sierra was released if I remember well (I'm using this only as a time reference, I'm not saying Sierra has anything to do with this issue).

Was Chrome only doing software rendering and at some point it started using hardware instead and this issue started happening ?

Thanks a lot for looking into this though !

Comment 3 by zmo@chromium.org, Feb 16 2017

We didn't blacklist one GPU from a dual GPU config before, that's why.  The current design should have never worked in this situation.

Comment 4 by ericrk@chromium.org, Feb 16 2017

zmo@, is it worth adding a DCHECK when parsing to ensure that we never blacklist one GPU from a multi-gpu config?

Comment 5 by zmo@chromium.org, Feb 16 2017

I don't even know HD 3000 has been downgraded to the "integrated" gpu.

You can add the DCHECK, but it only has effects if we have a try bot that's affected. Otherwise users won't see the DCHECK fail.
Project Member

Comment 6 by sheriffbot@chromium.org, Feb 21 2018

Labels: Hotlist-Recharge-Cold
Status: Untriaged (was: Available)
This issue has been Available for over a year. If it's no longer important or seems unlikely to be fixed, please consider closing it out. If it is important, please re-triage the issue.

Sorry for the inconvenience if the bug really should have been left as Available. If you change it back, also remove the "Hotlist-Recharge-Cold" label.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot

Comment 7 by piman@chromium.org, Feb 26 2018

Components: -Internals>GPU Internals>GPU>Internals
Labels: -Hotlist-Recharge-Cold
Status: Available (was: Untriaged)
@zmo: the suggestion in #1 has just been done, is this enough to close this, or would there be more follow-up?

Comment 8 by zmo@chromium.org, Feb 26 2018

This is a tricky situation.  We don't tear down the GPU process and restart a new one. I remember we talked about this and everyone agrees we should not restart a GPU process everyone someone creates a WebGL contexts.

So a context's capabilities could change from integrated to discrete and back to integrated.

So things need to be done here is:
1) Verify integrated GPU capabilities are always a subset of discrete GPU's
2) If an internal contexts (anything not WebGL) are created on a discrete GPU, its capabilities need to be clamped at integrated GPU's. This is assume Chrome starts with integrated GPU so we can already cache its capabilities somewhere.

Sign in to add a comment