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

Commit a786ade4 authored by Ady Abraham's avatar Ady Abraham Committed by Automerger Merge Worker
Browse files

Merge "BBQ: add a counter for pending buffers" into sc-dev am: 49ce8587

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/native/+/14950111

Change-Id: I81f30bd58b45fcd2fee4a3826f0331d29cc19a2e
parents 94527bcf 49ce8587
Loading
Loading
Loading
Loading
+3 −1
Original line number Original line Diff line number Diff line
@@ -151,6 +151,7 @@ BLASTBufferQueue::BLASTBufferQueue(const std::string& name, const sp<SurfaceCont
                                                      1, false);
                                                      1, false);
    static int32_t id = 0;
    static int32_t id = 0;
    auto consumerName = mName + "(BLAST Consumer)" + std::to_string(id);
    auto consumerName = mName + "(BLAST Consumer)" + std::to_string(id);
    mPendingBufferTrace = "PendingBuffer - " + mName + "BLAST#" + std::to_string(id);
    id++;
    id++;
    mBufferItemConsumer->setName(String8(consumerName.c_str()));
    mBufferItemConsumer->setName(String8(consumerName.c_str()));
    mBufferItemConsumer->setFrameAvailableListener(this);
    mBufferItemConsumer->setFrameAvailableListener(this);
@@ -168,7 +169,6 @@ BLASTBufferQueue::BLASTBufferQueue(const std::string& name, const sp<SurfaceCont
          .setFlags(surface, layer_state_t::eEnableBackpressure,
          .setFlags(surface, layer_state_t::eEnableBackpressure,
                    layer_state_t::eEnableBackpressure)
                    layer_state_t::eEnableBackpressure)
          .apply();
          .apply();

    mNumAcquired = 0;
    mNumAcquired = 0;
    mNumFrameAvailable = 0;
    mNumFrameAvailable = 0;
}
}
@@ -361,6 +361,7 @@ void BLASTBufferQueue::releaseBufferCallback(uint64_t graphicBufferId,
    ATRACE_INT("PendingRelease", mPendingRelease.size());
    ATRACE_INT("PendingRelease", mPendingRelease.size());


    mNumAcquired--;
    mNumAcquired--;
    ATRACE_INT(mPendingBufferTrace.c_str(), mNumFrameAvailable + mNumAcquired);
    processNextBufferLocked(false /* useNextTransaction */);
    processNextBufferLocked(false /* useNextTransaction */);
    mCallbackCV.notify_all();
    mCallbackCV.notify_all();
}
}
@@ -529,6 +530,7 @@ void BLASTBufferQueue::onFrameAvailable(const BufferItem& item) {
    }
    }
    // add to shadow queue
    // add to shadow queue
    mNumFrameAvailable++;
    mNumFrameAvailable++;
    ATRACE_INT(mPendingBufferTrace.c_str(), mNumFrameAvailable + mNumAcquired);


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


    std::string mName;
    std::string mName;
    std::string mPendingBufferTrace;
    sp<SurfaceControl> mSurfaceControl;
    sp<SurfaceControl> mSurfaceControl;


    std::mutex mMutex;
    std::mutex mMutex;