replicant-frameworks_native/libs/gui
Dan Stoza 0de7ea7529 libgui: Change BufferQueue to use free lists
BufferQueue used to choose free buffers by scanning through its array
of slots and picking one based on timestamp. This changes that
mechanism to use a pair of free lists: one with buffers attached and
one without. This makes it easier to choose either type of free slot
depending on the needs of the current operation.

Fixes an issue with the first version of this change, found in bugs
20482952, 20443314, and 20464549.

Bug: 13175420
Change-Id: I9b6e83cfe8f9b4329a976025cb8e291d51fb6d4a
2015-04-23 13:25:11 -07:00
..
tests DO NOT MERGE libgui: Prepare for IGBC::BufferItem removal 2015-03-19 13:58:07 -07:00
Android.mk libgui: Enable -Weverything and -Werror 2015-03-18 15:57:27 -07:00
BitTube.cpp libgui: Enable -Weverything and -Werror 2015-03-18 15:57:27 -07:00
BufferItem.cpp libgui: Pass surface damage through BufferQueue 2015-04-15 13:19:38 -07:00
BufferItemConsumer.cpp DO NOT MERGE libgui: Remove IGBC::BufferItem 2015-03-20 12:29:04 -07:00
BufferQueue.cpp DO NOT MERGE libgui: Remove IGBC::BufferItem 2015-03-20 12:29:04 -07:00
BufferQueueConsumer.cpp libgui: Change BufferQueue to use free lists 2015-04-23 13:25:11 -07:00
BufferQueueCore.cpp libgui: Change BufferQueue to use free lists 2015-04-23 13:25:11 -07:00
BufferQueueProducer.cpp libgui: Change BufferQueue to use free lists 2015-04-23 13:25:11 -07:00
BufferSlot.cpp libgui: Enable -Weverything and -Werror 2015-03-18 15:57:27 -07:00
CleanSpec.mk Fix missing parens in CleanSpec.mk. 2012-10-04 20:05:19 -07:00
ConsumerBase.cpp libgui: Plumb detachBuffer through ConsumerBase 2015-04-07 15:05:40 -07:00
CpuConsumer.cpp DO NOT MERGE libgui: Prepare for IGBC::BufferItem removal 2015-03-19 13:58:07 -07:00
DisplayEventReceiver.cpp use a socketpair instead of a pipe in BitTube 2012-04-02 18:41:10 -07:00
GLConsumer.cpp DO NOT MERGE libgui: Remove IGBC::BufferItem 2015-03-20 12:29:04 -07:00
GraphicBufferAlloc.cpp libgui: Enable -Weverything and -Werror 2015-03-18 15:57:27 -07:00
GuiConfig.cpp don't use compile-time configuration of libgui as much as possible 2013-03-29 15:33:47 -07:00
IConsumerListener.cpp libgui: Enable -Weverything and -Werror 2015-03-18 15:57:27 -07:00
IDisplayEventConnection.cpp libgui: Enable -Weverything and -Werror 2015-03-18 15:57:27 -07:00
IGraphicBufferAlloc.cpp libgui: Enable -Weverything and -Werror 2015-03-18 15:57:27 -07:00
IGraphicBufferConsumer.cpp DO NOT MERGE libgui: Remove IGBC::BufferItem 2015-03-20 12:29:04 -07:00
IGraphicBufferProducer.cpp libgui: Pass surface damage through BufferQueue 2015-04-15 13:19:38 -07:00
IProducerListener.cpp libgui: Enable -Weverything and -Werror 2015-03-18 15:57:27 -07:00
ISensorEventConnection.cpp libgui: Enable -Weverything and -Werror 2015-03-18 15:57:27 -07:00
ISensorServer.cpp libgui: Enable -Weverything and -Werror 2015-03-18 15:57:27 -07:00
ISurfaceComposer.cpp libgui: Enable -Weverything and -Werror 2015-03-18 15:57:27 -07:00
ISurfaceComposerClient.cpp libgui: Enable -Weverything and -Werror 2015-03-18 15:57:27 -07:00
LayerState.cpp libgui: Enable -Weverything and -Werror 2015-03-18 15:57:27 -07:00
Sensor.cpp libgui: Enable -Weverything and -Werror 2015-03-18 15:57:27 -07:00
SensorEventQueue.cpp libgui: Enable -Weverything and -Werror 2015-03-18 15:57:27 -07:00
SensorManager.cpp libgui: Enable -Weverything and -Werror 2015-03-18 15:57:27 -07:00
StreamSplitter.cpp DO NOT MERGE libgui: Prepare for IGBC::BufferItem removal 2015-03-19 13:58:07 -07:00
Surface.cpp libgui: Fix CPU rendering on Surface 2015-04-21 16:56:52 -07:00
SurfaceComposerClient.cpp libgui: Enable -Weverything and -Werror 2015-03-18 15:57:27 -07:00
SurfaceControl.cpp libgui: Enable -Weverything and -Werror 2015-03-18 15:57:27 -07:00
SyncFeatures.cpp libgui: Only allow one return from useFenceSync 2015-03-19 10:32:51 -07:00