| Index: ui/ozone/platform/drm/gpu/drm_display.cc
|
| diff --git a/ui/ozone/platform/drm/gpu/drm_display.cc b/ui/ozone/platform/drm/gpu/drm_display.cc
|
| index 076cc59d356302ed9e79a8a47dbaebea13d1e27b..f4b59746859fc63737ccf98a1a4bef7e0937de00 100644
|
| --- a/ui/ozone/platform/drm/gpu/drm_display.cc
|
| +++ b/ui/ozone/platform/drm/gpu/drm_display.cc
|
| @@ -170,10 +170,21 @@ bool DrmDisplay::SetHDCPState(HDCPState state) {
|
| GetContentProtectionValue(hdcp_property.get(), state));
|
| }
|
|
|
| -void DrmDisplay::SetGammaRamp(const std::vector<GammaRampRGBEntry>& lut) {
|
| - if (!drm_->SetGammaRamp(crtc_, lut)) {
|
| - LOG(ERROR) << "Failed to set gamma ramp for display: crtc_id = " << crtc_
|
| - << " size = " << lut.size();
|
| +void DrmDisplay::SetColorCorrection(
|
| + const std::vector<GammaRampRGBEntry>& degamma_lut,
|
| + const std::vector<GammaRampRGBEntry>& gamma_lut,
|
| + const std::vector<float>& correction_matrix) {
|
| + if (degamma_lut.size() == 0) {
|
| + if (!drm_->SetGammaRamp(crtc_, gamma_lut)) {
|
| + LOG(ERROR) << "Failed to set gamma ramp for display: crtc_id = " << crtc_
|
| + << " size = " << gamma_lut.size();
|
| + }
|
| + } else {
|
| + if (!drm_->SetColorCorrection(crtc_, degamma_lut, gamma_lut,
|
| + correction_matrix)) {
|
| + LOG(ERROR) << "Failed to set color correction for display: crtc_id = "
|
| + << crtc_;
|
| + }
|
| }
|
| }
|
|
|
|
|