summaryrefslogtreecommitdiff
path: root/services/surfaceflinger/RefreshRateOverlay.cpp
diff options
context:
space:
mode:
author ramindani <ramindani@google.com> 2023-09-21 13:45:12 -0700
committer ramindani <ramindani@google.com> 2023-09-22 10:26:18 -0700
commit3faf574466854576f79f5798f9350bc2cb0fb6f5 (patch)
tree8d4c03f1c8036a0cf10bd614f512ccb08607a78f /services/surfaceflinger/RefreshRateOverlay.cpp
parent9b08532c0e28a9c5b5b7478c80448110d0e5cec8 (diff)
[SF] Update only the render rate on the
refresh rate indicator Test: manual BUG: 284845445 Change-Id: I30c34f1363bd7b3a21741c6b3ee70b67b1938fc0
Diffstat (limited to 'services/surfaceflinger/RefreshRateOverlay.cpp')
-rw-r--r--services/surfaceflinger/RefreshRateOverlay.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/services/surfaceflinger/RefreshRateOverlay.cpp b/services/surfaceflinger/RefreshRateOverlay.cpp
index e918dc9045..be04c09fa3 100644
--- a/services/surfaceflinger/RefreshRateOverlay.cpp
+++ b/services/surfaceflinger/RefreshRateOverlay.cpp
@@ -19,6 +19,7 @@
#include "Client.h"
#include "Layer.h"
#include "RefreshRateOverlay.h"
+#include "Utils/FlagUtils.h"
#include <SkSurface.h>
@@ -249,6 +250,14 @@ void RefreshRateOverlay::changeRefreshRate(Fps vsyncRate, Fps renderFps) {
createTransaction().setBuffer(mSurfaceControl->get(), buffer).apply();
}
+void RefreshRateOverlay::changeRenderRate(Fps renderFps) {
+ if (mFeatures.test(Features::RenderRate) && mVsyncRate && flagutils::vrrConfigEnabled()) {
+ mRenderFps = renderFps;
+ const auto buffer = getOrCreateBuffers(*mVsyncRate, renderFps)[mFrame];
+ createTransaction().setBuffer(mSurfaceControl->get(), buffer).apply();
+ }
+}
+
void RefreshRateOverlay::animate() {
if (!mFeatures.test(Features::Spinner) || !mVsyncRate) return;