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

Issue 1028563003: Load and apply a vcgt table from an ICC file to the internal display (Closed)

Created:
5 years, 9 months ago by robert.bradford
Modified:
5 years, 7 months ago
CC:
chromium-reviews, kalyank, oshima+watch_chromium.org, ozone-reviews_chromium.org, piman+watch_chromium.org, stevenjb+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Load and apply a vcgt table from an ICC file to the internal display When the command line switch --internal-display-color-profile-file is provided load the given ICC file using qcms and extract the VCGT data. Use this VCGT data to apply a gamma ramp to change the output on the internal display using drmModeCrtcSetGammaRamp. BUG=471749 TEST=On a link_freon device add the command line option to load a sample ICC file (e.g. Bluish.icc to give a blue tint) and observe on startup that the internal display is blue tinted. Committed: https://crrev.com/46134a86af1eac76e97b062a68afeaa6c8801216 Cr-Commit-Position: refs/heads/master@{#328318}

Patch Set 1 : Rebase #

Patch Set 2 : Fix incorrect error message display #

Total comments: 1

Patch Set 3 : Embed table of values in logged action string #

Patch Set 4 : Add ash::DisplayColorManager #

Total comments: 21

Patch Set 5 : Address oshima & spang feedback #

Total comments: 2

Patch Set 6 : Fix missing consts on vectors #

Total comments: 9

Patch Set 7 : Fix oshima@ feedback #

Total comments: 4

Patch Set 8 : fix spang/oshima nits #

Total comments: 2

Patch Set 9 : Use a vectore of tuples of RGB components for IPC #

Total comments: 3

Patch Set 10 : Use a structure for RGB data from DisplayColorManager through to DrmDevice #

Patch Set 11 : Minor fixes #

Total comments: 2

Patch Set 12 : Address dcheng@ feedback #

Patch Set 13 : Rebase #

Patch Set 14 : Export GammaRampRGBEntry struct #

Patch Set 15 : Fix ozone build #

Unified diffs Side-by-side diffs Delta from patch set Stats (+410 lines, -0 lines) Patch
M ash/ash.gyp View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +3 lines, -0 lines 0 comments Download
M ash/content/display/DEPS View 1 2 3 4 1 chunk +2 lines, -0 lines 0 comments Download
A ash/content/display/display_color_manager_chromeos.h View 1 2 3 4 5 6 7 8 9 1 chunk +66 lines, -0 lines 0 comments Download
A ash/content/display/display_color_manager_chromeos.cc View 1 2 3 4 5 6 7 8 9 1 chunk +139 lines, -0 lines 0 comments Download
M ash/shell.h View 1 2 3 4 2 chunks +2 lines, -0 lines 0 comments Download
M ash/shell.cc View 1 2 3 4 5 6 7 8 9 10 11 12 3 chunks +4 lines, -0 lines 0 comments Download
M chromeos/chromeos_switches.h View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +1 line, -0 lines 0 comments Download
M chromeos/chromeos_switches.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +4 lines, -0 lines 0 comments Download
M ui/display/chromeos/display_configurator.h View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +6 lines, -0 lines 0 comments Download
M ui/display/chromeos/display_configurator.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +11 lines, -0 lines 0 comments Download
M ui/display/chromeos/test/action_logger_util.h View 1 2 3 4 5 6 7 8 9 3 chunks +5 lines, -0 lines 0 comments Download
M ui/display/chromeos/test/action_logger_util.cc View 1 2 3 4 5 6 7 8 9 2 chunks +15 lines, -0 lines 0 comments Download
M ui/display/chromeos/test/test_native_display_delegate.h View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +2 lines, -0 lines 0 comments Download
M ui/display/chromeos/test/test_native_display_delegate.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +7 lines, -0 lines 0 comments Download
M ui/display/chromeos/x11/native_display_delegate_x11.h View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +2 lines, -0 lines 0 comments Download
M ui/display/chromeos/x11/native_display_delegate_x11.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +7 lines, -0 lines 0 comments Download
M ui/display/display.gyp View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +1 line, -0 lines 0 comments Download
M ui/display/types/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +1 line, -0 lines 0 comments Download
A ui/display/types/gamma_ramp_rgb_entry.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +23 lines, -0 lines 0 comments Download
M ui/display/types/native_display_delegate.h View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +6 lines, -0 lines 0 comments Download
M ui/ozone/common/gpu/ozone_gpu_messages.h View 1 2 3 4 5 6 7 8 9 10 11 12 3 chunks +12 lines, -0 lines 0 comments Download
M ui/ozone/common/native_display_delegate_ozone.h View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +3 lines, -0 lines 0 comments Download
M ui/ozone/common/native_display_delegate_ozone.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +7 lines, -0 lines 0 comments Download
M ui/ozone/platform/drm/gpu/drm_device.h View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +5 lines, -0 lines 0 comments Download
M ui/ozone/platform/drm/gpu/drm_device.cc View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +29 lines, -0 lines 0 comments Download
M ui/ozone/platform/drm/gpu/drm_gpu_display_manager.h View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +5 lines, -0 lines 0 comments Download
M ui/ozone/platform/drm/gpu/drm_gpu_display_manager.cc View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +16 lines, -0 lines 0 comments Download
M ui/ozone/platform/drm/gpu/drm_gpu_platform_support.h View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +2 lines, -0 lines 0 comments Download
M ui/ozone/platform/drm/gpu/drm_gpu_platform_support.cc View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +7 lines, -0 lines 0 comments Download
M ui/ozone/platform/drm/host/drm_native_display_delegate.h View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +2 lines, -0 lines 0 comments Download
M ui/ozone/platform/drm/host/drm_native_display_delegate.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +7 lines, -0 lines 0 comments Download
M ui/ozone/platform/drm/test/mock_drm_device.h View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +3 lines, -0 lines 0 comments Download
M ui/ozone/platform/drm/test/mock_drm_device.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +5 lines, -0 lines 0 comments Download

