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

Commit 7687b3cd authored by Valerie Hau's avatar Valerie Hau
Browse files

[RESTRICT AUTOMERGE] Send callbacks earlier

Missed callbacks if connected displayDevice is not powered on

Bug: 153112115
Test: build, boot, SurfaceFlinger_test
Change-Id: Idb89eebe70535d9bf4ca7a067d8aac10037e1d67
parent 08c5dfcd
Loading
Loading
Loading
Loading
+10 −10
Original line number Diff line number Diff line
@@ -2159,6 +2159,16 @@ void SurfaceFlinger::postComposition()
        }
    });

    mTransactionCompletedThread.addPresentFence(mPreviousPresentFences[0]);

    // Lock the mStateLock in case SurfaceFlinger is in the middle of applying a transaction.
    // If we do not lock here, a callback could be sent without all of its SurfaceControls and
    // metrics.
    {
        Mutex::Autolock _l(mStateLock);
        mTransactionCompletedThread.sendCallbacks();
    }

    if (presentFenceTime->isValid()) {
        mScheduler->addPresentFence(presentFenceTime);
    }
@@ -2230,16 +2240,6 @@ void SurfaceFlinger::postComposition()
        }
    }

    mTransactionCompletedThread.addPresentFence(mPreviousPresentFences[0]);

    // Lock the mStateLock in case SurfaceFlinger is in the middle of applying a transaction.
    // If we do not lock here, a callback could be sent without all of its SurfaceControls and
    // metrics.
    {
        Mutex::Autolock _l(mStateLock);
        mTransactionCompletedThread.sendCallbacks();
    }

    if (mLumaSampling && mRegionSamplingThread) {
        mRegionSamplingThread->notifyNewContent();
    }