diff options
author | TreeHugger Robot <treehugger-gerrit@google.com> | 2023-02-08 03:44:05 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2023-02-08 03:44:05 +0000 |
commit | 8ddf8d98d24df6a30ab12b7e0ac05624f993d3e0 (patch) | |
tree | 6dad5e4db815ca0b9efdd5edfd11f62727fe6e3a /libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp | |
parent | 73f6f20fc1493070c1a1271216cf42af85a828ec (diff) | |
parent | 334e1fee2f8204c8b30714291d60c19077e6df9f (diff) |
Merge "Revert "libhwc2.1: wait for peak refresh rate via sysfs node""
Diffstat (limited to 'libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp')
-rw-r--r-- | libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp b/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp index ea9a07e..7bbc64b 100644 --- a/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp +++ b/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp @@ -925,12 +925,11 @@ int32_t ExynosDisplayDrmInterface::getDisplayConfigs( /* key: (width<<32 | height) */ std::map<uint64_t, uint32_t> groupIds; uint32_t groupId = 0; - float peakRr = -1; + uint32_t min_vsync_period = UINT_MAX; for (const DrmMode &mode : mDrmConnector->modes()) { displayConfigs_t configs; - float rr = mode.v_refresh(); - configs.vsyncPeriod = nsecsPerSec / rr; + configs.vsyncPeriod = nsecsPerSec/ mode.v_refresh(); configs.width = mode.h_display(); configs.height = mode.v_display(); uint64_t key = ((uint64_t)configs.width<<32) | configs.height; @@ -947,15 +946,14 @@ int32_t ExynosDisplayDrmInterface::getDisplayConfigs( configs.Xdpi = mm_width ? (mode.h_display() * kUmPerInch) / mm_width : -1; // Dots per 1000 inches configs.Ydpi = mm_height ? (mode.v_display() * kUmPerInch) / mm_height : -1; - // find peak rr - if (rr > peakRr) - peakRr = rr; + // find min vsync period + if (configs.vsyncPeriod <= min_vsync_period) min_vsync_period = configs.vsyncPeriod; mExynosDisplay->mDisplayConfigs.insert(std::make_pair(mode.id(), configs)); ALOGD("config group(%d), w(%d), h(%d), vsync(%d), xdpi(%d), ydpi(%d)", configs.groupId, configs.width, configs.height, configs.vsyncPeriod, configs.Xdpi, configs.Ydpi); } - mExynosDisplay->setPeakRefreshRate(peakRr); + mExynosDisplay->setMinDisplayVsyncPeriod(min_vsync_period); } uint32_t num_modes = static_cast<uint32_t>(mDrmConnector->modes().size()); |