Index: ui/ozone/platform/drm/gpu/drm_thread_message_proxy.cc |
diff --git a/ui/ozone/platform/drm/gpu/drm_thread_message_proxy.cc b/ui/ozone/platform/drm/gpu/drm_thread_message_proxy.cc |
index f0647eb7085bfbc11fd9f7ce565ff80cb2e7b6a4..9b508f9d5dd38aad1ae894943ac54f3af73a866d 100644 |
--- a/ui/ozone/platform/drm/gpu/drm_thread_message_proxy.cc |
+++ b/ui/ozone/platform/drm/gpu/drm_thread_message_proxy.cc |
@@ -51,7 +51,8 @@ bool DrmThreadMessageProxy::OnMessageReceived(const IPC::Message& message) { |
OnRemoveGraphicsDevice) |
IPC_MESSAGE_HANDLER(OzoneGpuMsg_GetHDCPState, OnGetHDCPState) |
IPC_MESSAGE_HANDLER(OzoneGpuMsg_SetHDCPState, OnSetHDCPState) |
- IPC_MESSAGE_HANDLER(OzoneGpuMsg_SetGammaRamp, OnSetGammaRamp); |
+ IPC_MESSAGE_HANDLER(OzoneGpuMsg_SetGammaRamp, OnSetGammaRamp) |
+ IPC_MESSAGE_HANDLER(OzoneGpuMsg_SetColorCorrection, OnSetColorCorrection) |
IPC_MESSAGE_HANDLER(OzoneGpuMsg_CheckOverlayCapabilities, |
OnCheckOverlayCapabilities) |
IPC_MESSAGE_UNHANDLED(handled = false); |
@@ -218,6 +219,18 @@ void DrmThreadMessageProxy::OnSetGammaRamp( |
base::Unretained(drm_thread_), id, lut)); |
} |
+void DrmThreadMessageProxy::OnSetColorCorrection( |
+ int64_t id, |
+ const std::vector<GammaRampRGBEntry>& degamma_lut, |
+ const std::vector<GammaRampRGBEntry>& gamma_lut, |
+ const std::vector<float>& correction_matrix) { |
+ DCHECK(drm_thread_->IsRunning()); |
+ drm_thread_->task_runner()->PostTask( |
+ FROM_HERE, |
+ base::Bind(&DrmThread::SetColorCorrection, base::Unretained(drm_thread_), |
+ id, degamma_lut, gamma_lut, correction_matrix)); |
+} |
+ |
void DrmThreadMessageProxy::OnCheckOverlayCapabilitiesCallback( |
gfx::AcceleratedWidget widget, |
const std::vector<OverlayCheck_Params>& overlays) const { |