diff options
Diffstat (limited to 'libhwc2.1/libdevice/ExynosDisplay.cpp')
-rw-r--r-- | libhwc2.1/libdevice/ExynosDisplay.cpp | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/libhwc2.1/libdevice/ExynosDisplay.cpp b/libhwc2.1/libdevice/ExynosDisplay.cpp index fe927ae..e6d5626 100644 --- a/libhwc2.1/libdevice/ExynosDisplay.cpp +++ b/libhwc2.1/libdevice/ExynosDisplay.cpp @@ -4077,12 +4077,12 @@ int32_t ExynosDisplay::setActiveConfigWithConstraints(hwc2_config_t config, { DISPLAY_ATRACE_CALL(); Mutex::Autolock lock(mDisplayMutex); + const nsecs_t current = systemTime(SYSTEM_TIME_MONOTONIC); + const nsecs_t diffMs = ns2ms(vsyncPeriodChangeConstraints->desiredTimeNanos - current); + DISPLAY_LOGD(eDebugDisplayConfig, "config(%d->%d), seamless(%d), diff(%" PRId64 ")", + mActiveConfig, config, vsyncPeriodChangeConstraints->seamlessRequired, diffMs); - DISPLAY_LOGD(eDebugDisplayConfig, - "config(%d), seamless(%d), " - "desiredTime(%" PRId64 ")", - config, vsyncPeriodChangeConstraints->seamlessRequired, - vsyncPeriodChangeConstraints->desiredTimeNanos); + if (CC_UNLIKELY(ATRACE_ENABLED())) ATRACE_NAME(("diff:" + std::to_string(diffMs)).c_str()); if (isBadConfig(config)) return HWC2_ERROR_BAD_CONFIG; @@ -4134,6 +4134,7 @@ int32_t ExynosDisplay::setActiveConfigWithConstraints(hwc2_config_t config, mConfigRequestState = hwc_request_state_t::SET_CONFIG_STATE_PENDING; mVsyncPeriodChangeConstraints = *vsyncPeriodChangeConstraints; mDesiredConfig = config; + DISPLAY_ATRACE_INT("Pending ActiveConfig", mDesiredConfig); calculateTimeline(config, vsyncPeriodChangeConstraints, outTimeline); @@ -4346,6 +4347,7 @@ int32_t ExynosDisplay::doDisplayConfigInternal(hwc2_config_t config) { int32_t ExynosDisplay::doDisplayConfigPostProcess(ExynosDevice *dev) { + ATRACE_CALL(); uint64_t current = systemTime(SYSTEM_TIME_MONOTONIC); int64_t actualChangeTime = 0; @@ -4361,10 +4363,12 @@ int32_t ExynosDisplay::doDisplayConfigPostProcess(ExynosDevice *dev) DISPLAY_LOGD(eDebugDisplayConfig, "Request setActiveConfig"); needSetActiveConfig = true; DISPLAY_ATRACE_INT("Pending ActiveConfig", 0); + DISPLAY_ATRACE_INT64("TimeToChangeConfig", 0); } else { DISPLAY_LOGD(eDebugDisplayConfig, "setActiveConfig still pending (mDesiredConfig %d)", mDesiredConfig); DISPLAY_ATRACE_INT("Pending ActiveConfig", mDesiredConfig); + DISPLAY_ATRACE_INT64("TimeToChangeConfig", ns2ms(actualChangeTime - current)); } if (needSetActiveConfig) { |