diff options
author | Alan Kwong <akwong@codeaurora.org> | 2016-11-21 07:38:41 -0500 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2017-01-05 11:12:24 -0800 |
commit | d9ced38e61ec84bb9617f8271ae0c8af98a80ac7 (patch) | |
tree | 4b48fce4defe003fd4549cd1de3d6953b7ac7f02 /sdm/libs/hwc2/hwc_color_manager.cpp | |
parent | 063f9b6fcfab4c3cba2f45018a3e1c2db32ee945 (diff) | |
download | display-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.cpp | 29 |
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; } |