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

Issue 1914343003: Reland: ash: reset color management when new screens are hotplugged (Closed)

Created:
4 years, 7 months ago by llandwerlin-old
Modified:
4 years, 7 months ago
CC:
chromium-reviews, kalyank, sadrul, 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

Reland: ash: reset color management when new screens are plugged Reland with fix for platforms that don't support drmModeCrtcSetGamma. With the DRM drivers on ChromeOS, the color management tables and matrices are stored at the pipe level (part of the display hardware that is configurable regardless of the actual connector it is attached to). This allows display configuration to remain active while different processes are using the driver (for example switching VT). As a result, when an external screen is connected to a Chromebook, a given color configuration might be applied to it and remain stored in the driver after the screen is disconnected. If another external screen is now connected the previously applied color management will remain if there is not a profile for that display. This change takes care of resetting the color management matrices/tables on newly connected screen before we apply a new configuration. BUG=495196, 609256 TEST=Manual testing with hotplugging of a display and identify correct behavior. Committed: https://crrev.com/5932a0131851f35b74be5d2fc86a3834defd4d8c Cr-Commit-Position: refs/heads/master@{#391491} Committed: https://crrev.com/7af25197088e372b01dbb1ea7b7793e5c1e404d2 Cr-Commit-Position: refs/heads/master@{#391810}

Patch Set 1 #

Total comments: 3

Patch Set 2 : Rob's review #

Total comments: 7

Patch Set 3 : nits #

Patch Set 4 : Add an error when trying to set a gamma table without driver support #

Unified diffs Side-by-side diffs Delta from patch set Stats (+84 lines, -50 lines) Patch
M ash/display/display_color_manager_chromeos.cc View 1 1 chunk +5 lines, -0 lines 0 comments Download
M ash/display/display_color_manager_chromeos_unittest.cc View 7 chunks +14 lines, -6 lines 0 comments Download
M ui/ozone/platform/drm/gpu/drm_device.h View 1 2 chunks +3 lines, -3 lines 0 comments Download
M ui/ozone/platform/drm/gpu/drm_device.cc View 1 2 3 5 chunks +58 lines, -22 lines 0 comments Download
M ui/ozone/platform/drm/gpu/drm_display.cc View 1 1 chunk +4 lines, -11 lines 0 comments Download
M ui/ozone/platform/drm/gpu/drm_gpu_display_manager.h View 1 1 chunk +0 lines, -1 line 0 comments Download
M ui/ozone/platform/drm/gpu/mock_drm_device.h View 1 1 chunk +0 lines, -2 lines 0 comments Download
M ui/ozone/platform/drm/gpu/mock_drm_device.cc View 1 1 chunk +0 lines, -5 lines 0 comments Download

Messages

Total messages: 40 (21 generated)
llandwerlin-old
4 years, 7 months ago (2016-04-27 11:28:41 UTC) #3
robert.bradford
This solution doesn't handle the VCGT based platforms that are in active use. Those would ...
4 years, 7 months ago (2016-04-27 12:29:46 UTC) #4
llandwerlin-old
Thanks! Actually realized that SetGammaRamp can be made private as it's just a corner case ...
4 years, 7 months ago (2016-04-27 15:22:30 UTC) #5
robert.bradford
+oshima@ for ash changes +spang@ for ui/ozone changes https://codereview.chromium.org/1914343003/diff/20001/ui/ozone/platform/drm/gpu/drm_device.cc File ui/ozone/platform/drm/gpu/drm_device.cc (right): https://codereview.chromium.org/1914343003/diff/20001/ui/ozone/platform/drm/gpu/drm_device.cc#newcode699 ui/ozone/platform/drm/gpu/drm_device.cc:699: gamma_size ...
4 years, 7 months ago (2016-04-27 18:58:42 UTC) #10
oshima
https://codereview.chromium.org/1914343003/diff/20001/ash/display/display_color_manager_chromeos.cc File ash/display/display_color_manager_chromeos.cc (right): https://codereview.chromium.org/1914343003/diff/20001/ash/display/display_color_manager_chromeos.cc#newcode170 ash/display/display_color_manager_chromeos.cc:170: std::vector<ui::GammaRampRGBEntry>(), std::vector<float>()); Since DisplayConfigurator calls OndisplayModeChanged, isn't it better ...
4 years, 7 months ago (2016-04-27 19:37:44 UTC) #11
oshima
4 years, 7 months ago (2016-04-27 19:37:47 UTC) #12
spang
lgtm
4 years, 7 months ago (2016-04-27 21:45:57 UTC) #13
llandwerlin-old
https://codereview.chromium.org/1914343003/diff/20001/ash/display/display_color_manager_chromeos.cc File ash/display/display_color_manager_chromeos.cc (right): https://codereview.chromium.org/1914343003/diff/20001/ash/display/display_color_manager_chromeos.cc#newcode170 ash/display/display_color_manager_chromeos.cc:170: std::vector<ui::GammaRampRGBEntry>(), std::vector<float>()); On 2016/04/27 19:37:44, oshima wrote: > Since ...
4 years, 7 months ago (2016-04-28 10:41:53 UTC) #15
oshima
https://codereview.chromium.org/1914343003/diff/20001/ash/display/display_color_manager_chromeos.cc File ash/display/display_color_manager_chromeos.cc (right): https://codereview.chromium.org/1914343003/diff/20001/ash/display/display_color_manager_chromeos.cc#newcode170 ash/display/display_color_manager_chromeos.cc:170: std::vector<ui::GammaRampRGBEntry>(), std::vector<float>()); On 2016/04/28 10:41:52, llandwerlin wrote: > On ...
4 years, 7 months ago (2016-04-28 18:11:59 UTC) #16
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1914343003/30009 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1914343003/30009
4 years, 7 months ago (2016-05-04 12:53:53 UTC) #19
commit-bot: I haz the power
Committed patchset #3 (id:30009)
4 years, 7 months ago (2016-05-04 13:29:10 UTC) #20
commit-bot: I haz the power
Patchset 3 (id:??) landed as https://crrev.com/5932a0131851f35b74be5d2fc86a3834defd4d8c Cr-Commit-Position: refs/heads/master@{#391491}
4 years, 7 months ago (2016-05-04 13:30:49 UTC) #22
llandwerlin-old
A revert of this CL (patchset #3 id:30009) has been created in https://codereview.chromium.org/1945353004/ by lionel.g.landwerlin@intel.com. ...
4 years, 7 months ago (2016-05-05 09:23:05 UTC) #23
robert.bradford
reland lgtm.
4 years, 7 months ago (2016-05-05 11:39:45 UTC) #28
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1914343003/70001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1914343003/70001
4 years, 7 months ago (2016-05-05 12:48:51 UTC) #30
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 7 months ago (2016-05-05 12:52:18 UTC) #32
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1914343003/90001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1914343003/90001
4 years, 7 months ago (2016-05-05 15:38:52 UTC) #36
commit-bot: I haz the power
Committed patchset #4 (id:90001)
4 years, 7 months ago (2016-05-05 15:44:44 UTC) #38
commit-bot: I haz the power
4 years, 7 months ago (2016-05-05 15:46:41 UTC) #40
Message was sent while issue was closed.
Patchset 4 (id:??) landed as
https://crrev.com/7af25197088e372b01dbb1ea7b7793e5c1e404d2
Cr-Commit-Position: refs/heads/master@{#391810}

Powered by Google App Engine
This is Rietveld 408576698