diff options
Diffstat (limited to 'services/surfaceflinger/RefreshRateOverlay.cpp')
| -rw-r--r-- | services/surfaceflinger/RefreshRateOverlay.cpp | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/services/surfaceflinger/RefreshRateOverlay.cpp b/services/surfaceflinger/RefreshRateOverlay.cpp index 436a83b3a2..f602412930 100644 --- a/services/surfaceflinger/RefreshRateOverlay.cpp +++ b/services/surfaceflinger/RefreshRateOverlay.cpp @@ -200,26 +200,22 @@ void RefreshRateOverlay::primeCache() { } } -void RefreshRateOverlay::changeRefreshRate(const RefreshRate& refreshRate) { - const auto display = mFlinger.getDefaultDisplayDeviceLocked(); - if (!display) { - return; - } +void RefreshRateOverlay::setViewport(ui::Size viewport) { + Rect frame(viewport.width >> 3, viewport.height >> 5); + frame.offsetBy(viewport.width >> 5, viewport.height >> 4); + mLayer->setFrame(frame); - const int32_t left = display->getWidth() / 32; - const int32_t top = display->getHeight() / 16; - const int32_t right = left + display->getWidth() / 8; - const int32_t buttom = top + display->getHeight() / 32; + mFlinger.mTransactionFlags.fetch_or(eTransactionMask); +} +void RefreshRateOverlay::changeRefreshRate(const RefreshRate& refreshRate) { auto buffer = mBufferCache[refreshRate.getFps()]; mLayer->setBuffer(buffer, Fence::NO_FENCE, 0, 0, {}); - mLayer->setFrame(Rect(left, top, right, buttom)); - mFlinger.mTransactionFlags.fetch_or(eTransactionMask); } -}; // namespace android +} // namespace android // TODO(b/129481165): remove the #pragma below and fix conversion issues #pragma clang diagnostic pop // ignored "-Wconversion" |