diff options
author | Midas Chien <midaschieh@google.com> | 2023-11-22 12:55:49 +0000 |
---|---|---|
committer | Midas Chien <midaschieh@google.com> | 2023-11-23 08:38:31 +0000 |
commit | ebe4fd9acd4250ed16de4ded06296baa788be8fc (patch) | |
tree | 73b238dc233e7c7bb7dd17cfca28eb9319577ff7 | |
parent | ad24e0f98c17e6379be9444990fd6626e1ba36fa (diff) | |
download | common-ebe4fd9acd4250ed16de4ded06296baa788be8fc.tar.gz |
libhwc2.1: get refresh rate from displayConfig
As the displayConfig provides refresh rate information, there is no need
to derive it from vsync period.
Bug: 308095238
Test: check refresh rate get from getRefreshRate()
Change-Id: Ida2e0be48523a4f4e56ed79553edac5ea232a060
-rw-r--r-- | libhwc2.1/libdevice/ExynosDisplay.cpp | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/libhwc2.1/libdevice/ExynosDisplay.cpp b/libhwc2.1/libdevice/ExynosDisplay.cpp index 614fc69..bff39f1 100644 --- a/libhwc2.1/libdevice/ExynosDisplay.cpp +++ b/libhwc2.1/libdevice/ExynosDisplay.cpp @@ -6486,16 +6486,15 @@ uint32_t ExynosDisplay::getPeakRefreshRate() { } VsyncPeriodNanos ExynosDisplay::getVsyncPeriod(const int32_t config) { - const auto &it = mDisplayConfigs.find(config); + const auto& it = mDisplayConfigs.find(config); if (it == mDisplayConfigs.end()) return 0; - return mDisplayConfigs[config].vsyncPeriod; + return it->second.vsyncPeriod; } uint32_t ExynosDisplay::getRefreshRate(const int32_t config) { - VsyncPeriodNanos period = getVsyncPeriod(config); - if (!period) return 0; - constexpr float nsecsPerSec = std::chrono::nanoseconds(1s).count(); - return round(nsecsPerSec / period * 0.1f) * 10; + const auto& it = mDisplayConfigs.find(config); + if (it == mDisplayConfigs.end()) return 0; + return it->second.refreshRate; } uint32_t ExynosDisplay::getConfigId(const int32_t refreshRate, const int32_t width, |