InitializeHardwareOverlaySupport() is called too early on Windows |
||
Issue descriptionPlease 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.
,
Nov 22
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.
,
Nov 22
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.
,
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
,
Nov 26
|
||
►
Sign in to add a comment |
||
Comment 1 by zmo@chromium.org
, Nov 21