summaryrefslogtreecommitdiffstats
path: root/services/surfaceflinger
diff options
context:
space:
mode:
authorDan Stoza <stoza@google.com>2015-05-05 14:00:52 -0700
committerDan Stoza <stoza@google.com>2015-05-05 14:21:20 -0700
commit8afb76731a2bcb6455bf1da8e94c6267994ef1e2 (patch)
tree4f057d85ebf0b58314de63534844956860974326 /services/surfaceflinger
parente357f6494539cf40a87f77a85e9c0a694c331b86 (diff)
downloadframeworks_native-8afb76731a2bcb6455bf1da8e94c6267994ef1e2.zip
frameworks_native-8afb76731a2bcb6455bf1da8e94c6267994ef1e2.tar.gz
frameworks_native-8afb76731a2bcb6455bf1da8e94c6267994ef1e2.tar.bz2
SF: Apply pending transactions to new sidebands
When a Layer's sideband stream is set, apply any pending transactions. Otherwise they would never be applied since sideband streams don't trigger updates by pushing new buffers. Bug: 20125898 Change-Id: I0c7a91cdf84e6205801f4ab64eee0b09e4c0b3e0 (cherry picked from commit 3b04e1383eca6cb1d43ebe23a421c427007690c7)
Diffstat (limited to 'services/surfaceflinger')
-rw-r--r--services/surfaceflinger/Layer.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/services/surfaceflinger/Layer.cpp b/services/surfaceflinger/Layer.cpp
index 9fb94dd..7b104c3 100644
--- a/services/surfaceflinger/Layer.cpp
+++ b/services/surfaceflinger/Layer.cpp
@@ -1125,6 +1125,10 @@ Region Layer::latchBuffer(bool& recomputeVisibleRegions)
if (android_atomic_acquire_cas(true, false, &mSidebandStreamChanged) == 0) {
// mSidebandStreamChanged was true
mSidebandStream = mSurfaceFlingerConsumer->getSidebandStream();
+ if (mSidebandStream != NULL) {
+ setTransactionFlags(eTransactionNeeded);
+ mFlinger->setTransactionFlags(eTraversalNeeded);
+ }
recomputeVisibleRegions = true;
const State& s(getDrawingState());