summaryrefslogtreecommitdiff
path: root/services/surfaceflinger/RefreshRateOverlay.cpp
diff options
context:
space:
mode:
author Chavi Weingarten <chaviw@google.com> 2021-04-09 13:37:33 +0000
committer Robert Carr <racarr@google.com> 2021-04-09 17:15:51 -0700
commita5aedbd7ffaf42b7f287b587035018b42d61a41c (patch)
tree443ab16a8eac8bd6bb4defcc4d04b8dee03eeb90 /services/surfaceflinger/RefreshRateOverlay.cpp
parentcc6080011d6e7c7ab219d6c4f7eabc99574dca87 (diff)
Revert^2 "Remove setFrame from BufferStateLayer"
1014c4bf14f5c250b78d7e917fb59aaa9b0d9b0a Change-Id: I4c1cbc2b40e4f5f68bd5e6dcbe6c77405ad155b0
Diffstat (limited to 'services/surfaceflinger/RefreshRateOverlay.cpp')
-rw-r--r--services/surfaceflinger/RefreshRateOverlay.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/services/surfaceflinger/RefreshRateOverlay.cpp b/services/surfaceflinger/RefreshRateOverlay.cpp
index 1d00cc38f2..7a3e433660 100644
--- a/services/surfaceflinger/RefreshRateOverlay.cpp
+++ b/services/surfaceflinger/RefreshRateOverlay.cpp
@@ -231,8 +231,14 @@ const std::vector<sp<GraphicBuffer>>& RefreshRateOverlay::getOrCreateBuffers(uin
void RefreshRateOverlay::setViewport(ui::Size viewport) {
Rect frame((3 * viewport.width) >> 4, viewport.height >> 5);
frame.offsetBy(viewport.width >> 5, viewport.height >> 4);
- mLayer->setFrame(frame);
+ layer_state_t::matrix22_t matrix;
+ matrix.dsdx = frame.getWidth() / static_cast<float>(SevenSegmentDrawer::getWidth());
+ matrix.dtdx = 0;
+ matrix.dtdy = 0;
+ matrix.dsdy = frame.getHeight() / static_cast<float>(SevenSegmentDrawer::getHeight());
+ mLayer->setMatrix(matrix, true);
+ mLayer->setPosition(frame.left, frame.top);
mFlinger.mTransactionFlags.fetch_or(eTransactionMask);
}