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

Commit 8cba4cea authored by chaviw's avatar chaviw Committed by Rob Carr
Browse files

Use bufferItem's fence when calling release

When we acquire and release immediately, we want to use the bufferItem's
release fence instead of NO_FENCE.

Also add an error log if there's a failure in acquireBuffer, which
really should never happen.

Test: BLASTBufferQueueTest
Bug: 200285149
Change-Id: I5e869b0f66f37b15b9317985b30f539dbfea831c
(cherry picked from commit 6ebdf5f0)
parent fe34457d
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -621,9 +621,15 @@ Rect BLASTBufferQueue::computeCrop(const BufferItem& item) {

void BLASTBufferQueue::acquireAndReleaseBuffer() {
    BufferItem bufferItem;
    status_t status =
            mBufferItemConsumer->acquireBuffer(&bufferItem, 0 /* expectedPresent */, false);
    mBufferItemConsumer->releaseBuffer(bufferItem, Fence::NO_FENCE);
    if (status != OK) {
        BQA_LOGE("Failed to acquire a buffer in acquireAndReleaseBuffer, err=%s",
                 statusToString(status).c_str());
        return;
    }
    mNumFrameAvailable--;
    mBufferItemConsumer->releaseBuffer(bufferItem, bufferItem.mFence);
}

void BLASTBufferQueue::onFrameAvailable(const BufferItem& item) {