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

Commit 7f8a1e6e authored by Ady Abraham's avatar Ady Abraham
Browse files

SurfaceFlinger: rename FrameTimeline's setActualEndTime

Rename setActualEndTime to setAcquireFenceTime to better reflect what
the method keeps track of.

Change-Id: I1865a48d0cc4fbb55c4ec0fe2ff172fd31735ccb
Test: SF unit tests
parent 97651d23
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -340,7 +340,7 @@ status_t BufferQueueLayer::updateTexImage(bool& recomputeVisibleRegions, nsecs_t
                                               FrameTracer::FrameEvent::LATCH);

        if (mQueueItems[0].surfaceFrame) {
            mQueueItems[0].surfaceFrame->setActualEndTime(
            mQueueItems[0].surfaceFrame->setAcquireFenceTime(
                    mQueueItems[0].item.mFenceTime->getSignalTime());
            mFlinger->mFrameTimeline->addSurfaceFrame(std::move(mQueueItems[0].surfaceFrame),
                                                      PresentState::Presented);
+2 −2
Original line number Diff line number Diff line
@@ -162,8 +162,8 @@ bool BufferStateLayer::applyPendingStates(Layer::State* stateToCommit) {
    mCurrentStateModified = mCurrentState.modified;
    bool stateUpdateAvailable = Layer::applyPendingStates(stateToCommit);
    if (stateUpdateAvailable && mCallbackHandleAcquireTime != -1) {
        // Update the actual end time if we have a buffer
        mSurfaceFrame->setActualEndTime(mCallbackHandleAcquireTime);
        // Update the acquire fence time if we have a buffer
        mSurfaceFrame->setAcquireFenceTime(mCallbackHandleAcquireTime);
    }
    mCurrentStateModified = stateUpdateAvailable && mCurrentStateModified;
    mCurrentState.modified = false;
+3 −2
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@

#include "FrameTimeline.h"
#include <android-base/stringprintf.h>
#include <utils/Log.h>
#include <utils/Trace.h>
#include <cinttypes>

@@ -104,9 +105,9 @@ void SurfaceFrame::setActualQueueTime(nsecs_t actualQueueTime) {
    std::lock_guard<std::mutex> lock(mMutex);
    mActualQueueTime = actualQueueTime;
}
void SurfaceFrame::setActualEndTime(nsecs_t actualEndTime) {
void SurfaceFrame::setAcquireFenceTime(nsecs_t acquireFenceTime) {
    std::lock_guard<std::mutex> lock(mMutex);
    mActuals.endTime = actualEndTime;
    mActuals.endTime = std::max(acquireFenceTime, mActualQueueTime);
}

void SurfaceFrame::setActualPresentTime(nsecs_t presentTime) {
+3 −3
Original line number Diff line number Diff line
@@ -85,10 +85,10 @@ public:

    // Actual timestamps of the app are set individually at different functions.
    // Start time (if the app provides) and Queue time are accessible after queueing the frame,
    // whereas End time is available only during latch.
    // whereas Acquire Fence time is available only during latch.
    virtual void setActualStartTime(nsecs_t actualStartTime) = 0;
    virtual void setActualQueueTime(nsecs_t actualQueueTime) = 0;
    virtual void setActualEndTime(nsecs_t actualEndTime) = 0;
    virtual void setAcquireFenceTime(nsecs_t acquireFenceTime) = 0;
};

/*
@@ -163,7 +163,7 @@ public:

    void setActualStartTime(nsecs_t actualStartTime) override;
    void setActualQueueTime(nsecs_t actualQueueTime) override;
    void setActualEndTime(nsecs_t actualEndTime) override;
    void setAcquireFenceTime(nsecs_t acquireFenceTime) override;
    void setPresentState(PresentState state) override;
    void setActualPresentTime(nsecs_t presentTime);
    void dump(std::string& result);
+4 −1
Original line number Diff line number Diff line
@@ -894,7 +894,10 @@ bool Layer::applyPendingStates(State* stateToCommit) {
        auto surfaceFrame =
                mFlinger->mFrameTimeline->createSurfaceFrameForToken(mTransactionName, vsyncId);
        surfaceFrame->setActualQueueTime(stateToCommit->postTime);
        surfaceFrame->setActualEndTime(stateToCommit->postTime);
        // For transactions we set the acquire fence time to the post time as we
        // don't have a buffer. For BufferStateLayer it is overridden in
        // BufferStateLayer::applyPendingStates
        surfaceFrame->setAcquireFenceTime(stateToCommit->postTime);

        mSurfaceFrame = std::move(surfaceFrame);
    }
Loading