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

Issue 907684 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Nov 26
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 2
Type: Bug

Blocking:
issue 894675



Sign in to add a comment

InitializeHardwareOverlaySupport() is called too early on Windows

Project Member Reported by zmo@chromium.org, Nov 21

Issue description

Please see https://bugs.chromium.org/p/chromium/issues/detail?id=894675#c16

Basically we should 
1) initialize GL bindings
2) create a context, collect GL strings and identify active GPU
3) compute GPU driver workarounds (a second time)
4) call InitializeHardwareOverlaySupport().

Right now the order is wrong. 4) is called before 3).

This will affect whether disable_direct_composition is correctly applied on a multi-GPU system.
 
Blocking: 894675
I also have a related comment about this function, not sure if this is the right place.

InitializeHardwareOverlaySupport is called from GetOverlayCapabilities() and AreOverlaysSupported(). Shouldn't it be initialized regardless if there are query functions or not? If those query functions stop query or use the other method, this function will not be called. then g_supports_overlay and the preferred overlay format will be wrong for swap chain creation. Maybe we dan make InitializeHardwareOverlaySupport an function independent of query when fixing this bug.

We should really get rid of using these global variables and always call the related functions instead, i.e., instead of using g_supports_overlays, always use AreOverlaySupported(). Then we don't have to worry about if they are initialized or not.
Project Member

Comment 4 by bugdroid1@chromium.org, Nov 22

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

commit 33f395ae2a74e955ab820e43c037e86747d36b2e
Author: Zhenyao Mo <zmo@chromium.org>
Date: Thu Nov 22 07:19:59 2018

Initialize Direct Composition HW overlay support at the right time.

Currently we initialize it too soon, so on multi-GPU system, the
workaround |disable_direct_composition| may not be correctly applied.

BUG= 907684 
TEST=manual
R=piman@chromium.org,sunnyps@chromium.org

Change-Id: Id30e09f2229b4229b82ee9330523426b470b7c5d
Reviewed-on: https://chromium-review.googlesource.com/c/1346998
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#610329}
[modify] https://crrev.com/33f395ae2a74e955ab820e43c037e86747d36b2e/gpu/ipc/service/gpu_init.cc

Status: Fixed (was: Assigned)

Sign in to add a comment