diff options
author | 2017-03-09 21:53:58 +0000 | |
---|---|---|
committer | 2017-03-09 21:53:59 +0000 | |
commit | 99295a2b1bce6b1031db91b60fb046d5c17fa92c (patch) | |
tree | fdefa356f4f217b4d5ef9b1d89346987067ac7b7 /libs/gui/BufferQueueProducer.cpp | |
parent | 54e1e10afe4bbb4defdaa99a86b156b8e543ffc0 (diff) | |
parent | 1da94dfed674e94edc37cdc8ef68530520edf169 (diff) |
Merge changes from topic 'igraphicbufferallocator'
* changes:
get rid of IGraphicBufferAlloc
Remove a dependency of EGL on ui/GraphicBuffer.h
remove EGL dependency on libbinder
Diffstat (limited to 'libs/gui/BufferQueueProducer.cpp')
-rw-r--r-- | libs/gui/BufferQueueProducer.cpp | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/libs/gui/BufferQueueProducer.cpp b/libs/gui/BufferQueueProducer.cpp index 27ced6180b..b92e895668 100644 --- a/libs/gui/BufferQueueProducer.cpp +++ b/libs/gui/BufferQueueProducer.cpp @@ -34,7 +34,6 @@ #include <gui/BufferQueueProducer.h> #include <gui/GLConsumer.h> #include <gui/IConsumerListener.h> -#include <gui/IGraphicBufferAlloc.h> #include <gui/IProducerListener.h> #include <utils/Log.h> @@ -454,8 +453,7 @@ status_t BufferQueueProducer::dequeueBuffer(int *outSlot, mSlots[found].mBufferState.dequeue(); if ((buffer == NULL) || - buffer->needsReallocation(width, height, format, BQ_LAYER_COUNT, - usage)) + buffer->needsReallocation(width, height, format, BQ_LAYER_COUNT, usage)) { mSlots[found].mAcquireCalled = false; mSlots[found].mGraphicBuffer = NULL; @@ -503,11 +501,13 @@ status_t BufferQueueProducer::dequeueBuffer(int *outSlot, } // Autolock scope if (returnFlags & BUFFER_NEEDS_REALLOCATION) { - status_t error; BQ_LOGV("dequeueBuffer: allocating a new buffer for slot %d", *outSlot); - sp<GraphicBuffer> graphicBuffer(mCore->mAllocator->createGraphicBuffer( - width, height, format, BQ_LAYER_COUNT, usage, - {mConsumerName.string(), mConsumerName.size()}, &error)); + sp<GraphicBuffer> graphicBuffer = new GraphicBuffer( + width, height, format, BQ_LAYER_COUNT, usage, usage, + {mConsumerName.string(), mConsumerName.size()}); + + status_t error = graphicBuffer->initCheck(); + { // Autolock scope Mutex::Autolock lock(mCore->mMutex); @@ -1329,11 +1329,12 @@ void BufferQueueProducer::allocateBuffers(uint32_t width, uint32_t height, Vector<sp<GraphicBuffer>> buffers; for (size_t i = 0; i < newBufferCount; ++i) { - status_t result = NO_ERROR; - sp<GraphicBuffer> graphicBuffer(mCore->mAllocator->createGraphicBuffer( + sp<GraphicBuffer> graphicBuffer = new GraphicBuffer( allocWidth, allocHeight, allocFormat, BQ_LAYER_COUNT, - allocUsage, {mConsumerName.string(), mConsumerName.size()}, - &result)); + allocUsage, allocUsage, {mConsumerName.string(), mConsumerName.size()}); + + status_t result = graphicBuffer->initCheck(); + if (result != NO_ERROR) { BQ_LOGE("allocateBuffers: failed to allocate buffer (%u x %u, format" " %u, usage %u)", width, height, format, usage); |