summaryrefslogtreecommitdiff
path: root/sdm/libs/hwc2/hwc_color_manager.cpp
diff options
context:
space:
mode:
authorAlan Kwong <akwong@codeaurora.org>2016-11-21 07:38:41 -0500
committerGerrit - the friendly Code Review server <code-review@localhost>2017-01-05 11:12:24 -0800
commitd9ced38e61ec84bb9617f8271ae0c8af98a80ac7 (patch)
tree4b48fce4defe003fd4549cd1de3d6953b7ac7f02 /sdm/libs/hwc2/hwc_color_manager.cpp
parent063f9b6fcfab4c3cba2f45018a3e1c2db32ee945 (diff)
downloaddisplay-d9ced38e61ec84bb9617f8271ae0c8af98a80ac7.tar.gz
sdm: color-manager: Detail Enhancer Enhancements.
Add Detail Enhancer configuration support in color-mode set operation performed from the composer layer. Change-Id: Ibaa20a168098088108e949e937d10529d42042e1 CRs-Fixed: 1075087
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;
}