Recompute visible regions more vigorously

Some of the code in latchBuffer was calling invalidateHwcGeometry,
but that didn't cause the SurfaceFlinger visible region code to
re-evaluate the layer's visibility.  Set the recomputeVisibleRegions
"out" parameter instead.

Bug 7235797

Change-Id: If6ba33fbd1a594cd64cc5253aebf752d6ceda1c9
This commit is contained in:
Andy McFadden 2012-09-26 16:19:12 -07:00
parent c4a8daaa99
commit ab10c5804c
1 changed files with 3 additions and 3 deletions

View File

@ -655,7 +655,7 @@ Region Layer::latchBuffer(bool& recomputeVisibleRegions)
if (oldActiveBuffer == NULL) {
// the first time we receive a buffer, we need to trigger a
// geometry invalidation.
mFlinger->invalidateHwcGeometry();
recomputeVisibleRegions = true;
}
Rect crop(mSurfaceTexture->getCurrentCrop());
@ -668,7 +668,7 @@ Region Layer::latchBuffer(bool& recomputeVisibleRegions)
mCurrentCrop = crop;
mCurrentTransform = transform;
mCurrentScalingMode = scalingMode;
mFlinger->invalidateHwcGeometry();
recomputeVisibleRegions = true;
}
if (oldActiveBuffer != NULL) {
@ -676,7 +676,7 @@ Region Layer::latchBuffer(bool& recomputeVisibleRegions)
uint32_t bufHeight = mActiveBuffer->getHeight();
if (bufWidth != uint32_t(oldActiveBuffer->width) ||
bufHeight != uint32_t(oldActiveBuffer->height)) {
mFlinger->invalidateHwcGeometry();
recomputeVisibleRegions = true;
}
}