summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Mathias Agopian <mathias@google.com> 2012-02-27 19:48:36 -0800
committer Android (Google) Code Review <android-gerrit@google.com> 2012-02-27 19:48:36 -0800
commitaac99487a122c5b602853500376551b7987308ac (patch)
tree35769dfed9faa1aae12a9a72d37e61874786c492
parent3169e4bd15e92d71cd920db5159caa275c98da36 (diff)
parent7df03c067d63adb183e6fa488f946047f7e76843 (diff)
Merge "a window could get stuck to gpu composition"
-rw-r--r--services/surfaceflinger/Layer.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/services/surfaceflinger/Layer.cpp b/services/surfaceflinger/Layer.cpp
index 43acce823171..df7fe5c49ecf 100644
--- a/services/surfaceflinger/Layer.cpp
+++ b/services/surfaceflinger/Layer.cpp
@@ -459,6 +459,12 @@ void Layer::lockPageFlip(bool& recomputeVisibleRegions)
mActiveBuffer = mSurfaceTexture->getCurrentBuffer();
mFrameLatencyNeeded = true;
+ if (oldActiveBuffer == NULL && mActiveBuffer != NULL) {
+ // the first time we receive a buffer, we need to trigger a
+ // geometry invalidation.
+ mFlinger->invalidateHwcGeometry();
+ }
+
const Rect crop(mSurfaceTexture->getCurrentCrop());
const uint32_t transform(mSurfaceTexture->getCurrentTransform());
const uint32_t scalingMode(mSurfaceTexture->getCurrentScalingMode());