OSDN Git Service

Revert "libgui: Plumb attach/detach through CpuConsumer"
authorDan Stoza <stoza@google.com>
Thu, 2 Apr 2015 20:48:15 +0000 (13:48 -0700)
committerDan Stoza <stoza@google.com>
Thu, 2 Apr 2015 20:48:15 +0000 (13:48 -0700)
This reverts commit 20c5672883796c0dedf38f51dc2fc6f140b09ae6.

include/gui/CpuConsumer.h
libs/gui/BufferQueueConsumer.cpp
libs/gui/CpuConsumer.cpp

index 0e3e1ec..c99ab29 100644 (file)
@@ -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<GraphicBuffer>& buffer);
-
   private:
     // Maximum number of buffers that can be locked at a time
     size_t mMaxLockedBuffers;
index c7faeeb..526c3b7 100644 (file)
@@ -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
index 1f9c657..eb39469 100644 (file)
@@ -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<GraphicBuffer>& 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