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

Commit c5f9d585 authored by Dominik Laskowski's avatar Dominik Laskowski Committed by Android (Google) Code Review
Browse files

Merge "SF: Decouple MessageQueue"

parents af7dc9ed e0e0cde7
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -485,7 +485,7 @@ bool BufferLayer::latchBuffer(bool& recomputeVisibleRegions, nsecs_t latchTime,
    // try again later
    if (!fenceHasSignaled()) {
        ATRACE_NAME("!fenceHasSignaled()");
        mFlinger->signalLayerUpdate();
        mFlinger->onLayerUpdate();
        return false;
    }

+4 −4
Original line number Diff line number Diff line
@@ -218,7 +218,7 @@ status_t BufferQueueLayer::updateTexImage(bool& recomputeVisibleRegions, nsecs_t
    if (updateResult == BufferQueue::PRESENT_LATER) {
        // Producer doesn't want buffer to be displayed yet.  Signal a
        // layer update so we check again at the next opportunity.
        mFlinger->signalLayerUpdate();
        mFlinger->onLayerUpdate();
        return BAD_VALUE;
    } else if (updateResult == BufferLayerConsumer::BUFFER_REJECTED) {
        // If the buffer has been rejected, remove it from the shadow queue
@@ -299,7 +299,7 @@ status_t BufferQueueLayer::updateTexImage(bool& recomputeVisibleRegions, nsecs_t
    // Decrement the queued-frames count.  Signal another event if we
    // have more frames pending.
    if ((queuedBuffer && more_frames_pending) || mAutoRefresh) {
        mFlinger->signalLayerUpdate();
        mFlinger->onLayerUpdate();
    }

    return NO_ERROR;
@@ -402,7 +402,7 @@ void BufferQueueLayer::onFrameAvailable(const BufferItem& item) {
    mFlinger->mInterceptor->saveBufferUpdate(layerId, item.mGraphicBuffer->getWidth(),
                                             item.mGraphicBuffer->getHeight(), item.mFrameNumber);

    mFlinger->signalLayerUpdate();
    mFlinger->onLayerUpdate();
    mConsumer->onBufferAvailable(item);
}

@@ -448,7 +448,7 @@ void BufferQueueLayer::onSidebandStreamChanged() {
    bool sidebandStreamChanged = false;
    if (mSidebandStreamChanged.compare_exchange_strong(sidebandStreamChanged, true)) {
        // mSidebandStreamChanged was changed to true
        mFlinger->signalLayerUpdate();
        mFlinger->onLayerUpdate();
    }
}

+2 −2
Original line number Diff line number Diff line
@@ -595,7 +595,7 @@ bool BufferStateLayer::setSidebandStream(const sp<NativeHandle>& sidebandStream)
    setTransactionFlags(eTransactionNeeded);
    if (!mSidebandStreamChanged.exchange(true)) {
        // mSidebandStreamChanged was false
        mFlinger->signalLayerUpdate();
        mFlinger->onLayerUpdate();
    }
    return true;
}
@@ -713,7 +713,7 @@ bool BufferStateLayer::onPreComposition(nsecs_t refreshStartTime) {

void BufferStateLayer::setAutoRefresh(bool autoRefresh) {
    if (!mAutoRefresh.exchange(autoRefresh)) {
        mFlinger->signalLayerUpdate();
        mFlinger->onLayerUpdate();
    }
}

+2 −2
Original line number Diff line number Diff line
@@ -85,8 +85,8 @@ struct CompositionRefreshArgs {
    // to prevent an early presentation of a frame.
    std::shared_ptr<FenceTime> previousPresentFence;

    // The predicted next invalidation time
    std::optional<std::chrono::steady_clock::time_point> nextInvalidateTime;
    // If set, a frame has been scheduled for that time.
    std::optional<std::chrono::steady_clock::time_point> scheduledFrameTime;
};

} // namespace android::compositionengine
+1 −1
Original line number Diff line number Diff line
@@ -1314,7 +1314,7 @@ void Output::postFramebuffer() {

void Output::renderCachedSets(const CompositionRefreshArgs& refreshArgs) {
    if (mPlanner) {
        mPlanner->renderCachedSets(getState(), refreshArgs.nextInvalidateTime);
        mPlanner->renderCachedSets(getState(), refreshArgs.scheduledFrameTime);
    }
}

Loading