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

Commit b0af0f66 authored by Android Build Coastguard Worker's avatar Android Build Coastguard Worker
Browse files

Snap for 7495277 from 2bd3639d to sc-d1-release

Change-Id: Ic0c545e697950caea29f52f7ca8aabd578dea2a0
parents 0c4b4ef8 2bd3639d
Loading
Loading
Loading
Loading
+7 −7
Original line number Diff line number Diff line
@@ -151,7 +151,7 @@ BLASTBufferQueue::BLASTBufferQueue(const std::string& name, const sp<SurfaceCont
                                                      1, false);
    static int32_t id = 0;
    auto consumerName = mName + "(BLAST Consumer)" + std::to_string(id);
    mPendingBufferTrace = "PendingBuffer - " + mName + "BLAST#" + std::to_string(id);
    mQueuedBufferTrace = "QueuedBuffer - " + mName + "BLAST#" + std::to_string(id);
    id++;
    mBufferItemConsumer->setName(String8(consumerName.c_str()));
    mBufferItemConsumer->setFrameAvailableListener(this);
@@ -361,16 +361,15 @@ void BLASTBufferQueue::releaseBufferCallback(uint64_t graphicBufferId,
                     graphicBufferId);
            return;
        }

        mNumAcquired--;
        mBufferItemConsumer->releaseBuffer(it->second, releaseBuffer.releaseFence);
        mSubmitted.erase(it);
        processNextBufferLocked(false /* useNextTransaction */);
    }

    ATRACE_INT("PendingRelease", mPendingRelease.size());

    mNumAcquired--;
    ATRACE_INT(mPendingBufferTrace.c_str(), mNumFrameAvailable + mNumAcquired);
    processNextBufferLocked(false /* useNextTransaction */);
    ATRACE_INT(mQueuedBufferTrace.c_str(),
               mNumFrameAvailable + mNumAcquired - mPendingRelease.size());
    mCallbackCV.notify_all();
}

@@ -538,7 +537,8 @@ void BLASTBufferQueue::onFrameAvailable(const BufferItem& item) {
    }
    // add to shadow queue
    mNumFrameAvailable++;
    ATRACE_INT(mPendingBufferTrace.c_str(), mNumFrameAvailable + mNumAcquired);
    ATRACE_INT(mQueuedBufferTrace.c_str(),
               mNumFrameAvailable + mNumAcquired - mPendingRelease.size());

    BQA_LOGV("onFrameAvailable framenumber=%" PRIu64 " nextTransactionSet=%s", item.mFrameNumber,
             toString(nextTransactionSet));
+5 −1
Original line number Diff line number Diff line
@@ -125,7 +125,11 @@ private:
    static PixelFormat convertBufferFormat(PixelFormat& format);

    std::string mName;
    std::string mPendingBufferTrace;
    // Represents the queued buffer count from buffer queue,
    // pre-BLAST. This is mNumFrameAvailable (buffers that queued to blast) +
    // mNumAcquired (buffers that queued to SF)  mPendingRelease.size() (buffers that are held by
    // blast). This counter is read by android studio profiler.
    std::string mQueuedBufferTrace;
    sp<SurfaceControl> mSurfaceControl;

    std::mutex mMutex;
+1 −1
Original line number Diff line number Diff line
@@ -725,7 +725,7 @@ bool BufferStateLayer::latchSidebandStream(bool& recomputeVisibleRegions) {

bool BufferStateLayer::hasFrameUpdate() const {
    const State& c(getDrawingState());
    return mDrawingStateModified && (c.buffer != nullptr || c.bgColorLayer != nullptr);
    return (mDrawingStateModified || mDrawingState.modified) && (c.buffer != nullptr || c.bgColorLayer != nullptr);
}

status_t BufferStateLayer::updateTexImage(bool& /*recomputeVisibleRegions*/, nsecs_t latchTime,
+4 −0
Original line number Diff line number Diff line
@@ -378,10 +378,14 @@ void CachedSet::dump(std::string& result) const {
    if (mLayers.size() == 1) {
        base::StringAppendF(&result, "    Layer [%s]\n", mLayers[0].getName().c_str());
        base::StringAppendF(&result, "    Buffer %p", mLayers[0].getBuffer().get());
        base::StringAppendF(&result, "    Protected [%s]",
                            mLayers[0].getState()->isProtected() ? "true" : "false");
    } else {
        result.append("    Cached set of:");
        for (const Layer& layer : mLayers) {
            base::StringAppendF(&result, "\n      Layer [%s]", layer.getName().c_str());
            base::StringAppendF(&result, "\n      Protected [%s]",
                                layer.getState()->isProtected() ? "true" : "false");
        }
    }

+9 −1
Original line number Diff line number Diff line
@@ -420,7 +420,7 @@ std::vector<Flattener::Run> Flattener::findCandidateRuns(time_point now) const {
        const bool layerIsInactive = now - currentSet->getLastUpdate() > mActiveLayerTimeout;
        const bool layerHasBlur = currentSet->hasBlurBehind();
        if (layerIsInactive && (firstLayer || runHasFirstLayer || !layerHasBlur) &&
            !currentSet->hasHdrLayers() && !currentSet->hasProtectedLayers()) {
            !currentSet->hasHdrLayers()) {
            if (isPartOfRun) {
                builder.append(currentSet->getLayerCount());
            } else {
@@ -491,6 +491,14 @@ void Flattener::buildCachedSets(time_point now) {
        return;
    }

    for (const CachedSet& layer : mLayers) {
        // TODO (b/191997217): make it less aggressive, and sync with findCandidateRuns
        if (layer.hasProtectedLayers()) {
            ATRACE_NAME("layer->hasProtectedLayers()");
            return;
        }
    }

    std::vector<Run> runs = findCandidateRuns(now);

    std::optional<Run> bestRun = findBestRun(runs);
Loading