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

Commit e9d6733f authored by Alec Mouri's avatar Alec Mouri Committed by Android (Google) Code Review
Browse files

Merge changes Ib83141bd,Iaaba87a2 into tm-dev

* changes:
  Remove FenceTimelines
  Remove consumer frame event history
parents 984f01a4 04d24da3
Loading
Loading
Loading
Loading
+3 −12
Original line number Diff line number Diff line
@@ -315,11 +315,7 @@ void BufferLayer::preparePerFrameCompositionState() {
    compositionState->sidebandStreamHasFrame = false;
}

bool BufferLayer::onPreComposition(nsecs_t refreshStartTime) {
    if (mBufferInfo.mBuffer != nullptr) {
        Mutex::Autolock lock(mFrameEventHistoryMutex);
        mFrameEventHistory.addPreComposition(mCurrentFrameNumber, refreshStartTime);
    }
bool BufferLayer::onPreComposition(nsecs_t) {
    return hasReadyFrame();
}
namespace {
@@ -365,12 +361,7 @@ void BufferLayer::onPostComposition(const DisplayDevice* display,
    mAlreadyDisplayedThisCompose = false;

    // Update mFrameEventHistory.
    {
        Mutex::Autolock lock(mFrameEventHistoryMutex);
        mFrameEventHistory.addPostComposition(mCurrentFrameNumber, glDoneFence, presentFence,
                                              compositorTiming);
    finalizeFrameEventHistory(glDoneFence, compositorTiming);
    }

    // Update mFrameTracker.
    nsecs_t desiredPresentTime = mBufferInfo.mDesiredPresentTime;
@@ -500,7 +491,7 @@ bool BufferLayer::latchBuffer(bool& recomputeVisibleRegions, nsecs_t latchTime,
        return false;
    }

    err = updateFrameNumber(latchTime);
    err = updateFrameNumber();
    if (err != NO_ERROR) {
        return false;
    }
+1 −1
Original line number Diff line number Diff line
@@ -192,7 +192,7 @@ private:
                                    nsecs_t expectedPresentTime) = 0;

    virtual status_t updateActiveBuffer() = 0;
    virtual status_t updateFrameNumber(nsecs_t latchTime) = 0;
    virtual status_t updateFrameNumber() = 0;

    // We generate InputWindowHandles for all non-cursor buffered layers regardless of whether they
    // have an InputChannel. This is to enable the InputDispatcher to do PID based occlusion
+0 −12
Original line number Diff line number Diff line
@@ -471,18 +471,6 @@ void BufferLayerConsumer::onBufferAvailable(const BufferItem& item) {
    }
}

void BufferLayerConsumer::addAndGetFrameTimestamps(const NewFrameEventsEntry* newTimestamps,
                                                   FrameEventHistoryDelta* outDelta) {
    Mutex::Autolock lock(mMutex);

    if (mAbandoned) {
        // Nothing to do if we're already abandoned.
        return;
    }

    mLayer->addAndGetFrameTimestamps(newTimestamps, outDelta);
}

void BufferLayerConsumer::abandonLocked() {
    BLC_LOGV("abandonLocked");
    mCurrentTextureBuffer = nullptr;
+1 −2
Original line number Diff line number Diff line
@@ -236,8 +236,7 @@ private:
    // IConsumerListener interface
    void onDisconnect() override;
    void onSidebandStreamChanged() override;
    void addAndGetFrameTimestamps(const NewFrameEventsEntry* newTimestamps,
                                  FrameEventHistoryDelta* outDelta) override;
    void addAndGetFrameTimestamps(const NewFrameEventsEntry*, FrameEventHistoryDelta*) override {}

    // computeCurrentTransformMatrixLocked computes the transform matrix for the
    // current texture.  It uses mCurrentTransform and the current GraphicBuffer
+2 −17
Original line number Diff line number Diff line
@@ -67,20 +67,10 @@ void BufferQueueLayer::setTransformHint(ui::Transform::RotationFlags displayTran
    mConsumer->setTransformHint(mTransformHint);
}

void BufferQueueLayer::releasePendingBuffer(nsecs_t dequeueReadyTime) {
void BufferQueueLayer::releasePendingBuffer(nsecs_t) {
    if (!mConsumer->releasePendingBuffer()) {
        return;
    }

    auto releaseFenceTime = std::make_shared<FenceTime>(mConsumer->getPrevFinalReleaseFence());
    mReleaseTimeline.updateSignalTimes();
    mReleaseTimeline.push(releaseFenceTime);

    Mutex::Autolock lock(mFrameEventHistoryMutex);
    if (mPreviousFrameNumber != 0) {
        mFrameEventHistory.addRelease(mPreviousFrameNumber, dequeueReadyTime,
                                      std::move(releaseFenceTime));
    }
}

void BufferQueueLayer::setDefaultBufferSize(uint32_t w, uint32_t h) {
@@ -320,14 +310,9 @@ status_t BufferQueueLayer::updateActiveBuffer() {
    return NO_ERROR;
}

status_t BufferQueueLayer::updateFrameNumber(nsecs_t latchTime) {
status_t BufferQueueLayer::updateFrameNumber() {
    mPreviousFrameNumber = mCurrentFrameNumber;
    mCurrentFrameNumber = mConsumer->getFrameNumber();

    {
        Mutex::Autolock lock(mFrameEventHistoryMutex);
        mFrameEventHistory.addLatch(mCurrentFrameNumber, latchTime);
    }
    return NO_ERROR;
}

Loading