summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMidas Chien <midaschieh@google.com>2023-11-22 12:55:49 +0000
committerMidas Chien <midaschieh@google.com>2023-11-23 08:38:31 +0000
commitebe4fd9acd4250ed16de4ded06296baa788be8fc (patch)
tree73b238dc233e7c7bb7dd17cfca28eb9319577ff7
parentad24e0f98c17e6379be9444990fd6626e1ba36fa (diff)
downloadcommon-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.cpp11
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,