summaryrefslogtreecommitdiff
path: root/services/surfaceflinger/Layer.cpp
diff options
context:
space:
mode:
author Rob Carr <racarr@google.com> 2021-06-17 17:56:24 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2021-06-17 17:56:24 +0000
commitc67c384ea4d500c655557ee32c12a08bbcaa57a5 (patch)
treef9edb3b5d93af7aa396a6ef95a3a9f4b3c195430 /services/surfaceflinger/Layer.cpp
parent603a15d295579ea583fbad2cb9c15cf41dd598dc (diff)
parent38d2500594652eabe7ee989d40b7190a26c577cc (diff)
Merge "Layer: Don't need atomic for transaction flags" into sc-dev
Diffstat (limited to 'services/surfaceflinger/Layer.cpp')
-rw-r--r--services/surfaceflinger/Layer.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/services/surfaceflinger/Layer.cpp b/services/surfaceflinger/Layer.cpp
index 2bf5602595..00defb3dc1 100644
--- a/services/surfaceflinger/Layer.cpp
+++ b/services/surfaceflinger/Layer.cpp
@@ -847,11 +847,13 @@ void Layer::commitTransaction(State& stateToCommit) {
}
uint32_t Layer::getTransactionFlags(uint32_t flags) {
- return mTransactionFlags.fetch_and(~flags) & flags;
+ auto ret = mTransactionFlags & flags;
+ mTransactionFlags &= ~flags;
+ return ret;
}
uint32_t Layer::setTransactionFlags(uint32_t flags) {
- return mTransactionFlags.fetch_or(flags);
+ return mTransactionFlags |= flags;
}
bool Layer::setPosition(float x, float y) {