summaryrefslogtreecommitdiff
path: root/sdm/libs/hwc2/hwc_color_manager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'sdm/libs/hwc2/hwc_color_manager.cpp')
-rw-r--r--sdm/libs/hwc2/hwc_color_manager.cpp29
1 files changed, 26 insertions, 3 deletions
diff --git a/sdm/libs/hwc2/hwc_color_manager.cpp b/sdm/libs/hwc2/hwc_color_manager.cpp
index c76f5406..61618cb9 100644
--- a/sdm/libs/hwc2/hwc_color_manager.cpp
+++ b/sdm/libs/hwc2/hwc_color_manager.cpp
@@ -273,9 +273,8 @@ int HWCColorManager::SetFrameCapture(void *params, bool enable, HWCDisplay *hwc_
return ret;
}
-int HWCColorManager::SetDetailedEnhancer(void *params, HWCDisplay *hwc_display) {
- SCOPE_LOCK(locker_);
- DisplayError err = kErrorNone;
+int HWCColorManager::SetHWDetailedEnhancerConfig(void *params, HWCDisplay *hwc_display) {
+ int err = -1;
DisplayDetailEnhancerData de_data;
PPDETuningCfgData *de_tuning_cfg_data = reinterpret_cast<PPDETuningCfgData*>(params);
@@ -341,7 +340,31 @@ int HWCColorManager::SetDetailedEnhancer(void *params, HWCDisplay *hwc_display)
}
de_tuning_cfg_data->cfg_pending = false;
}
+ return err;
+}
+
+void HWCColorManager::SetColorModeDetailEnhancer(HWCDisplay *hwc_display) {
+ SCOPE_LOCK(locker_);
+ int err = -1;
+ PPPendingParams pending_action;
+ PPDisplayAPIPayload req_payload;
+
+ pending_action.action = kGetDetailedEnhancerData;
+ pending_action.params = NULL;
+
+ if (hwc_display) {
+ err = hwc_display->ColorSVCRequestRoute(req_payload, NULL, &pending_action);
+ if (!err && pending_action.action == kConfigureDetailedEnhancer) {
+ err = SetHWDetailedEnhancerConfig(pending_action.params, hwc_display);
+ }
+ }
+ return;
+}
+int HWCColorManager::SetDetailedEnhancer(void *params, HWCDisplay *hwc_display) {
+ SCOPE_LOCK(locker_);
+ int err = -1;
+ err = SetHWDetailedEnhancerConfig(params, hwc_display);
return err;
}