diff options
author | Dan Stoza <stoza@google.com> | 2015-05-05 14:00:52 -0700 |
---|---|---|
committer | Dan Stoza <stoza@google.com> | 2015-05-05 14:21:20 -0700 |
commit | 8afb76731a2bcb6455bf1da8e94c6267994ef1e2 (patch) | |
tree | 4f057d85ebf0b58314de63534844956860974326 /services/surfaceflinger | |
parent | e357f6494539cf40a87f77a85e9c0a694c331b86 (diff) | |
download | frameworks_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.cpp | 4 |
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()); |