SF: Fix refresh rate selection for low physical refresh rates
With the render frame rate introduction of physical refresh rate
divisors, a hardcoded minimum frame rate was added. This minimum was
incorrectly applied to physical refresh rates in addition to divisors,
which prevented lower physical refresh rates to be enumarated.
Test: atest libsurfaceflinger_unittest
Bug: 261520501
Change-Id: I597f9c61bd7a0e8fd2dc16415e36d97c1417f74f
diff --git a/services/surfaceflinger/Scheduler/RefreshRateSelector.cpp b/services/surfaceflinger/Scheduler/RefreshRateSelector.cpp
index a05d3df..21f5c68 100644
--- a/services/surfaceflinger/Scheduler/RefreshRateSelector.cpp
+++ b/services/surfaceflinger/Scheduler/RefreshRateSelector.cpp
@@ -180,7 +180,7 @@
for (auto divisor = start; divisor <= end; divisor++) {
const auto fps = mode->getFps() / divisor;
using fps_approx_ops::operator<;
- if (fps < kMinSupportedFrameRate) {
+ if (divisor > 1 && fps < kMinSupportedFrameRate) {
break;
}