diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-02-03 19:52:09 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-02-03 19:52:09 +0000 |
commit | 4b4a1c9381476883fe8000d5f70cac1a94e52ad5 (patch) | |
tree | e1d31eba8f6b846732c1b8fae5561d033e49e277 /libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp | |
parent | 6169f5e4cf2be159576fc19184dc047c22b0e2ae (diff) | |
parent | 2f037bf60d3db37cd29a3cc25777a3ef7ad3ce64 (diff) |
Merge cherrypicks of ['googleplex-android-review.googlesource.com/21266804', 'googleplex-android-review.googlesource.com/21266803'] into sparse-9558421-L47400000958444034.
SPARSE_CHANGE: I42fb9d1c1f3c814e5416209378ea38b61e901e62
SPARSE_CHANGE: Ifaaee60913ffc32e8ae9ab7acec327a968468ac7
Change-Id: Ief57303a5b89e22764af22b8eca27e26d8409f96
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 e436663..dbb11bd 100644 --- a/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp +++ b/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterface.cpp @@ -920,12 +920,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; @@ -942,15 +941,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()); |