diff options
author | 2012-02-27 19:48:36 -0800 | |
---|---|---|
committer | 2012-02-27 19:48:36 -0800 | |
commit | aac99487a122c5b602853500376551b7987308ac (patch) | |
tree | 35769dfed9faa1aae12a9a72d37e61874786c492 | |
parent | 3169e4bd15e92d71cd920db5159caa275c98da36 (diff) | |
parent | 7df03c067d63adb183e6fa488f946047f7e76843 (diff) |
Merge "a window could get stuck to gpu composition"
-rw-r--r-- | services/surfaceflinger/Layer.cpp | 6 |
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()); |