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

Unified Diff: ui/ozone/platform/drm/gpu/drm_gpu_display_manager.cc

Issue 1028563003: Load and apply a vcgt table from an ICC file to the internal display (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Minor fixes Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ui/ozone/platform/drm/gpu/drm_gpu_display_manager.cc
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 60b335bfaa429bcc04c425c8af45ec900b8b6dce..611edac10351f6f1258216f3549ec17f9ec1a72d 100644
--- a/ui/ozone/platform/drm/gpu/drm_gpu_display_manager.cc
+++ b/ui/ozone/platform/drm/gpu/drm_gpu_display_manager.cc
@@ -9,6 +9,7 @@
#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"
@@ -236,6 +237,21 @@ void DrmGpuDisplayManager::RemoveGraphicsDevice(const base::FilePath& path) {
devices_.erase(it);
}
+void DrmGpuDisplayManager::SetGammaRamp(
+ int64_t id,
+ const std::vector<GammaRampRGBEntry>& 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)

Powered by Google App Engine
This is Rietveld 408576698