Messages

Total messages: 50 (9 generated)
robert.bradford
oshima@ PTAL at the changes in ui/display spang@ & dnicoara@ PTAL at the changes in ...
5 years, 8 months ago (2015-04-02 12:17:44 UTC) #3
oshima
https://codereview.chromium.org/1028563003/diff/40001/ui/display/chromeos/test/action_logger_util.cc File ui/display/chromeos/test/action_logger_util.cc (right): https://codereview.chromium.org/1028563003/diff/40001/ui/display/chromeos/test/action_logger_util.cc#newcode58 ui/display/chromeos/test/action_logger_util.cc:58: const std::vector<uint16_t>& b) { are you going to use ...
5 years, 8 months ago (2015-04-02 15:56:52 UTC) #4
robert.bradford
On 2015/04/02 15:56:52, oshima wrote: > https://codereview.chromium.org/1028563003/diff/40001/ui/display/chromeos/test/action_logger_util.cc > File ui/display/chromeos/test/action_logger_util.cc (right): > > https://codereview.chromium.org/1028563003/diff/40001/ui/display/chromeos/test/action_logger_util.cc#newcode58 > ...
5 years, 8 months ago (2015-04-08 13:03:53 UTC) #5
spang
On 2015/04/08 13:03:53, robert.bradford wrote: > On 2015/04/02 15:56:52, oshima wrote: > > > https://codereview.chromium.org/1028563003/diff/40001/ui/display/chromeos/test/action_logger_util.cc ...
5 years, 8 months ago (2015-04-08 14:08:44 UTC) #6
robert.bradford
> It seems like an incomplete series. Where's the code to call SetGammaRamp? I had ...
5 years, 8 months ago (2015-04-10 18:22:33 UTC) #7
spang
Just one nit.. otherwise the plumbing in ui/ozone looks lgtm. https://codereview.chromium.org/1028563003/diff/80001/ui/ozone/platform/drm/gpu/drm_gpu_display_manager.cc File ui/ozone/platform/drm/gpu/drm_gpu_display_manager.cc (right): https://codereview.chromium.org/1028563003/diff/80001/ui/ozone/platform/drm/gpu/drm_gpu_display_manager.cc#newcode255 ...
5 years, 8 months ago (2015-04-13 18:22:43 UTC) #8
oshima
https://codereview.chromium.org/1028563003/diff/80001/ash/display/display_color_manager_chromeos.cc File ash/display/display_color_manager_chromeos.cc (right): https://codereview.chromium.org/1028563003/diff/80001/ash/display/display_color_manager_chromeos.cc#newcode7 ash/display/display_color_manager_chromeos.cc:7: #include "ash/display/display_info.h" do you need this? https://codereview.chromium.org/1028563003/diff/80001/ash/display/display_color_manager_chromeos.cc#newcode55 ash/display/display_color_manager_chromeos.cc:55: return ...
5 years, 8 months ago (2015-04-15 23:56:13 UTC) #9
robert.bradford
Hi oshima@ and spang@. Thanks for the feedback. All your issues should be been addressed ...
5 years, 8 months ago (2015-04-17 16:42:46 UTC) #10
spang
https://codereview.chromium.org/1028563003/diff/100001/ui/ozone/platform/drm/gpu/drm_device.h File ui/ozone/platform/drm/gpu/drm_device.h (right): https://codereview.chromium.org/1028563003/diff/100001/ui/ozone/platform/drm/gpu/drm_device.h#newcode163 ui/ozone/platform/drm/gpu/drm_device.h:163: std::vector<uint16_t> r, const & (or if you do want ...
5 years, 8 months ago (2015-04-17 17:04:51 UTC) #11
robert.bradford
https://codereview.chromium.org/1028563003/diff/100001/ui/ozone/platform/drm/gpu/drm_device.h File ui/ozone/platform/drm/gpu/drm_device.h (right): https://codereview.chromium.org/1028563003/diff/100001/ui/ozone/platform/drm/gpu/drm_device.h#newcode163 ui/ozone/platform/drm/gpu/drm_device.h:163: std::vector<uint16_t> r, On 2015/04/17 17:04:51, spang wrote: > const ...
5 years, 8 months ago (2015-04-17 17:17:48 UTC) #12
oshima
https://codereview.chromium.org/1028563003/diff/120001/ash/content/display/display_color_manager_chromeos.cc File ash/content/display/display_color_manager_chromeos.cc (right): https://codereview.chromium.org/1028563003/diff/120001/ash/content/display/display_color_manager_chromeos.cc#newcode93 ash/content/display/display_color_manager_chromeos.cc:93: << "for internal display id: " << gfx::Display::InternalDisplayId(); internal ...
5 years, 8 months ago (2015-04-17 17:46:17 UTC) #13
robert.bradford
Thanks for the feedback oshima; patch updated based on your review. https://codereview.chromium.org/1028563003/diff/120001/ash/content/display/display_color_manager_chromeos.cc File ash/content/display/display_color_manager_chromeos.cc (right): ...
5 years, 8 months ago (2015-04-17 18:54:47 UTC) #14
spang
https://codereview.chromium.org/1028563003/diff/140001/ui/ozone/platform/drm/gpu/drm_gpu_display_manager.cc File ui/ozone/platform/drm/gpu/drm_gpu_display_manager.cc (right): https://codereview.chromium.org/1028563003/diff/140001/ui/ozone/platform/drm/gpu/drm_gpu_display_manager.cc#newcode250 ui/ozone/platform/drm/gpu/drm_gpu_display_manager.cc:250: LOG(ERROR) << "Gamma ramp channels must all the same ...
5 years, 8 months ago (2015-04-17 19:07:42 UTC) #15
oshima
lgtm my bits with nits. https://codereview.chromium.org/1028563003/diff/120001/ash/content/display/display_color_manager_chromeos.cc File ash/content/display/display_color_manager_chromeos.cc (right): https://codereview.chromium.org/1028563003/diff/120001/ash/content/display/display_color_manager_chromeos.cc#newcode93 ash/content/display/display_color_manager_chromeos.cc:93: << "for internal display ...
5 years, 8 months ago (2015-04-21 19:49:44 UTC) #16
robert.bradford
Thanks spang@ and oshima@. + dcheng@ for ipc messages security review + sievers@ and noel@ ...
5 years, 8 months ago (2015-04-27 13:49:33 UTC) #18
robert.bradford
+ noel@ as OWNER of file added to DEPS.
5 years, 8 months ago (2015-04-27 18:25:11 UTC) #20
dcheng
https://codereview.chromium.org/1028563003/diff/160001/ui/ozone/common/gpu/ozone_gpu_messages.h File ui/ozone/common/gpu/ozone_gpu_messages.h (right): https://codereview.chromium.org/1028563003/diff/160001/ui/ozone/common/gpu/ozone_gpu_messages.h#newcode110 ui/ozone/common/gpu/ozone_gpu_messages.h:110: std::vector<uint16_t>) // b From a security perspective, I'd be ...
5 years, 7 months ago (2015-04-28 18:45:34 UTC) #21
Noel Gordon
Also re: security, Robert could you add the ICC file you used for manually testing ...
5 years, 7 months ago (2015-04-29 00:49:58 UTC) #22
robert.bradford
On 2015/04/29 00:49:58, noel gordon wrote: > Also re: security, Robert could you add the ...
5 years, 7 months ago (2015-04-29 13:39:50 UTC) #23
robert.bradford
https://codereview.chromium.org/1028563003/diff/160001/ui/ozone/common/gpu/ozone_gpu_messages.h File ui/ozone/common/gpu/ozone_gpu_messages.h (right): https://codereview.chromium.org/1028563003/diff/160001/ui/ozone/common/gpu/ozone_gpu_messages.h#newcode110 ui/ozone/common/gpu/ozone_gpu_messages.h:110: std::vector<uint16_t>) // b dcheng@ please see updated patch. I ...
5 years, 7 months ago (2015-04-29 13:40:14 UTC) #24
dcheng
https://codereview.chromium.org/1028563003/diff/180001/ui/ozone/common/gpu/ozone_gpu_messages.h File ui/ozone/common/gpu/ozone_gpu_messages.h (right): https://codereview.chromium.org/1028563003/diff/180001/ui/ozone/common/gpu/ozone_gpu_messages.h#newcode110 ui/ozone/common/gpu/ozone_gpu_messages.h:110: int64_t, // display ID, Nit: make this comment consistent ...
5 years, 7 months ago (2015-04-29 21:43:01 UTC) #25
dnicoara
https://codereview.chromium.org/1028563003/diff/180001/ui/ozone/platform/drm/gpu/drm_gpu_display_manager.cc File ui/ozone/platform/drm/gpu/drm_gpu_display_manager.cc (right): https://codereview.chromium.org/1028563003/diff/180001/ui/ozone/platform/drm/gpu/drm_gpu_display_manager.cc#newcode249 ui/ozone/platform/drm/gpu/drm_gpu_display_manager.cc:249: if (r.size() != g.size() || g.size() != b.size()) { ...
5 years, 7 months ago (2015-04-29 21:48:10 UTC) #26
dbehr
Hi, Different devices have different size gamma tables. Intel is 256 entries, Rockchip is 1024 ...
5 years, 7 months ago (2015-04-29 22:12:42 UTC) #27
Noel Gordon
QCMS could provide ramp data in a single array (a block of R data, followed ...
5 years, 7 months ago (2015-04-30 10:41:48 UTC) #28
robert.bradford
On 2015/04/30 10:41:48, noel gordon wrote: > QCMS could provide ramp data in a single ...
5 years, 7 months ago (2015-04-30 11:34:20 UTC) #29
Noel Gordon
On 2015/04/30 11:34:20, robert.bradford wrote: > On 2015/04/30 10:41:48, noel gordon wrote: > > QCMS ...
5 years, 7 months ago (2015-04-30 12:17:41 UTC) #30
Noel Gordon
On 2015/04/30 11:34:20, robert.bradford wrote: > On 2015/04/30 10:41:48, noel gordon wrote: > > QCMS ...
5 years, 7 months ago (2015-04-30 12:18:20 UTC) #31
Noel Gordon
On 2015/04/30 11:34:20, robert.bradford wrote: > On 2015/04/30 10:41:48, noel gordon wrote: > > QCMS ...
5 years, 7 months ago (2015-04-30 12:25:31 UTC) #32
robert.bradford
> Ok so uint16_t is about precision, understood. Note that Chrome is designed for > ...
5 years, 7 months ago (2015-04-30 12:27:25 UTC) #33
dcheng
When possible, it's nice to have as few manual checks for things as possible. While ...
5 years, 7 months ago (2015-04-30 15:57:01 UTC) #34
robert.bradford
dbehr@: Great point. In the latest version of my patch i've added a check along ...
5 years, 7 months ago (2015-04-30 19:20:30 UTC) #35
spang
lgtm
5 years, 7 months ago (2015-04-30 19:32:26 UTC) #36
dcheng
ipc changes lgtm with nits https://codereview.chromium.org/1028563003/diff/220001/ui/ozone/common/gpu/ozone_gpu_messages.h File ui/ozone/common/gpu/ozone_gpu_messages.h (right): https://codereview.chromium.org/1028563003/diff/220001/ui/ozone/common/gpu/ozone_gpu_messages.h#newcode52 ui/ozone/common/gpu/ozone_gpu_messages.h:52: IPC_STRUCT_TRAITS_MEMBER(r) Nit: indent. clang-format ...
5 years, 7 months ago (2015-04-30 20:40:24 UTC) #37
no sievers
lgtm for deps
5 years, 7 months ago (2015-05-01 16:46:21 UTC) #38
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1028563003/260001
5 years, 7 months ago (2015-05-01 17:33:48 UTC) #41
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: chromium_presubmit on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presubmit/builds/60554)
5 years, 7 months ago (2015-05-01 17:45:36 UTC) #43
Noel Gordon
LGTM for the qcms parts.
5 years, 7 months ago (2015-05-02 01:47:08 UTC) #44
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1028563003/300001
5 years, 7 months ago (2015-05-05 12:00:56 UTC) #47
commit-bot: I haz the power
Committed patchset #15 (id:300001)
5 years, 7 months ago (2015-05-05 12:54:12 UTC) #48
commit-bot: I haz the power
Patchset 15 (id:??) landed as https://crrev.com/46134a86af1eac76e97b062a68afeaa6c8801216 Cr-Commit-Position: refs/heads/master@{#328318}
5 years, 7 months ago (2015-05-05 12:55:45 UTC) #49
jochen (gone - plz use gerrit)
5 years, 7 months ago (2015-05-05 13:47:59 UTC) #50
Message was sent while issue was closed.
A revert of this CL (patchset #15 id:300001) has been created in
https://codereview.chromium.org/1118373006/ by jochen@chromium.org.

The reason for reverting is: breaks compilation

https://build.chromium.org/p/chromium.chromiumos/builders/Linux%20ChromiumOS%....

Powered by Google App Engine
This is Rietveld 408576698