From fa67b55312a1dfbc157f3bf9b0f5cf98d47402cb Mon Sep 17 00:00:00 2001 From: chaviw Date: Mon, 12 Aug 2019 16:51:55 -0700 Subject: Moved desiredPresentTime for BLAST into State Currently mDesiredPresentTime was being accessed by both main thread and binder thread. Moved desiredPresentTime into State struct so it can be accessed by the binder thread with current state and by the main thread with drawing state. Test: BLAST continues to work Change-Id: Ib32f4fb8963549e57c15fa2eb934b30fffe67171 --- services/surfaceflinger/BufferStateLayer.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'services/surfaceflinger/BufferStateLayer.cpp') diff --git a/services/surfaceflinger/BufferStateLayer.cpp b/services/surfaceflinger/BufferStateLayer.cpp index 0f262116e2..c2ec9bf747 100644 --- a/services/surfaceflinger/BufferStateLayer.cpp +++ b/services/surfaceflinger/BufferStateLayer.cpp @@ -217,10 +217,10 @@ bool BufferStateLayer::setBuffer(const sp& buffer, nsecs_t postTi setTransactionFlags(eTransactionNeeded); mFlinger->mTimeStats->setPostTime(getSequence(), mFrameNumber, getName().c_str(), postTime); - mDesiredPresentTime = desiredPresentTime; + mCurrentState.desiredPresentTime = desiredPresentTime; if (mFlinger->mUseSmart90ForVideo) { - const nsecs_t presentTime = (mDesiredPresentTime == -1) ? 0 : mDesiredPresentTime; + const nsecs_t presentTime = (desiredPresentTime == -1) ? 0 : desiredPresentTime; mFlinger->mScheduler->addLayerPresentTimeAndHDR(mSchedulerLayerHandle, presentTime, mCurrentState.hdrMetadata.validTypes != 0); } @@ -374,11 +374,11 @@ bool BufferStateLayer::framePresentTimeIsCurrent(nsecs_t expectedPresentTime) co return true; } - return mDesiredPresentTime <= expectedPresentTime; + return mCurrentState.desiredPresentTime <= expectedPresentTime; } nsecs_t BufferStateLayer::getDesiredPresentTime() { - return mDesiredPresentTime; + return getDrawingState().desiredPresentTime; } std::shared_ptr BufferStateLayer::getCurrentFenceTime() const { -- cgit v1.2.3-59-g8ed1b