summaryrefslogtreecommitdiffstats
path: root/libs
diff options
context:
space:
mode:
Diffstat (limited to 'libs')
-rw-r--r--libs/gui/BufferQueueConsumer.cpp8
-rw-r--r--libs/gui/CpuConsumer.cpp55
2 files changed, 2 insertions, 61 deletions
diff --git a/libs/gui/BufferQueueConsumer.cpp b/libs/gui/BufferQueueConsumer.cpp
index c7faeeb..526c3b7 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 1f9c657..eb39469 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<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