SF: RefreshRateOverlay: Create buffers on demand
Currently RefreshRateOverlay precomputes the buffers for all available
refresh rates on startup. Since the refresh rates can change
(e.g. on AndroidTV) it's better to create the buffers on demand.
Bug: 159590486
Test: adb shell service call SurfaceFlinger 1034 i32 1
Change-Id: I49732f4b62b41750c5a3cf4020b2dc23b8f3730b
diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp
index 6c8a1c1..5d6505f 100644
--- a/services/surfaceflinger/SurfaceFlinger.cpp
+++ b/services/surfaceflinger/SurfaceFlinger.cpp
@@ -2591,6 +2591,11 @@
if (currentState.physical) {
const auto display = getDisplayDeviceLocked(displayToken);
setPowerModeInternal(display, hal::PowerMode::ON);
+
+ // TODO(b/175678251) Call a listener instead.
+ if (mRefreshRateOverlay) {
+ mRefreshRateOverlay->reset();
+ }
}
return;
}