summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJorim Jaggi2017-08-09 11:16:14 -0500
committerandroid-build-merger2017-08-09 11:16:14 -0500
commite89483f1bda1468a8f58fc8bcd8477a7d4cb0c92 (patch)
tree55900db1ade339119f0a60f472b05372463e942e /services/surfaceflinger
parent5b1a00f4af5e4fde764593952a730377e60de4f3 (diff)
parent0436b01d1b48c55e59d8ad21187c0e80b7828a9f (diff)
downloadframeworks-native-e89483f1bda1468a8f58fc8bcd8477a7d4cb0c92.tar.gz
frameworks-native-e89483f1bda1468a8f58fc8bcd8477a7d4cb0c92.tar.xz
frameworks-native-e89483f1bda1468a8f58fc8bcd8477a7d4cb0c92.zip
Merge "Fix out-of-order transactions (2/2)" into oc-dr1-dev
am: 0436b01d1b Change-Id: I021a2635b40e74f29e1d94ad4a738f3b043ed5db
Diffstat (limited to 'services/surfaceflinger')
-rw-r--r--services/surfaceflinger/SurfaceFlinger.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp
index 4623be74d..06e2a7fd3 100644
--- a/services/surfaceflinger/SurfaceFlinger.cpp
+++ b/services/surfaceflinger/SurfaceFlinger.cpp
@@ -2865,10 +2865,12 @@ void SurfaceFlinger::setTransactionState(
2865 } 2865 }
2866 } 2866 }
2867 2867
2868 // If a synchronous transaction is explicitly requested without any changes, 2868 // If a synchronous transaction is explicitly requested without any changes, force a transaction
2869 // force a transaction anyway. This can be used as a flush mechanism for 2869 // anyway. This can be used as a flush mechanism for previous async transactions.
2870 // previous async transactions. 2870 // Empty animation transaction can be used to simulate back-pressure, so also force a
2871 if (transactionFlags == 0 && (flags & eSynchronous)) { 2871 // transaction for empty animation transactions.
2872 if (transactionFlags == 0 &&
2873 ((flags & eSynchronous) || (flags & eAnimation))) {
2872 transactionFlags = eTransactionNeeded; 2874 transactionFlags = eTransactionNeeded;
2873 } 2875 }
2874 2876