summaryrefslogtreecommitdiffstats
path: root/services/surfaceflinger/Layer.cpp
diff options
context:
space:
mode:
authorJamie Gennis <jgennis@google.com>2012-05-10 14:37:14 -0700
committerJamie Gennis <jgennis@google.com>2012-05-10 15:35:56 -0700
commit51dcd581b1fb1bcea7cac9b969123abda13e34ab (patch)
tree129d712236d41ead71d5e8c81cef09984361c242 /services/surfaceflinger/Layer.cpp
parentcd1806e210f2633423f0fb14d39fa00d03974223 (diff)
downloadframeworks_native-51dcd581b1fb1bcea7cac9b969123abda13e34ab.zip
frameworks_native-51dcd581b1fb1bcea7cac9b969123abda13e34ab.tar.gz
frameworks_native-51dcd581b1fb1bcea7cac9b969123abda13e34ab.tar.bz2
SurfaceFlinger: recompute visible regions more
This change makes a change in the crop, scaling mode, transform, or buffer dimensions trigger a recomputation of the visible regions of a window. With the new cropping behavior for SCALING_MODE_FREEZE all of these can now affect the visible region. Bug: 6470541 Change-Id: I1904e47efbd708e28bf189f637d24dbef65cd41e
Diffstat (limited to 'services/surfaceflinger/Layer.cpp')
-rw-r--r--services/surfaceflinger/Layer.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/services/surfaceflinger/Layer.cpp b/services/surfaceflinger/Layer.cpp
index e936188..6bc80ee 100644
--- a/services/surfaceflinger/Layer.cpp
+++ b/services/surfaceflinger/Layer.cpp
@@ -541,6 +541,7 @@ void Layer::lockPageFlip(bool& recomputeVisibleRegions)
mCurrentTransform = transform;
mCurrentScalingMode = scalingMode;
mFlinger->invalidateHwcGeometry();
+ recomputeVisibleRegions = true;
}
uint32_t bufWidth = mActiveBuffer->getWidth();
@@ -549,6 +550,7 @@ void Layer::lockPageFlip(bool& recomputeVisibleRegions)
if (bufWidth != uint32_t(oldActiveBuffer->width) ||
bufHeight != uint32_t(oldActiveBuffer->height)) {
mFlinger->invalidateHwcGeometry();
+ recomputeVisibleRegions = true;
}
}