summaryrefslogtreecommitdiff
path: root/libhwc2.1/libdevice/ExynosDisplay.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'libhwc2.1/libdevice/ExynosDisplay.cpp')
-rw-r--r--libhwc2.1/libdevice/ExynosDisplay.cpp14
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) {