diff options
author | Jamie Gennis <jgennis@google.com> | 2012-05-10 14:37:14 -0700 |
---|---|---|
committer | Jamie Gennis <jgennis@google.com> | 2012-05-10 15:35:56 -0700 |
commit | 51dcd581b1fb1bcea7cac9b969123abda13e34ab (patch) | |
tree | 129d712236d41ead71d5e8c81cef09984361c242 /services/surfaceflinger/Layer.cpp | |
parent | cd1806e210f2633423f0fb14d39fa00d03974223 (diff) | |
download | frameworks_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.cpp | 2 |
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; } } |