replicant-frameworks_native/include/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
..
BitTube.h fix a few problems with BitTube 2013-09-10 21:10:53 -07:00
BufferItem.h Split BufferQueue into core + producer + consumer 2014-03-04 09:33:14 -08:00
BufferItemConsumer.h BufferItemConsumer: Use IGBC instead of BQ 2014-03-13 11:12:04 -07:00
BufferQueue.h Remove deprecated BufferQueue constructor 2014-04-22 14:12:55 -07:00
BufferQueueConsumer.h BufferQueue: Increase max slots from 32 to 64 2014-04-18 11:40:14 -07:00
BufferQueueCore.h BufferQueue: release mutex while allocating. DO NOT MERGE 2014-07-22 19:45:55 +00:00
BufferQueueDefs.h BufferQueue: Increase max slots from 32 to 64 2014-04-18 11:40:14 -07:00
BufferQueueProducer.h Add sticky transform to surfaceflinger. 2014-07-14 22:14:32 +00:00
BufferSlot.h BufferQueue: Allow detaching/reattaching buffers 2014-03-10 16:45:38 -07:00
ConsumerBase.h Add sideband streams to BufferQueue and related classes 2014-03-11 12:23:14 -07:00
CpuConsumer.h gui: CpuConsumer::lockNextBuffer change return code when too many bufs acquired 2013-08-14 20:17:17 -07:00
DisplayEventReceiver.h make struct Event layout consistent on 32/64-bit 2014-03-20 16:49:06 +08:00
GLConsumer.h GLConsumer: Allow creation in detached mode 2014-06-25 15:00:48 -07:00
GraphicBufferAlloc.h SurfaceFlinger: Move GraphicBufferAlloc to libgui 2012-12-11 17:54:29 -08:00
GuiConfig.h Show build config in dumpsys SurfaceFlinger 2012-09-25 11:31:46 -07:00
IConsumerListener.h Add sideband streams to BufferQueue and related classes 2014-03-11 12:23:14 -07:00
IDisplayEventConnection.h Improve the VSYNC api a bit. 2011-12-06 22:43:10 -08:00
IGraphicBufferAlloc.h fix libgui header location 2012-02-27 13:03:08 -08:00
IGraphicBufferConsumer.h Merge "BufferQueue: Increase max slots from 32 to 64" 2014-04-21 16:11:22 +00:00
IGraphicBufferProducer.h Add sticky transform to surfaceflinger. 2014-07-14 22:14:32 +00:00
IProducerListener.h BufferQueue: Add producer buffer-released callback 2014-03-31 14:10:07 -07:00
ISensorEventConnection.h Enable wakeup sensors. 2014-04-23 14:38:56 -07:00
ISensorServer.h
ISurfaceComposer.h surfaceflinger: Replace blank/unblank with setPowerMode 2014-06-05 16:35:52 -07:00
ISurfaceComposerClient.h Adding render stats APIs to UiAutomation (framework native). 2014-04-10 12:32:19 -07:00
Sensor.h Surface reportingMode for Sensors. 2014-06-12 14:49:41 -07:00
SensorEventQueue.h Enable wakeup sensors. 2014-04-23 14:38:56 -07:00
SensorManager.h
StreamSplitter.h BufferQueue: Add StreamSplitter 2014-04-15 10:34:10 -07:00
Surface.h Add sticky transform to surfaceflinger. 2014-07-14 22:14:32 +00:00
SurfaceComposerClient.h surfaceflinger: Replace blank/unblank with setPowerMode 2014-06-05 16:35:52 -07:00
SurfaceControl.h Adding render stats APIs to UiAutomation (framework native). 2014-04-10 12:32:19 -07:00