From e005ecc8ce2f29011df0dad07ccfd7eb2d61c207 Mon Sep 17 00:00:00 2001 From: jochen Date: Tue, 5 May 2015 06:49:15 -0700 Subject: [PATCH] Revert of Load and apply a vcgt table from an ICC file to the internal display (patchset #15 id:300001 of https://codereview.chromium.org/1028563003/) Reason for revert: breaks compilation https://build.chromium.org/p/chromium.chromiumos/builders/Linux%20ChromiumOS%20GN%20(dbg)/builds/1084 Original issue's 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} TBR=dcheng@chromium.org,dnicoara@chromium.org,noel@chromium.org,oshima@chromium.org,sievers@chromium.org,spang@chromium.org,robert.bradford@intel.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=471749 Review URL: https://codereview.chromium.org/1118373006 Cr-Commit-Position: refs/heads/master@{#328321} --- ash/ash.gyp | 3 - ash/content/display/DEPS | 2 - .../display/display_color_manager_chromeos.cc | 139 ------------------ .../display/display_color_manager_chromeos.h | 66 --------- ash/shell.cc | 4 - ash/shell.h | 2 - chromeos/chromeos_switches.cc | 4 - chromeos/chromeos_switches.h | 1 - ui/display/chromeos/display_configurator.cc | 11 -- ui/display/chromeos/display_configurator.h | 6 - .../chromeos/test/action_logger_util.cc | 15 -- ui/display/chromeos/test/action_logger_util.h | 5 - .../test/test_native_display_delegate.cc | 7 - .../test/test_native_display_delegate.h | 2 - .../x11/native_display_delegate_x11.cc | 7 - .../x11/native_display_delegate_x11.h | 2 - ui/display/display.gyp | 1 - ui/display/types/BUILD.gn | 1 - ui/display/types/gamma_ramp_rgb_entry.h | 23 --- ui/display/types/native_display_delegate.h | 6 - ui/ozone/common/gpu/ozone_gpu_messages.h | 12 -- .../common/native_display_delegate_ozone.cc | 7 - .../common/native_display_delegate_ozone.h | 3 - ui/ozone/platform/drm/gpu/drm_device.cc | 29 ---- ui/ozone/platform/drm/gpu/drm_device.h | 5 - .../drm/gpu/drm_gpu_display_manager.cc | 16 -- .../drm/gpu/drm_gpu_display_manager.h | 5 - .../drm/gpu/drm_gpu_platform_support.cc | 7 - .../drm/gpu/drm_gpu_platform_support.h | 2 - .../drm/host/drm_native_display_delegate.cc | 7 - .../drm/host/drm_native_display_delegate.h | 2 - ui/ozone/platform/drm/test/mock_drm_device.cc | 5 - ui/ozone/platform/drm/test/mock_drm_device.h | 3 - 33 files changed, 410 deletions(-) delete mode 100644 ash/content/display/display_color_manager_chromeos.cc delete mode 100644 ash/content/display/display_color_manager_chromeos.h delete mode 100644 ui/display/types/gamma_ramp_rgb_entry.h diff --git a/ash/ash.gyp b/ash/ash.gyp index 1044e244c6c67f..972152cc287c2a 100644 --- a/ash/ash.gyp +++ b/ash/ash.gyp @@ -43,8 +43,6 @@ 'autoclick/autoclick_controller.h', 'cancel_mode.cc', 'cancel_mode.h', - 'content/display/display_color_manager_chromeos.cc', - 'content/display/display_color_manager_chromeos.h', 'content/display/screen_orientation_controller_chromeos.cc', 'content/display/screen_orientation_controller_chromeos.h', 'debug.cc', @@ -969,7 +967,6 @@ # Ash #includes power_supply_properties.pb.h directly. '../chromeos/chromeos.gyp:power_manager_proto', '../device/bluetooth/bluetooth.gyp:device_bluetooth', - '../third_party/qcms/qcms.gyp:qcms', '../ui/chromeos/ui_chromeos.gyp:ui_chromeos_resources', '../ui/chromeos/ui_chromeos.gyp:ui_chromeos_strings', '../ui/chromeos/ui_chromeos.gyp:ui_chromeos', diff --git a/ash/content/display/DEPS b/ash/content/display/DEPS index 07d93bc07d7b2b..42cea3cdb704c2 100644 --- a/ash/content/display/DEPS +++ b/ash/content/display/DEPS @@ -2,9 +2,7 @@ include_rules = [ "+content/public/browser/screen_orientation_delegate.h", "+content/public/browser/screen_orientation_provider.h", "+content/public/browser/browser_context.h", - "+content/public/browser/browser_thread.h", "+content/public/browser/web_contents.h", - "+third_party/qcms/src/qcms.h", "+third_party/WebKit/public/platform/WebScreenOrientationLockType.h", ] diff --git a/ash/content/display/display_color_manager_chromeos.cc b/ash/content/display/display_color_manager_chromeos.cc deleted file mode 100644 index 0d7252f87399c8..00000000000000 --- a/ash/content/display/display_color_manager_chromeos.cc +++ /dev/null @@ -1,139 +0,0 @@ -// Copyright 2015 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "ash/content/display/display_color_manager_chromeos.h" - -#include "base/bind.h" -#include "base/bind_helpers.h" -#include "base/command_line.h" -#include "base/files/file_path.h" -#include "base/logging.h" -#include "chromeos/chromeos_switches.h" -#include "content/public/browser/browser_thread.h" -#include "third_party/qcms/src/qcms.h" -#include "ui/display/types/display_snapshot.h" -#include "ui/display/types/gamma_ramp_rgb_entry.h" -#include "ui/display/types/native_display_delegate.h" -#include "ui/gfx/display.h" -#include "ui/gfx/screen.h" - -using content::BrowserThread; - -namespace ash { - -namespace { - -bool ParseFile(const base::FilePath& path, - DisplayColorManager::ColorCalibrationData* data) { - qcms_profile* display_profile = qcms_profile_from_path(path.value().c_str()); - - if (!display_profile) { - LOG(WARNING) << "Unable to load ICC file: " << path.value(); - return false; - } - - size_t vcgt_channel_length = - qcms_profile_get_vcgt_channel_length(display_profile); - if (!vcgt_channel_length) { - LOG(WARNING) << "No vcgt table in ICC file: " << path.value(); - return false; - } - - std::vector vcgt_data; - vcgt_data.resize(vcgt_channel_length * 3); - if (!qcms_profile_get_vcgt_rgb_channels(display_profile, &vcgt_data[0])) { - LOG(WARNING) << "Unable to get vcgt data"; - qcms_profile_release(display_profile); - return false; - } - - data->lut.resize(vcgt_channel_length); - for (size_t i = 0; i < vcgt_channel_length; ++i) { - data->lut[i].r = vcgt_data[i]; - data->lut[i].g = vcgt_data[vcgt_channel_length + i]; - data->lut[i].b = vcgt_data[(vcgt_channel_length * 2) + i]; - } - qcms_profile_release(display_profile); - return true; -} - -} // namespace - -DisplayColorManager::DisplayColorManager(ui::DisplayConfigurator* configurator) - : configurator_(configurator) { - configurator_->AddObserver(this); - LoadInternalFromCommandLine(); -} - -DisplayColorManager::~DisplayColorManager() { - configurator_->RemoveObserver(this); - - for (auto it : calibration_map_) { - delete it.second; - calibration_map_.erase(it.first); - } -} - -void DisplayColorManager::OnDisplayModeChanged( - const ui::DisplayConfigurator::DisplayStateList& display_states) { - for (const ui::DisplaySnapshot* state : display_states) - ApplyDisplayColorCalibration(state->display_id()); -} - -void DisplayColorManager::ApplyDisplayColorCalibration(uint64_t display_id) { - if (calibration_map_.find(display_id) != calibration_map_.end()) { - ColorCalibrationData* ramp = calibration_map_[display_id]; - if (!configurator_->SetGammaRamp(display_id, ramp->lut)) - LOG(WARNING) << "Error applying gamma ramp"; - } -} - -void DisplayColorManager::LoadInternalFromCommandLine() { - const base::CommandLine* command_line = - base::CommandLine::ForCurrentProcess(); - if (command_line->HasSwitch( - chromeos::switches::kInternalDisplayColorProfileFile)) { - const base::FilePath& path = command_line->GetSwitchValuePath( - chromeos::switches::kInternalDisplayColorProfileFile); - VLOG(1) << "Loading ICC file : " << path.value() - << "for internal display id: " << gfx::Display::InternalDisplayId(); - LoadCalibrationForDisplay(gfx::Display::InternalDisplayId(), path); - } -} - -void DisplayColorManager::LoadCalibrationForDisplay( - int64_t display_id, - const base::FilePath& path) { - if (display_id == gfx::Display::kInvalidDisplayID) { - LOG(WARNING) << "Trying to load calibration data for invalid display id"; - return; - } - - scoped_ptr data(new ColorCalibrationData()); - base::Callback request( - base::Bind(&ParseFile, path, base::Unretained(data.get()))); - base::PostTaskAndReplyWithResult( - BrowserThread::GetBlockingPool(), FROM_HERE, request, - base::Bind(&DisplayColorManager::UpdateCalibrationData, AsWeakPtr(), - display_id, base::Passed(data.Pass()))); -} - -void DisplayColorManager::UpdateCalibrationData( - uint64_t display_id, - scoped_ptr data, - bool success) { - DCHECK_CURRENTLY_ON(BrowserThread::UI); - if (success) { - // The map takes over ownership of the underlying memory. - calibration_map_[display_id] = data.release(); - } -} - -DisplayColorManager::ColorCalibrationData::ColorCalibrationData() { -} - -DisplayColorManager::ColorCalibrationData::~ColorCalibrationData() { -} - -} // namespace ash diff --git a/ash/content/display/display_color_manager_chromeos.h b/ash/content/display/display_color_manager_chromeos.h deleted file mode 100644 index 7f21c329c3d29d..00000000000000 --- a/ash/content/display/display_color_manager_chromeos.h +++ /dev/null @@ -1,66 +0,0 @@ -// Copyright 2015 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef ASH_DISPLAY_DISPLAY_COLOR_MANAGER_CHROMEOS_H_ -#define ASH_DISPLAY_DISPLAY_COLOR_MANAGER_CHROMEOS_H_ - -#include -#include - -#include "ash/ash_export.h" -#include "base/basictypes.h" -#include "base/files/file_path.h" -#include "base/memory/weak_ptr.h" -#include "ui/display/chromeos/display_configurator.h" -#include "ui/gfx/display.h" -#include "ui/gfx/display_observer.h" - -namespace ui { -struct GammaRampRGBEntry; -} // namespace ui - -namespace ash { - -// An object that observes changes in display configuration applies any color -// calibration where needed. -class ASH_EXPORT DisplayColorManager - : public ui::DisplayConfigurator::Observer, - public base::SupportsWeakPtr { - public: - explicit DisplayColorManager(ui::DisplayConfigurator* configurator); - ~DisplayColorManager() override; - - // ui::DisplayConfigurator::Observer - void OnDisplayModeChanged( - const ui::DisplayConfigurator::DisplayStateList& outputs) override; - void OnDisplayModeChangeFailed( - const ui::DisplayConfigurator::DisplayStateList& displays, - ui::MultipleDisplayState failed_new_state) override {} - - struct ColorCalibrationData { - ColorCalibrationData(); - ~ColorCalibrationData(); - - std::vector lut; - }; - - private: - void ApplyDisplayColorCalibration(uint64_t display_id); - void LoadInternalFromCommandLine(); - void LoadCalibrationForDisplay(int64_t display_id, - const base::FilePath& path); - void UpdateCalibrationData( - uint64_t display_id, - scoped_ptr data, - bool success); - - ui::DisplayConfigurator* configurator_; - std::map calibration_map_; - - DISALLOW_COPY_AND_ASSIGN(DisplayColorManager); -}; - -} // namespace ash - -#endif // ASH_DISPLAY_DISPLAY_COLOR_MANAGER_CHROMEOS_H_ diff --git a/ash/shell.cc b/ash/shell.cc index a6f455b15dc98a..e572d8de68d9d4 100644 --- a/ash/shell.cc +++ b/ash/shell.cc @@ -121,7 +121,6 @@ #include "ash/accelerators/magnifier_key_scroller.h" #include "ash/accelerators/spoken_feedback_toggler.h" #include "ash/ash_constants.h" -#include "ash/content/display/display_color_manager_chromeos.h" #include "ash/content/display/screen_orientation_controller_chromeos.h" #include "ash/display/display_change_observer_chromeos.h" #include "ash/display/display_configurator_animation.h" @@ -812,7 +811,6 @@ Shell::~Shell() { keyboard::KeyboardController::ResetInstance(NULL); #if defined(OS_CHROMEOS) - display_color_manager_.reset(); if (display_change_observer_) display_configurator_->RemoveObserver(display_change_observer_.get()); if (display_configurator_animation_) @@ -865,8 +863,6 @@ void Shell::Init(const ShellInitParams& init_params) { delegate_->IsFirstRunAfterBoot() ? kChromeOsBootColor : 0); display_initialized = true; } - display_color_manager_.reset( - new DisplayColorManager(display_configurator_.get())); #endif // defined(OS_CHROMEOS) if (!display_initialized) display_manager_->InitDefaultDisplay(); diff --git a/ash/shell.h b/ash/shell.h index cb46540be67024..14b7fd48fae11a 100644 --- a/ash/shell.h +++ b/ash/shell.h @@ -83,7 +83,6 @@ class BluetoothNotificationController; class CaptureController; class DesktopBackgroundController; class DisplayChangeObserver; -class DisplayColorManager; class DisplayConfiguratorAnimation; class DisplayController; class DisplayErrorObserver; @@ -726,7 +725,6 @@ class ASH_EXPORT Shell : public SystemModalContainerEventFilterDelegate, scoped_ptr virtual_keyboard_controller_; // Controls video output device state. scoped_ptr display_configurator_; - scoped_ptr display_color_manager_; scoped_ptr display_configurator_animation_; scoped_ptr display_error_observer_; scoped_ptr projecting_observer_; diff --git a/chromeos/chromeos_switches.cc b/chromeos/chromeos_switches.cc index 6ffbc9d76d962b..cc68e32572b938 100644 --- a/chromeos/chromeos_switches.cc +++ b/chromeos/chromeos_switches.cc @@ -220,10 +220,6 @@ const char kHostPairingOobe[] = "host-pairing-oobe"; const char kIgnoreUserProfileMappingForTests[] = "ignore-user-profile-mapping-for-tests"; -// File to load internal display ICC file from. -const char kInternalDisplayColorProfileFile[] = - "internal-display-color-profile-file"; - // Enables Chrome-as-a-login-manager behavior. const char kLoginManager[] = "login-manager"; diff --git a/chromeos/chromeos_switches.h b/chromeos/chromeos_switches.h index d81f60d3836447..65150d9ccdd25f 100644 --- a/chromeos/chromeos_switches.h +++ b/chromeos/chromeos_switches.h @@ -87,7 +87,6 @@ CHROMEOS_EXPORT extern const char kHasChromeOSKeyboard[]; CHROMEOS_EXPORT extern const char kHomedir[]; CHROMEOS_EXPORT extern const char kHostPairingOobe[]; CHROMEOS_EXPORT extern const char kIgnoreUserProfileMappingForTests[]; -CHROMEOS_EXPORT extern const char kInternalDisplayColorProfileFile[]; CHROMEOS_EXPORT extern const char kLoginManager[]; CHROMEOS_EXPORT extern const char kLoginProfile[]; CHROMEOS_EXPORT extern const char kLoginUser[]; diff --git a/ui/display/chromeos/display_configurator.cc b/ui/display/chromeos/display_configurator.cc index 0c7295451dc9b9..c577fd024500d9 100644 --- a/ui/display/chromeos/display_configurator.cc +++ b/ui/display/chromeos/display_configurator.cc @@ -754,17 +754,6 @@ bool DisplayConfigurator::SetColorCalibrationProfile( return false; } -bool DisplayConfigurator::SetGammaRamp( - int64_t display_id, - const std::vector& lut) { - for (const DisplaySnapshot* display : cached_displays_) { - if (display->display_id() == display_id) - return native_display_delegate_->SetGammaRamp(*display, lut); - } - - return false; -} - void DisplayConfigurator::PrepareForExit() { configure_display_ = false; } diff --git a/ui/display/chromeos/display_configurator.h b/ui/display/chromeos/display_configurator.h index 96f93eccae994c..3dc87f43603cb6 100644 --- a/ui/display/chromeos/display_configurator.h +++ b/ui/display/chromeos/display_configurator.h @@ -30,8 +30,6 @@ class Size; } namespace ui { -struct DisplayConfigureRequest; -struct GammaRampRGBEntry; class DisplayLayoutManager; class DisplayMode; class DisplaySnapshot; @@ -262,10 +260,6 @@ class DISPLAY_EXPORT DisplayConfigurator : public NativeDisplayObserver { bool SetColorCalibrationProfile(int64_t display_id, ui::ColorCalibrationProfile new_profile); - // Sets the gamma ramp for |display_id| to the values in |lut|. - bool SetGammaRamp(int64_t display_id, - const std::vector& lut); - private: class DisplayLayoutManagerImpl; diff --git a/ui/display/chromeos/test/action_logger_util.cc b/ui/display/chromeos/test/action_logger_util.cc index bbdad78bf5eba3..c798b48c06c468 100644 --- a/ui/display/chromeos/test/action_logger_util.cc +++ b/ui/display/chromeos/test/action_logger_util.cc @@ -5,12 +5,9 @@ #include "ui/display/chromeos/test/action_logger_util.h" #include "base/format_macros.h" -#include "base/logging.h" #include "base/strings/stringprintf.h" #include "ui/display/types/display_mode.h" #include "ui/display/types/display_snapshot.h" -#include "ui/display/types/gamma_ramp_rgb_entry.h" -#include "ui/display/types/native_display_delegate.h" #include "ui/gfx/geometry/point.h" #include "ui/gfx/geometry/size.h" @@ -55,18 +52,6 @@ std::string GetSetHDCPStateAction(const DisplaySnapshot& output, output.display_id(), state); } -std::string SetGammaRampAction(const ui::DisplaySnapshot& output, - const std::vector& lut) { - std::string table; - for (size_t i = 0; i < lut.size(); ++i) { - table += base::StringPrintf(",rgb[%" PRIuS "]=%04x%04x%04x", i, lut[i].r, - lut[i].g, lut[i].b); - } - - return base::StringPrintf("set_gamma_ramp(id=%" PRId64 "%s)", - output.display_id(), table.c_str()); -} - std::string JoinActions(const char* action, ...) { std::string actions; diff --git a/ui/display/chromeos/test/action_logger_util.h b/ui/display/chromeos/test/action_logger_util.h index 35609de5db355a..4b66cd1fb10a01 100644 --- a/ui/display/chromeos/test/action_logger_util.h +++ b/ui/display/chromeos/test/action_logger_util.h @@ -6,7 +6,6 @@ #define UI_DISPLAY_CHROMEOS_TEST_ACTION_LOGGER_UTIL_H_ #include -#include #include "ui/display/types/display_constants.h" @@ -17,7 +16,6 @@ class Size; namespace ui { -struct GammaRampRGBEntry; class DisplayMode; class DisplaySnapshot; @@ -64,9 +62,6 @@ std::string GetFramebufferAction(const gfx::Size& size, std::string GetSetHDCPStateAction(const DisplaySnapshot& output, HDCPState state); -// Returns a string describing a TestNativeDisplayDelegate::SetGammaRamp() call; -std::string SetGammaRampAction(const ui::DisplaySnapshot& output, - const std::vector& lut); // Joins a sequence of strings describing actions (e.g. kScreenDim) such // that they can be compared against a string returned by // ActionLogger::GetActionsAndClear(). The list of actions must be diff --git a/ui/display/chromeos/test/test_native_display_delegate.cc b/ui/display/chromeos/test/test_native_display_delegate.cc index dfffe3c7a051bc..f1b0101f0b2ef4 100644 --- a/ui/display/chromeos/test/test_native_display_delegate.cc +++ b/ui/display/chromeos/test/test_native_display_delegate.cc @@ -132,13 +132,6 @@ bool TestNativeDisplayDelegate::SetColorCalibrationProfile( return false; } -bool TestNativeDisplayDelegate::SetGammaRamp( - const ui::DisplaySnapshot& output, - const std::vector& lut) { - log_->AppendAction(SetGammaRampAction(output, lut)); - return true; -} - void TestNativeDisplayDelegate::AddObserver(NativeDisplayObserver* observer) { } diff --git a/ui/display/chromeos/test/test_native_display_delegate.h b/ui/display/chromeos/test/test_native_display_delegate.h index f64d3c78827fa1..f9e1767ff4f7bb 100644 --- a/ui/display/chromeos/test/test_native_display_delegate.h +++ b/ui/display/chromeos/test/test_native_display_delegate.h @@ -73,8 +73,6 @@ class TestNativeDisplayDelegate : public NativeDisplayDelegate { bool SetColorCalibrationProfile( const DisplaySnapshot& output, ui::ColorCalibrationProfile new_profile) override; - bool SetGammaRamp(const ui::DisplaySnapshot& output, - const std::vector& lut) override; void AddObserver(NativeDisplayObserver* observer) override; void RemoveObserver(NativeDisplayObserver* observer) override; diff --git a/ui/display/chromeos/x11/native_display_delegate_x11.cc b/ui/display/chromeos/x11/native_display_delegate_x11.cc index 15a2cfa9708b26..5c23e3f03d2e81 100644 --- a/ui/display/chromeos/x11/native_display_delegate_x11.cc +++ b/ui/display/chromeos/x11/native_display_delegate_x11.cc @@ -623,13 +623,6 @@ XRRCrtcGamma* NativeDisplayDelegateX11::CreateGammaRampForProfile( return NULL; } -bool NativeDisplayDelegateX11::SetGammaRamp( - const ui::DisplaySnapshot& output, - const std::vector& lut) { - NOTIMPLEMENTED(); - return false; -} - void NativeDisplayDelegateX11::DrawBackground() { if (!background_color_argb_) return; diff --git a/ui/display/chromeos/x11/native_display_delegate_x11.h b/ui/display/chromeos/x11/native_display_delegate_x11.h index 4a0f1e3f67a9ef..5d49435d891019 100644 --- a/ui/display/chromeos/x11/native_display_delegate_x11.h +++ b/ui/display/chromeos/x11/native_display_delegate_x11.h @@ -95,8 +95,6 @@ class DISPLAY_EXPORT NativeDisplayDelegateX11 : public NativeDisplayDelegate { const DisplaySnapshot& output) override; bool SetColorCalibrationProfile(const DisplaySnapshot& output, ColorCalibrationProfile new_profile) override; - bool SetGammaRamp(const ui::DisplaySnapshot& output, - const std::vector& lut) override; void AddObserver(NativeDisplayObserver* observer) override; void RemoveObserver(NativeDisplayObserver* observer) override; diff --git a/ui/display/display.gyp b/ui/display/display.gyp index cf1f9babe11bf6..e8f45f712b117d 100644 --- a/ui/display/display.gyp +++ b/ui/display/display.gyp @@ -26,7 +26,6 @@ 'types/display_snapshot.cc', 'types/display_snapshot.h', 'types/display_types_export.h', - 'types/gamma_ramp_rgb_entry.h', 'types/native_display_delegate.h', 'types/native_display_observer.h', ], diff --git a/ui/display/types/BUILD.gn b/ui/display/types/BUILD.gn index 6b5d1e3651662b..4613119545fc96 100644 --- a/ui/display/types/BUILD.gn +++ b/ui/display/types/BUILD.gn @@ -11,7 +11,6 @@ component("types") { "display_snapshot.cc", "display_snapshot.h", "display_types_export.h", - "gamma_ramp_rgb_entry.h", "native_display_delegate.h", "native_display_observer.h", ] diff --git a/ui/display/types/gamma_ramp_rgb_entry.h b/ui/display/types/gamma_ramp_rgb_entry.h deleted file mode 100644 index 70405e10ff91d6..00000000000000 --- a/ui/display/types/gamma_ramp_rgb_entry.h +++ /dev/null @@ -1,23 +0,0 @@ -// Copyright 2015 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef UI_DISPLAY_TYPES_GAMMA_RAMP_RGB_ENTRY_H_ -#define UI_DISPLAY_TYPES_GAMMA_RAMP_RGB_ENTRY_H_ - -#include - -#include "ui/display/types/display_types_export.h" - -namespace ui { - -// Provides a single entry for a gamma correction table in a GPU. -struct DISPLAY_TYPES_EXPORT GammaRampRGBEntry { - uint16_t r; - uint16_t g; - uint16_t b; -}; - -} // namespace ui - -#endif // UI_DISPLAY_TYPES_GAMMA_RAMP_RGB_ENTRY_H_ diff --git a/ui/display/types/native_display_delegate.h b/ui/display/types/native_display_delegate.h index d37083d134d95f..98aef267bb8748 100644 --- a/ui/display/types/native_display_delegate.h +++ b/ui/display/types/native_display_delegate.h @@ -24,8 +24,6 @@ class DisplaySnapshot; class NativeDisplayObserver; -struct GammaRampRGBEntry; - typedef base::Callback&)> GetDisplaysCallback; typedef base::Callback ConfigureCallback; @@ -105,10 +103,6 @@ class DISPLAY_TYPES_EXPORT NativeDisplayDelegate { const ui::DisplaySnapshot& output, ui::ColorCalibrationProfile new_profile) = 0; - // Set the gamma ramp for the display. - virtual bool SetGammaRamp(const ui::DisplaySnapshot& output, - const std::vector& lut) = 0; - virtual void AddObserver(NativeDisplayObserver* observer) = 0; virtual void RemoveObserver(NativeDisplayObserver* observer) = 0; diff --git a/ui/ozone/common/gpu/ozone_gpu_messages.h b/ui/ozone/common/gpu/ozone_gpu_messages.h index 5600963942c7af..bc9a465d435350 100644 --- a/ui/ozone/common/gpu/ozone_gpu_messages.h +++ b/ui/ozone/common/gpu/ozone_gpu_messages.h @@ -11,7 +11,6 @@ #include "ipc/ipc_message_macros.h" #include "third_party/skia/include/core/SkBitmap.h" #include "ui/display/types/display_constants.h" -#include "ui/display/types/gamma_ramp_rgb_entry.h" #include "ui/gfx/geometry/point.h" #include "ui/gfx/geometry/rect.h" #include "ui/gfx/ipc/gfx_param_traits.h" @@ -51,12 +50,6 @@ IPC_STRUCT_TRAITS_BEGIN(ui::DisplaySnapshot_Params) IPC_STRUCT_TRAITS_MEMBER(string_representation) IPC_STRUCT_TRAITS_END() -IPC_STRUCT_TRAITS_BEGIN(ui::GammaRampRGBEntry) - IPC_STRUCT_TRAITS_MEMBER(r) - IPC_STRUCT_TRAITS_MEMBER(g) - IPC_STRUCT_TRAITS_MEMBER(b) -IPC_STRUCT_TRAITS_END() - //------------------------------------------------------------------------------ // GPU Messages // These are messages from the browser to the GPU process. @@ -118,11 +111,6 @@ IPC_MESSAGE_CONTROL2(OzoneGpuMsg_SetHDCPState, int64_t /* display_id */, ui::HDCPState /* state */) -// Provides the gamma ramp for display adjustment. -IPC_MESSAGE_CONTROL2(OzoneGpuMsg_SetGammaRamp, - int64_t, // display ID, - std::vector) // lut - //------------------------------------------------------------------------------ // Browser Messages // These messages are from the GPU to the browser process. diff --git a/ui/ozone/common/native_display_delegate_ozone.cc b/ui/ozone/common/native_display_delegate_ozone.cc index c0310c8f4bb357..d85b641a6b92f8 100644 --- a/ui/ozone/common/native_display_delegate_ozone.cc +++ b/ui/ozone/common/native_display_delegate_ozone.cc @@ -105,13 +105,6 @@ bool NativeDisplayDelegateOzone::SetColorCalibrationProfile( return false; } -bool NativeDisplayDelegateOzone::SetGammaRamp( - const ui::DisplaySnapshot& output, - const std::vector& lut) { - NOTIMPLEMENTED(); - return false; -} - void NativeDisplayDelegateOzone::AddObserver(NativeDisplayObserver* observer) { NOTIMPLEMENTED(); } diff --git a/ui/ozone/common/native_display_delegate_ozone.h b/ui/ozone/common/native_display_delegate_ozone.h index 5f142b2c90238c..74c878533fc897 100644 --- a/ui/ozone/common/native_display_delegate_ozone.h +++ b/ui/ozone/common/native_display_delegate_ozone.h @@ -43,9 +43,6 @@ class NativeDisplayDelegateOzone : public NativeDisplayDelegate { bool SetColorCalibrationProfile( const ui::DisplaySnapshot& output, ui::ColorCalibrationProfile new_profile) override; - bool SetGammaRamp(const ui::DisplaySnapshot& output, - const std::vector& lut) override; - void AddObserver(NativeDisplayObserver* observer) override; void RemoveObserver(NativeDisplayObserver* observer) override; diff --git a/ui/ozone/platform/drm/gpu/drm_device.cc b/ui/ozone/platform/drm/gpu/drm_device.cc index b14d2293aab483..49b6f5e6c83982 100644 --- a/ui/ozone/platform/drm/gpu/drm_device.cc +++ b/ui/ozone/platform/drm/gpu/drm_device.cc @@ -18,7 +18,6 @@ #include "base/thread_task_runner_handle.h" #include "base/trace_event/trace_event.h" #include "third_party/skia/include/core/SkImageInfo.h" -#include "ui/display/types/gamma_ramp_rgb_entry.h" #include "ui/ozone/platform/drm/gpu/drm_util.h" #include "ui/ozone/platform/drm/gpu/hardware_display_plane_manager_legacy.h" @@ -585,32 +584,4 @@ bool DrmDevice::DropMaster() { return (drmDropMaster(file_.GetPlatformFile()) == 0); } -bool DrmDevice::SetGammaRamp(uint32_t crtc_id, - const std::vector& lut) { - ScopedDrmCrtcPtr crtc = GetCrtc(crtc_id); - - // TODO(robert.bradford) resample the incoming ramp to match what the kernel - // expects. - if (static_cast(crtc->gamma_size) != lut.size()) { - LOG(ERROR) << "Gamma table size mismatch: supplied " << lut.size() - << " expected " << crtc->gamma_size; - } - - std::vector r, g, b; - r.reserve(lut.size()); - g.reserve(lut.size()); - b.reserve(lut.size()); - - for (size_t i = 0; i < lut.size(); ++i) { - r.push_back(lut[i].r); - g.push_back(lut[i].g); - b.push_back(lut[i].b); - } - - DCHECK(file_.IsValid()); - TRACE_EVENT0("drm", "DrmDevice::SetGamma"); - return (drmModeCrtcSetGamma(file_.GetPlatformFile(), crtc_id, r.size(), &r[0], - &g[0], &b[0]) == 0); -} - } // namespace ui diff --git a/ui/ozone/platform/drm/gpu/drm_device.h b/ui/ozone/platform/drm/gpu/drm_device.h index 02d88edfb2f574..1e3d12e6ca9ddb 100644 --- a/ui/ozone/platform/drm/gpu/drm_device.h +++ b/ui/ozone/platform/drm/gpu/drm_device.h @@ -34,7 +34,6 @@ class SingleThreadTaskRunner; namespace ui { class HardwareDisplayPlaneManager; -struct GammaRampRGBEntry; // Wraps DRM calls into a nice interface. Used to provide different // implementations of the DRM calls. For the actual implementation the DRM API @@ -161,10 +160,6 @@ class OZONE_EXPORT DrmDevice : public base::RefCountedThreadSafe { uint32_t flags, const PageFlipCallback& callback); - // Set the gamma ramp for |crtc_id| to reflect the ramps in |lut|. - virtual bool SetGammaRamp(uint32_t crtc_id, - const std::vector& lut); - // Drm master related virtual bool SetMaster(); virtual bool DropMaster(); diff --git a/ui/ozone/platform/drm/gpu/drm_gpu_display_manager.cc b/ui/ozone/platform/drm/gpu/drm_gpu_display_manager.cc index 8a25418e6e50c4..1214d7d0c19956 100644 --- a/ui/ozone/platform/drm/gpu/drm_gpu_display_manager.cc +++ b/ui/ozone/platform/drm/gpu/drm_gpu_display_manager.cc @@ -9,7 +9,6 @@ #include "base/file_descriptor_posix.h" #include "base/files/file.h" #include "base/single_thread_task_runner.h" -#include "ui/display/types/gamma_ramp_rgb_entry.h" #include "ui/display/types/native_display_observer.h" #include "ui/events/ozone/device/device_event.h" #include "ui/ozone/common/display_util.h" @@ -193,21 +192,6 @@ bool DrmGpuDisplayManager::RelinquishDisplayControl() { return true; } -void DrmGpuDisplayManager::SetGammaRamp( - int64_t id, - const std::vector& lut) { - DrmDisplaySnapshot* display = FindDisplaySnapshot(id); - if (!display) { - LOG(ERROR) << "There is no display with ID " << id; - return; - } - - if (!display->drm()->SetGammaRamp(display->crtc(), lut)) { - LOG(ERROR) << "Failed to set gamma ramp for display: crtc_id = " - << display->crtc() << " size = " << lut.size(); - } -} - DrmDisplaySnapshot* DrmGpuDisplayManager::FindDisplaySnapshot(int64_t id) { for (size_t i = 0; i < cached_displays_.size(); ++i) if (cached_displays_[i]->display_id() == id) diff --git a/ui/ozone/platform/drm/gpu/drm_gpu_display_manager.h b/ui/ozone/platform/drm/gpu/drm_gpu_display_manager.h index 21c314ed95e7aa..e23885b8421da4 100644 --- a/ui/ozone/platform/drm/gpu/drm_gpu_display_manager.h +++ b/ui/ozone/platform/drm/gpu/drm_gpu_display_manager.h @@ -26,8 +26,6 @@ class DrmDisplaySnapshot; class DrmDisplayMode; class ScreenManager; -struct GammaRampRGBEntry; - class DrmGpuDisplayManager { public: DrmGpuDisplayManager(ScreenManager* screen_manager, @@ -58,9 +56,6 @@ class DrmGpuDisplayManager { bool GetHDCPState(int64_t display_id, HDCPState* state); bool SetHDCPState(int64_t display_id, HDCPState state); - // Set the gamma ramp for a particular display id. - void SetGammaRamp(int64_t id, const std::vector& lut); - private: DrmDisplaySnapshot* FindDisplaySnapshot(int64_t id); const DrmDisplayMode* FindDisplayMode(const gfx::Size& size, diff --git a/ui/ozone/platform/drm/gpu/drm_gpu_platform_support.cc b/ui/ozone/platform/drm/gpu/drm_gpu_platform_support.cc index 9a730bca3e8e86..0a9108ed841b52 100644 --- a/ui/ozone/platform/drm/gpu/drm_gpu_platform_support.cc +++ b/ui/ozone/platform/drm/gpu/drm_gpu_platform_support.cc @@ -216,7 +216,6 @@ bool DrmGpuPlatformSupport::OnMessageReceived(const IPC::Message& message) { IPC_MESSAGE_HANDLER(OzoneGpuMsg_RemoveGraphicsDevice, OnRemoveGraphicsDevice) IPC_MESSAGE_HANDLER(OzoneGpuMsg_GetHDCPState, OnGetHDCPState) IPC_MESSAGE_HANDLER(OzoneGpuMsg_SetHDCPState, OnSetHDCPState) - IPC_MESSAGE_HANDLER(OzoneGpuMsg_SetGammaRamp, OnSetGammaRamp); IPC_MESSAGE_UNHANDLED(handled = false); IPC_END_MESSAGE_MAP() @@ -295,12 +294,6 @@ void DrmGpuPlatformSupport::OnRemoveGraphicsDevice(const base::FilePath& path) { drm_device_manager_->RemoveDrmDevice(path); } -void DrmGpuPlatformSupport::OnSetGammaRamp( - int64_t id, - const std::vector& lut) { - ndd_->SetGammaRamp(id, lut); -} - void DrmGpuPlatformSupport::RelinquishGpuResources( const base::Closure& callback) { callback.Run(); diff --git a/ui/ozone/platform/drm/gpu/drm_gpu_platform_support.h b/ui/ozone/platform/drm/gpu/drm_gpu_platform_support.h index 1662ea3e3d3d9b..abd697828f1da2 100644 --- a/ui/ozone/platform/drm/gpu/drm_gpu_platform_support.h +++ b/ui/ozone/platform/drm/gpu/drm_gpu_platform_support.h @@ -36,7 +36,6 @@ class ScreenManager; struct DisplayMode_Params; struct DisplaySnapshot_Params; -struct GammaRampRGBEntry; class DrmGpuPlatformSupport : public GpuPlatformSupport { public: @@ -79,7 +78,6 @@ class DrmGpuPlatformSupport : public GpuPlatformSupport { void OnRemoveGraphicsDevice(const base::FilePath& path); void OnGetHDCPState(int64_t display_id); void OnSetHDCPState(int64_t display_id, HDCPState state); - void OnSetGammaRamp(int64_t id, const std::vector& lut); void SetIOTaskRunner( const scoped_refptr& io_task_runner); diff --git a/ui/ozone/platform/drm/host/drm_native_display_delegate.cc b/ui/ozone/platform/drm/host/drm_native_display_delegate.cc index fffa9ca864bcb0..b2001657e974d4 100644 --- a/ui/ozone/platform/drm/host/drm_native_display_delegate.cc +++ b/ui/ozone/platform/drm/host/drm_native_display_delegate.cc @@ -243,13 +243,6 @@ bool DrmNativeDisplayDelegate::SetColorCalibrationProfile( return false; } -bool DrmNativeDisplayDelegate::SetGammaRamp( - const ui::DisplaySnapshot& output, - const std::vector& lut) { - proxy_->Send(new OzoneGpuMsg_SetGammaRamp(output.display_id(), lut)); - return true; -} - void DrmNativeDisplayDelegate::AddObserver(NativeDisplayObserver* observer) { observers_.AddObserver(observer); } diff --git a/ui/ozone/platform/drm/host/drm_native_display_delegate.h b/ui/ozone/platform/drm/host/drm_native_display_delegate.h index 09d01a49493fbb..81193af0f4479b 100644 --- a/ui/ozone/platform/drm/host/drm_native_display_delegate.h +++ b/ui/ozone/platform/drm/host/drm_native_display_delegate.h @@ -63,8 +63,6 @@ class DrmNativeDisplayDelegate : public NativeDisplayDelegate, const DisplaySnapshot& output) override; bool SetColorCalibrationProfile(const DisplaySnapshot& output, ColorCalibrationProfile new_profile) override; - bool SetGammaRamp(const ui::DisplaySnapshot& output, - const std::vector& lut) override; void AddObserver(NativeDisplayObserver* observer) override; void RemoveObserver(NativeDisplayObserver* observer) override; diff --git a/ui/ozone/platform/drm/test/mock_drm_device.cc b/ui/ozone/platform/drm/test/mock_drm_device.cc index 0b1e3485e0c555..3a822dcd4a29cd 100644 --- a/ui/ozone/platform/drm/test/mock_drm_device.cc +++ b/ui/ozone/platform/drm/test/mock_drm_device.cc @@ -240,11 +240,6 @@ bool MockDrmDevice::CommitProperties(drmModePropertySet* properties, return false; } -bool MockDrmDevice::SetGammaRamp(uint32_t crtc_id, - const std::vector& lut) { - return true; -} - void MockDrmDevice::RunCallbacks() { while (!callbacks_.empty()) { PageFlipCallback callback = callbacks_.front(); diff --git a/ui/ozone/platform/drm/test/mock_drm_device.h b/ui/ozone/platform/drm/test/mock_drm_device.h index cd9a2f225cf621..5632b6e2043feb 100644 --- a/ui/ozone/platform/drm/test/mock_drm_device.h +++ b/ui/ozone/platform/drm/test/mock_drm_device.h @@ -16,7 +16,6 @@ namespace ui { class CrtcController; -struct GammaRampRGBEntry; // The real DrmDevice makes actual DRM calls which we can't use in unit tests. class MockDrmDevice : public ui::DrmDevice { @@ -109,8 +108,6 @@ class MockDrmDevice : public ui::DrmDevice { bool CommitProperties(drmModePropertySet* properties, uint32_t flags, const PageFlipCallback& callback) override; - bool SetGammaRamp(uint32_t crtc_id, - const std::vector& lut) override; private: ~MockDrmDevice() override;