Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f8c18082 authored by Rob Carr's avatar Rob Carr Committed by Automerger Merge Worker
Browse files

Merge "Layer: Don't need atomic for transaction flags" into sc-dev am: c67c384e

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/native/+/14949469

Change-Id: I478fa09c5810beb9f7a3adc8d2428ad40b994aa7
parents 0d9c060b c67c384e
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -33,6 +33,7 @@
#include <gui/BufferQueue.h>
#include <gui/BufferQueue.h>
#include <private/gui/SyncFeatures.h>
#include <private/gui/SyncFeatures.h>
#include <renderengine/Image.h>
#include <renderengine/Image.h>
#include "TunnelModeEnabledReporter.h"


#include "EffectLayer.h"
#include "EffectLayer.h"
#include "FrameTracer/FrameTracer.h"
#include "FrameTracer/FrameTracer.h"
+4 −2
Original line number Original line Diff line number Diff line
@@ -847,11 +847,13 @@ void Layer::commitTransaction(State& stateToCommit) {
}
}


uint32_t Layer::getTransactionFlags(uint32_t flags) {
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) {
uint32_t Layer::setTransactionFlags(uint32_t flags) {
    return mTransactionFlags.fetch_or(flags);
    return mTransactionFlags |= flags;
}
}


bool Layer::setPosition(float x, float y) {
bool Layer::setPosition(float x, float y) {
+1 −1
Original line number Original line Diff line number Diff line
@@ -960,7 +960,7 @@ protected:


    // these are protected by an external lock (mStateLock)
    // these are protected by an external lock (mStateLock)
    State mCurrentState;
    State mCurrentState;
    std::atomic<uint32_t> mTransactionFlags{0};
    uint32_t mTransactionFlags{0};


    // Timestamp history for UIAutomation. Thread safe.
    // Timestamp history for UIAutomation. Thread safe.
    FrameTracker mFrameTracker;
    FrameTracker mFrameTracker;