CGDisplayReconfigurationCallBack is not working as expected |
|||||||
Issue descriptionVersion: 53.0.2756.0 (Developer Build) (64-bit) OS: Mac OSX The callback registered with CGDisplayRegisterReconfigurationCallback in GpuDataManagerImplPrivate can fail the multi-gpu tests. (ex: IdentifyActiveGpuSharedPageState3 in gpu_process_tests.py) Indeed this callback named "DisplayReconfigCallback" can update the active gpu at any time. There are 2 problems: 1- Currently the callback is always triggered after that the test ran its validate function. But the CL https://codereview.chromium.org/2005013002 changes the statement and makes these tests fail. 2- Why this callback is triggered in the first place on try bots with the flag kCGDisplayAddFlag. I do not believe someone adds a display while running tests. Further investigation need to be done to understand how this osx notification works or if it is a system bug (could be also a bug in the driver). (We probably also want to register the callback at the end of GpuDataManagerImplPrivate::InitializeImpl instead of the constructor)
,
Jun 2 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f4b4acf1f2810b76dea587e7fb69e47556c948f4 commit f4b4acf1f2810b76dea587e7fb69e47556c948f4 Author: j.isorce <j.isorce@samsung.com> Date: Thu Jun 02 19:21:41 2016 Make multi-gpu tests independent of intermittent display changes on OSX For currently unknown reasons the display change callback is triggered with kCGDisplayAddFlag flag while running the gpu tests. Since it might change the active gpu at any time it can make the tests fail. For now let's make the tests reliable but further investigation on the callback will follow. BUG= 616759 R=kbr@chromium.org, piman@chromium.org, zmo@chromium.org Review-Url: https://codereview.chromium.org/2034763002 Cr-Commit-Position: refs/heads/master@{#397487} [modify] https://crrev.com/f4b4acf1f2810b76dea587e7fb69e47556c948f4/content/browser/gpu/gpu_data_manager_impl_private.cc
,
Jun 28 2016
My Mac has not enough memory to build chromium :( so someone else will have to investigate. But a possible solution could be to move the callback registration. From GpuDataManagerImplPrivate's constructor to GpuDataManagerImplPrivate::InitializeImpl . Idea is to make sure we get first gpuinfo update from gpu process before calling registering the callback with CGDisplayRegisterReconfigurationCallback.
,
Jan 24 2017
The assigned owner "j.isorce@samsung.com" is not able to receive e-mails, please re-triage. For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Jan 24 2017
,
Jan 25 2017
[mac triage] Do Any GPU folks think this is still a problem?
,
Feb 4 2017
I think that since pb 1- is fixed we can close this issue. 2- was more a good to understand.
,
Feb 4 2017
Sounds fine. Thanks Julien. |
|||||||
►
Sign in to add a comment |
|||||||
Comment 1 by j.iso...@samsung.com
, Jun 2 2016