replicant-frameworks_native/include/gui
Eric Penner 5c3d243fcc GLProducer: Reference count images rather than buffers.
In most cases, EGLImages can be created one-to-one with graphic
buffers in slots, but that was difficult due to some special
cases:
- ReleaseTexImage binds a custom 'unslotted' debug image.
- When all slots are freed, we still need to hang on to one.

These cases were handled by keeping an additional reference to
the 'current' buffer (mCurrentTextureBuf), but we would create
new images since we can't reference count them in the same way.
This patch uses the same semantics, except that it reference
counts the image (an EglImage wrapper class) rather than just
buffer. The wrapper class also detects the cases when we need
a new EGLImage, and only creates them in those rare cases.

Change-Id: I2915761dbe49d2a9bda1f59e60f857543634636b
2014-07-21 18:16:12 -07: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: Add producer buffer-released callback 2014-03-31 14:10:07 -07: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 GLProducer: Reference count images rather than buffers. 2014-07-21 18:16:12 -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 SensorManager reconnects to sensor service when the later dies 2011-10-16 22:15:23 -07:00
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