diff options
author | 2014-03-03 10:16:19 -0800 | |
---|---|---|
committer | 2014-03-04 15:58:03 -0800 | |
commit | 3e96f1982fda358424b0b75f394cbf7c1794a072 (patch) | |
tree | b5a25e2624e31ee016e8f3f2a9f3f7697591e8c5 /libs/gui/BufferQueueProducer.cpp | |
parent | 289ade165e60b5f71734d30e535f16eb1f4313ad (diff) |
Change BufferQueue into producer/consumer wrapper
Now that BufferQueue has been split into core + producer + consumer,
rewrite BufferQueue to be a thin layer over a producer and consumer
interface. Eventually, this layer will be deprecated in favor of
only using either the producer or consumer interface, as applicable.
Change-Id: I340ae5f5b633b244fb594615ff52ba50b9e2f7e4
Diffstat (limited to 'libs/gui/BufferQueueProducer.cpp')
-rw-r--r-- | libs/gui/BufferQueueProducer.cpp | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/libs/gui/BufferQueueProducer.cpp b/libs/gui/BufferQueueProducer.cpp index 9d569ada3f..0e9de88a10 100644 --- a/libs/gui/BufferQueueProducer.cpp +++ b/libs/gui/BufferQueueProducer.cpp @@ -14,6 +14,10 @@ * limitations under the License. */ +#define LOG_TAG "BufferQueueProducer" +#define ATRACE_TAG ATRACE_TAG_GRAPHICS +//#define LOG_NDEBUG 0 + #define EGL_EGLEXT_PROTOTYPES #include <gui/BufferItem.h> @@ -44,9 +48,9 @@ status_t BufferQueueProducer::requestBuffer(int slot, sp<GraphicBuffer>* buf) { return NO_INIT; } - if (slot < 0 || slot >= BufferQueueCore::NUM_BUFFER_SLOTS) { + if (slot < 0 || slot >= BufferQueueDefs::NUM_BUFFER_SLOTS) { BQ_LOGE("requestBuffer: slot index %d out of range [0, %d)", - slot, BufferQueueCore::NUM_BUFFER_SLOTS); + slot, BufferQueueDefs::NUM_BUFFER_SLOTS); return BAD_VALUE; } else if (mSlots[slot].mBufferState != BufferSlot::DEQUEUED) { BQ_LOGE("requestBuffer: slot %d is not owned by the producer " @@ -72,14 +76,14 @@ status_t BufferQueueProducer::setBufferCount(int bufferCount) { return NO_INIT; } - if (bufferCount > BufferQueueCore::NUM_BUFFER_SLOTS) { + if (bufferCount > BufferQueueDefs::NUM_BUFFER_SLOTS) { BQ_LOGE("setBufferCount: bufferCount %d too large (max %d)", - bufferCount, BufferQueueCore::NUM_BUFFER_SLOTS); + bufferCount, BufferQueueDefs::NUM_BUFFER_SLOTS); return BAD_VALUE; } // There must be no dequeued buffers when changing the buffer count. - for (int s = 0; s < BufferQueueCore::NUM_BUFFER_SLOTS; ++s) { + for (int s = 0; s < BufferQueueDefs::NUM_BUFFER_SLOTS; ++s) { if (mSlots[s].mBufferState == BufferSlot::DEQUEUED) { BQ_LOGE("setBufferCount: buffer owned by producer"); return -EINVAL; @@ -169,7 +173,7 @@ status_t BufferQueueProducer::dequeueBuffer(int *outSlot, } // Free up any buffers that are in slots beyond the max buffer count - for (int s = maxBufferCount; s < BufferQueueCore::NUM_BUFFER_SLOTS; ++s) { + for (int s = maxBufferCount; s < BufferQueueDefs::NUM_BUFFER_SLOTS; ++s) { assert(mSlots[s].mBufferState == BufferSlot::FREE); if (mSlots[s].mGraphicBuffer != NULL) { mCore->freeBufferLocked(s); @@ -494,9 +498,9 @@ void BufferQueueProducer::cancelBuffer(int slot, const sp<Fence>& fence) { return; } - if (slot < 0 || slot >= BufferQueueCore::NUM_BUFFER_SLOTS) { + if (slot < 0 || slot >= BufferQueueDefs::NUM_BUFFER_SLOTS) { BQ_LOGE("cancelBuffer: slot index %d out of range [0, %d)", - slot, BufferQueueCore::NUM_BUFFER_SLOTS); + slot, BufferQueueDefs::NUM_BUFFER_SLOTS); return; } else if (mSlots[slot].mBufferState != BufferSlot::DEQUEUED) { BQ_LOGE("cancelBuffer: slot %d is not owned by the producer " |