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

Commit 21a64de2 authored by Valerie Hau's avatar Valerie Hau Committed by Android (Google) Code Review
Browse files

Merge "TEMPORARY FIX: add sync point logic to BufferStateLayers"

parents 0a244c76 3282b3cf
Loading
Loading
Loading
Loading
+6 −5
Original line number Diff line number Diff line
@@ -149,6 +149,8 @@ bool BufferStateLayer::willPresentCurrentTransaction() const {
        !mLayerDetached;
}

/* TODO: vhau uncomment once deferred transaction migration complete in
 * WindowManager
void BufferStateLayer::pushPendingState() {
    if (!mCurrentState.modified) {
        return;
@@ -156,13 +158,12 @@ void BufferStateLayer::pushPendingState() {
    mPendingStates.push_back(mCurrentState);
    ATRACE_INT(mTransactionName.c_str(), mPendingStates.size());
}
*/

bool BufferStateLayer::applyPendingStates(Layer::State* stateToCommit) {
    const bool stateUpdateAvailable = !mPendingStates.empty();
    while (!mPendingStates.empty()) {
        popPendingState(stateToCommit);
    }
    mCurrentStateModified = stateUpdateAvailable && mCurrentState.modified;
    mCurrentStateModified = mCurrentState.modified;
    bool stateUpdateAvailable = Layer::applyPendingStates(stateToCommit);
    mCurrentStateModified = stateUpdateAvailable && mCurrentStateModified;
    mCurrentState.modified = false;
    return stateUpdateAvailable;
}
+3 −1
Original line number Diff line number Diff line
@@ -50,7 +50,9 @@ public:
    uint32_t doTransactionResize(uint32_t flags, Layer::State* /*stateToCommit*/) override {
        return flags;
    }
    void pushPendingState() override;
    /*TODO:vhau return to using BufferStateLayer override once WM
     * has removed deferred transactions!
    void pushPendingState() override;*/
    bool applyPendingStates(Layer::State* stateToCommit) override;

    uint32_t getActiveWidth(const Layer::State& s) const override { return s.active.w; }