From 921d1d7a61f527b7bbf42e9ba46bd92342cc7c99 Mon Sep 17 00:00:00 2001 From: Dan Stoza Date: Thu, 2 Apr 2015 13:48:15 -0700 Subject: [PATCH] Revert "libgui: Plumb attach/detach through CpuConsumer" This reverts commit 20c5672883796c0dedf38f51dc2fc6f140b09ae6. --- include/gui/CpuConsumer.h | 14 -------- libs/gui/BufferQueueConsumer.cpp | 8 ++--- libs/gui/CpuConsumer.cpp | 55 -------------------------------- 3 files changed, 2 insertions(+), 75 deletions(-) diff --git a/include/gui/CpuConsumer.h b/include/gui/CpuConsumer.h index 0e3e1ec37..c99ab297d 100644 --- a/include/gui/CpuConsumer.h +++ b/include/gui/CpuConsumer.h @@ -114,20 +114,6 @@ class CpuConsumer : public ConsumerBase // lockNextBuffer. status_t unlockBuffer(const LockedBuffer &nativeBuffer); - // Gets the next buffer from the producer (if any), and transfers ownership - // of it from the queue to the caller. - // - // See IGraphicBufferConsumer::{acquireBuffer,detachBuffer} for possible - // error codes. - status_t detachNextBuffer(BufferItem* outItem); - - // Transfers ownership of the buffer from the caller to the queue, and - // releases the buffer for use by the producer. - // - // See IGraphicBufferConsumer::{attachBuffer,releaseBuffer} for possible - // error codes. - status_t attachAndReleaseBuffer(const sp& buffer); - private: // Maximum number of buffers that can be locked at a time size_t mMaxLockedBuffers; diff --git a/libs/gui/BufferQueueConsumer.cpp b/libs/gui/BufferQueueConsumer.cpp index c7faeebe7..526c3b729 100644 --- a/libs/gui/BufferQueueConsumer.cpp +++ b/libs/gui/BufferQueueConsumer.cpp @@ -247,16 +247,12 @@ status_t BufferQueueConsumer::attachBuffer(int* outSlot, ATRACE_BUFFER_INDEX(*outSlot); BQ_LOGV("attachBuffer(C): returning slot %d", *outSlot); - // If these are modified, they also need to be modified in - // CpuConsumer::attachAndReleaseBuffer mSlots[*outSlot].mGraphicBuffer = buffer; - mSlots[*outSlot].mFence = Fence::NO_FENCE; - mSlots[*outSlot].mFrameNumber = 0; - - // Changes to these do not need to be propagated to CpuConsumer mSlots[*outSlot].mBufferState = BufferSlot::ACQUIRED; mSlots[*outSlot].mAttachedByConsumer = true; mSlots[*outSlot].mNeedsCleanupOnRelease = false; + mSlots[*outSlot].mFence = Fence::NO_FENCE; + mSlots[*outSlot].mFrameNumber = 0; // mAcquireCalled tells BufferQueue that it doesn't need to send a valid // GraphicBuffer pointer on the next acquireBuffer call, which decreases diff --git a/libs/gui/CpuConsumer.cpp b/libs/gui/CpuConsumer.cpp index 1f9c65731..eb39469b0 100644 --- a/libs/gui/CpuConsumer.cpp +++ b/libs/gui/CpuConsumer.cpp @@ -277,59 +277,4 @@ void CpuConsumer::freeBufferLocked(int slotIndex) { ConsumerBase::freeBufferLocked(slotIndex); } -status_t CpuConsumer::detachNextBuffer(BufferItem* outItem) { - if (outItem == NULL) { - return BAD_VALUE; - } - - Mutex::Autolock lock(mMutex); - - BufferItem item; - status_t result = acquireBufferLocked(&item, 0); - if (result != NO_ERROR) { - CC_LOGE("%s: Failed to acquire buffer (%d)", __FUNCTION__, result); - return result; - } - - result = mConsumer->detachBuffer(item.mSlot); - if (result != NO_ERROR) { - CC_LOGE("%s: Failed to detach buffer (%d)", __FUNCTION__, result); - return result; - } - - freeBufferLocked(item.mSlot); - - *outItem = item; - return NO_ERROR; -} - -status_t CpuConsumer::attachAndReleaseBuffer(const sp& buffer) { - if (buffer == NULL) { - return BAD_VALUE; - } - - Mutex::Autolock lock(mMutex); - - int slot = -1; - status_t result = mConsumer->attachBuffer(&slot, buffer); - if (result != NO_ERROR) { - CC_LOGE("%s: Failed to attach buffer (%d)", __FUNCTION__, result); - return result; - } - - // These behaviors must be kept in sync with - // BufferQueueConsumer::attachBuffer - mSlots[slot].mGraphicBuffer = buffer; - mSlots[slot].mFence = Fence::NO_FENCE; - mSlots[slot].mFrameNumber = 0; - - result = releaseBufferLocked(slot, buffer, EGL_NO_DISPLAY, EGL_NO_SYNC_KHR); - if (result != NO_ERROR) { - CC_LOGE("%s: Failed to release buffer (%d)", __FUNCTION__, result); - return result; - } - - return NO_ERROR; -} - } // namespace android