replicant-frameworks_native/libs/gui
Antoine Labour 78014f32da BufferQueue: release mutex while allocating. DO NOT MERGE
BufferQueueProducer::allocateBuffers used to keep the BufferQueueCore
mutex while doing the buffer allocation, which would cause the consumer
(which also needs the mutex) to block if the allocation takes a long
time.
Instead, release the mutex while doing the allocation, and grab it again
before filling the slots. Keep a bool state and a condvar to prevent
other producers from trying to allocate the slots while the mutex is
released.

Bug: 11792166

Change-Id: I4ab1319995ef892be2beba892f1fdbf50ce0416d
(cherry picked from commit ea96044470)
2014-07-22 19:45:55 +00:00
..
tests GLConsumer: Stop using default constructor params 2014-06-24 13:09:19 -07:00
Android.mk BufferQueue: Add StreamSplitter 2014-04-15 10:34:10 -07:00
BitTube.cpp libgui: 64-bit compile issues 2014-06-09 14:27:45 -07:00
BufferItem.cpp Change BufferQueue into producer/consumer wrapper 2014-03-04 15:58:03 -08:00
BufferItemConsumer.cpp BufferItemConsumer: Use IGBC instead of BQ 2014-03-13 11:12:04 -07:00
BufferQueue.cpp Remove deprecated BufferQueue constructor 2014-04-22 14:12:55 -07:00
BufferQueueConsumer.cpp libgui: 64 bit compile issues (part deux) 2014-06-09 15:42:26 -07:00
BufferQueueCore.cpp BufferQueue: release mutex while allocating. DO NOT MERGE 2014-07-22 19:45:55 +00:00
BufferQueueProducer.cpp BufferQueue: release mutex while allocating. DO NOT MERGE 2014-07-22 19:45:55 +00:00
BufferSlot.cpp Change BufferQueue into producer/consumer wrapper 2014-03-04 15:58:03 -08:00
CleanSpec.mk
ConsumerBase.cpp am 72676e7d: am 0e1313cd: Merge "libgui: 64-bit compile issues" 2014-06-11 17:44:52 +00:00
CpuConsumer.cpp gui: CpuConsumer::lockNextBuffer change return code when too many bufs acquired 2013-08-14 20:17:17 -07:00
DisplayEventReceiver.cpp
GLConsumer.cpp GLConsumer: Allow creation in detached mode 2014-06-25 15:00:48 -07:00
GraphicBufferAlloc.cpp
GuiConfig.cpp
IConsumerListener.cpp Add sideband streams to BufferQueue and related classes 2014-03-11 12:23:14 -07:00
IDisplayEventConnection.cpp
IGraphicBufferAlloc.cpp
IGraphicBufferConsumer.cpp Merge "BufferQueue: Increase max slots from 32 to 64" 2014-04-21 16:11:22 +00:00
IGraphicBufferProducer.cpp Add sticky transform to surfaceflinger. 2014-07-14 22:14:32 +00:00
IProducerListener.cpp BufferQueue: Add producer buffer-released callback 2014-03-31 14:10:07 -07:00
ISensorEventConnection.cpp Enable wakeup sensors. 2014-04-23 14:38:56 -07:00
ISensorServer.cpp
ISurfaceComposer.cpp surfaceflinger: Replace blank/unblank with setPowerMode 2014-06-05 16:35:52 -07:00
ISurfaceComposerClient.cpp Adding render stats APIs to UiAutomation (framework native). 2014-04-10 12:32:19 -07:00
LayerState.cpp
Sensor.cpp Add glance gesture for doze mode. 2014-07-17 18:19:53 -07:00
SensorEventQueue.cpp Enable wakeup sensors. 2014-04-23 14:38:56 -07:00
SensorManager.cpp
StreamSplitter.cpp libgui: 64 bit compile issues (part deux) 2014-06-09 15:42:26 -07:00
Surface.cpp Add sticky transform to surfaceflinger. 2014-07-14 22:14:32 +00:00
SurfaceComposerClient.cpp surfaceflinger: Replace blank/unblank with setPowerMode 2014-06-05 16:35:52 -07:00
SurfaceControl.cpp Merge "libgui: Remove unnecessary casts in SurfaceControl" 2014-04-18 20:33:52 +00:00
SyncFeatures.cpp