From: Eino-Ville Talvala Date: Thu, 28 Feb 2013 19:01:32 +0000 (-0800) Subject: CpuConsumer: Add optional asynchronous mode X-Git-Tag: android-x86-4.4-r1~115^2~158 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=eb0d1296;p=android-x86%2Fframeworks-native.git CpuConsumer: Add optional asynchronous mode Bug: 8290146 Bug: 8291751 Change-Id: I9c8ac4bff38b0411e987a204e540d018dba6d0b4 --- diff --git a/include/gui/CpuConsumer.h b/include/gui/CpuConsumer.h index a7fdc0a9a7..93dff32bf8 100644 --- a/include/gui/CpuConsumer.h +++ b/include/gui/CpuConsumer.h @@ -57,7 +57,7 @@ class CpuConsumer: public ConsumerBase // Create a new CPU consumer. The maxLockedBuffers parameter specifies // how many buffers can be locked for user access at the same time. - CpuConsumer(uint32_t maxLockedBuffers); + CpuConsumer(uint32_t maxLockedBuffers, bool synchronousMode = true); virtual ~CpuConsumer(); diff --git a/libs/gui/CpuConsumer.cpp b/libs/gui/CpuConsumer.cpp index 340cd14d89..1ee6673558 100644 --- a/libs/gui/CpuConsumer.cpp +++ b/libs/gui/CpuConsumer.cpp @@ -29,7 +29,7 @@ namespace android { -CpuConsumer::CpuConsumer(uint32_t maxLockedBuffers) : +CpuConsumer::CpuConsumer(uint32_t maxLockedBuffers, bool synchronousMode) : ConsumerBase(new BufferQueue(true) ), mMaxLockedBuffers(maxLockedBuffers), mCurrentLockedBuffers(0) @@ -38,7 +38,7 @@ CpuConsumer::CpuConsumer(uint32_t maxLockedBuffers) : mLockedSlots[i].mBufferPointer = NULL; } - mBufferQueue->setSynchronousMode(true); + mBufferQueue->setSynchronousMode(synchronousMode); mBufferQueue->setConsumerUsageBits(GRALLOC_USAGE_SW_READ_OFTEN); mBufferQueue->setMaxAcquiredBufferCount(maxLockedBuffers); }