From 6ebdf5f0f7ca5354a1a9a0e6419275c7b873849d Mon Sep 17 00:00:00 2001 From: chaviw Date: Thu, 14 Oct 2021 11:57:22 -0500 Subject: 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 --- libs/gui/BLASTBufferQueue.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'libs/gui/BLASTBufferQueue.cpp') diff --git a/libs/gui/BLASTBufferQueue.cpp b/libs/gui/BLASTBufferQueue.cpp index 2d2b6b26f6..dfbb8630c0 100644 --- a/libs/gui/BLASTBufferQueue.cpp +++ b/libs/gui/BLASTBufferQueue.cpp @@ -597,9 +597,15 @@ Rect BLASTBufferQueue::computeCrop(const BufferItem& item) { void BLASTBufferQueue::acquireAndReleaseBuffer() { BufferItem bufferItem; - mBufferItemConsumer->acquireBuffer(&bufferItem, 0 /* expectedPresent */, false); - mBufferItemConsumer->releaseBuffer(bufferItem, Fence::NO_FENCE); + status_t status = + mBufferItemConsumer->acquireBuffer(&bufferItem, 0 /* expectedPresent */, false); + 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) { -- cgit v1.2.3-59-g8ed1b