Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(143)

Issue 1780013002: Fix black screen when switching primary display without bounds change (Closed)

Created:
4 years, 9 months ago by hshi1
Modified:
4 years, 7 months ago
Reviewers:
marcheu, dnicoara, ilja, hshi
CC:
chromium-reviews, kalyank, piman+watch_chromium.org, ozone-reviews_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Fix black screen when switching primary display without bounds change In ScreenManager::GetModesetBuffer() we need to check controller's DrmDevice and only re-use primary buffer if it matches the DrmDevice on which the buffer is allocated. Also in DrmWindow::SchedulePageFlip(), we need to force buffer reallocation when the buffer's DrmDevice doesn't match that of the hardware display controller. BUG=591368 TEST=verify on auron_yuna with UDL resolution at 1920x1080 and switch primary Committed: https://crrev.com/28c0dd4fc82d8834c0508492fc693204da39e21b Cr-Commit-Position: refs/heads/master@{#392165}

Patch Set 1 #

Patch Set 2 : Add DrmDevice check in ScreenManager::GetModesetBuffer #

Total comments: 2

Patch Set 3 : Add comments. #

Patch Set 4 : Fix build failure in MockScanoutBuffer #

Patch Set 5 : Fix build failure in MockScanoutBuffer (again! sorry) #

Unified diffs Side-by-side diffs Delta from patch set Stats (+33 lines, -1 line) Patch
M ui/ozone/platform/drm/gpu/drm_buffer.h View 1 1 chunk +1 line, -0 lines 0 comments Download
M ui/ozone/platform/drm/gpu/drm_buffer.cc View 1 1 chunk +4 lines, -0 lines 0 comments Download
M ui/ozone/platform/drm/gpu/drm_window.cc View 1 2 1 chunk +12 lines, -0 lines 0 comments Download
M ui/ozone/platform/drm/gpu/gbm_buffer_base.h View 1 chunk +1 line, -0 lines 0 comments Download
M ui/ozone/platform/drm/gpu/gbm_buffer_base.cc View 1 chunk +4 lines, -0 lines 0 comments Download
M ui/ozone/platform/drm/gpu/mock_scanout_buffer.h View 1 2 3 1 chunk +1 line, -0 lines 0 comments Download
M ui/ozone/platform/drm/gpu/mock_scanout_buffer.cc View 1 2 3 4 1 chunk +4 lines, -0 lines 0 comments Download
M ui/ozone/platform/drm/gpu/scanout_buffer.h View 1 chunk +3 lines, -0 lines 0 comments Download
M ui/ozone/platform/drm/gpu/screen_manager.cc View 1 1 chunk +3 lines, -1 line 0 comments Download

Messages

Total messages: 16 (6 generated)
hshi
PTAL. I have verified that this is finally working. The trick is to also add ...
4 years, 7 months ago (2016-05-06 18:49:06 UTC) #3
dnicoara
You'll need to update the MockScanoutBuffer implementation (see the failing bot). Also, would you mind ...
4 years, 7 months ago (2016-05-06 19:11:04 UTC) #4
dnicoara
https://codereview.chromium.org/1780013002/diff/20001/ui/ozone/platform/drm/gpu/drm_window.cc File ui/ozone/platform/drm/gpu/drm_window.cc (right): https://codereview.chromium.org/1780013002/diff/20001/ui/ozone/platform/drm/gpu/drm_window.cc#newcode129 ui/ozone/platform/drm/gpu/drm_window.cc:129: if (plane.buffer && plane.buffer->GetDrmDevice() != drm) { If I ...
4 years, 7 months ago (2016-05-06 19:17:21 UTC) #5
dnicoara
On 2016/05/06 19:17:21, dnicoara wrote: > https://codereview.chromium.org/1780013002/diff/20001/ui/ozone/platform/drm/gpu/drm_window.cc > File ui/ozone/platform/drm/gpu/drm_window.cc (right): > > https://codereview.chromium.org/1780013002/diff/20001/ui/ozone/platform/drm/gpu/drm_window.cc#newcode129 > ...
4 years, 7 months ago (2016-05-06 19:19:06 UTC) #6
hshi
On 2016/05/06 19:17:21, dnicoara wrote: > https://codereview.chromium.org/1780013002/diff/20001/ui/ozone/platform/drm/gpu/drm_window.cc > File ui/ozone/platform/drm/gpu/drm_window.cc (right): > > https://codereview.chromium.org/1780013002/diff/20001/ui/ozone/platform/drm/gpu/drm_window.cc#newcode129 > ...
4 years, 7 months ago (2016-05-06 19:19:14 UTC) #7
hshi
https://codereview.chromium.org/1780013002/diff/20001/ui/ozone/platform/drm/gpu/drm_window.cc File ui/ozone/platform/drm/gpu/drm_window.cc (right): https://codereview.chromium.org/1780013002/diff/20001/ui/ozone/platform/drm/gpu/drm_window.cc#newcode129 ui/ozone/platform/drm/gpu/drm_window.cc:129: if (plane.buffer && plane.buffer->GetDrmDevice() != drm) { On 2016/05/06 ...
4 years, 7 months ago (2016-05-06 19:22:31 UTC) #8
dnicoara
lgtm
4 years, 7 months ago (2016-05-06 19:37:15 UTC) #9
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1780013002/80001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1780013002/80001
4 years, 7 months ago (2016-05-06 21:36:25 UTC) #12
commit-bot: I haz the power
Committed patchset #5 (id:80001)
4 years, 7 months ago (2016-05-06 21:40:18 UTC) #14
commit-bot: I haz the power
4 years, 7 months ago (2016-05-06 21:43:04 UTC) #16
Message was sent while issue was closed.
Patchset 5 (id:??) landed as
https://crrev.com/28c0dd4fc82d8834c0508492fc693204da39e21b
Cr-Commit-Position: refs/heads/master@{#392165}

Powered by Google App Engine
This is Rietveld 408576698