From 38d2500594652eabe7ee989d40b7190a26c577cc Mon Sep 17 00:00:00 2001 From: Robert Carr Date: Fri, 11 Jun 2021 14:30:09 -0700 Subject: Layer: Don't need atomic for transaction flags Following queued transaction changes we don't need an atomic here since setPosition etc all execute on the main thread. Test: Existing tests pass. simpleperf Bug: 186200583 Change-Id: I965d3883d30ce1eb3c452742535281f3e2719424 --- services/surfaceflinger/Layer.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'services/surfaceflinger/Layer.cpp') 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) { -- cgit v1.2.3-59-g8ed1b