replicant-frameworks_native/include/utils
Mathias Agopian cbb288bfe8 fix [2068105] implement queueBuffer/lockBuffer/dequeueBuffer properly
Rewrote SurfaceFlinger's buffer management from the ground-up.
The design now support an arbitrary number of buffers per surface, however the current implementation is limited to four. Currently only 2 buffers are used in practice.

The main new feature is to be able to dequeue all buffers at once (very important when there are only two). 

A client can dequeue all buffers until there are none available, it can lock all buffers except the last one that is used for composition. The client will block then, until a new buffer is enqueued.

The current implementation requires that buffers are locked in the same order they are dequeued and enqueued in the same order they are locked. Only one buffer can be locked at a time.

eg. Allowed sequence:   DQ, DQ, LOCK, Q, LOCK, Q
eg. Forbidden sequence: DQ, DQ, LOCK, LOCK, Q, Q
2009-09-07 16:32:45 -07:00
..
AndroidUnicode.h auto import from //depot/cupcake/@135843 2009-03-03 19:31:44 -08:00
ashmem.h auto import from //depot/cupcake/@135843 2009-03-03 19:31:44 -08:00
Asset.h Fix issue #2048263: More debugging information 2009-08-11 18:56:41 -07:00
AssetDir.h auto import from //depot/cupcake/@135843 2009-03-03 19:31:44 -08:00
AssetManager.h Don't re-parse the framework resources all the time. 2009-07-06 11:12:37 -07:00
Atomic.h auto import from //depot/cupcake/@135843 2009-03-03 19:31:44 -08:00
BackupHelpers.h Only report "unknown metadata" once per restore helper 2009-06-24 13:57:29 -07:00
Buffer.h auto import from //depot/cupcake/@135843 2009-03-03 19:31:44 -08:00
BufferedTextOutput.h auto import from //depot/cupcake/@135843 2009-03-03 19:31:44 -08:00
ByteOrder.h Implement the C++ class to write the backed up file data. 2009-05-15 10:37:10 -04:00
CallStack.h auto import from //depot/cupcake/@135843 2009-03-03 19:31:44 -08:00
Debug.h Support for marshalling pointers / intptr_t in Parcel. 2009-08-17 15:31:25 -07:00
Endian.h auto import from //depot/cupcake/@135843 2009-03-03 19:31:44 -08:00
Errors.h fix [2068105] implement queueBuffer/lockBuffer/dequeueBuffer properly 2009-09-07 16:32:45 -07:00
FileMap.h auto import from //depot/cupcake/@135843 2009-03-03 19:31:44 -08:00
KeyedVector.h fix KeyedVector::replaceValueAt, which wouldn't even compile if used. 2009-04-10 20:27:25 -07:00
List.h Fix sim build. 2009-07-07 10:01:12 -07:00
Log.h auto import from //depot/cupcake/@135843 2009-03-03 19:31:44 -08:00
misc.h get rid of utils.h 2009-05-31 19:13:00 -07:00
RefBase.h update surfaceflinger, libui and libagl to the new gralloc api 2009-05-04 14:17:04 -07:00
ResourceTypes.h Fix #2018814: System cannot correctly render assets with "wrap_content" attribute in QVGA 2009-07-29 19:44:01 -07:00
SharedBuffer.h auto import from //depot/cupcake/@135843 2009-03-03 19:31:44 -08:00
Singleton.h force explicit instantiation of Singleton<> objects 2009-05-28 12:31:31 -07:00
SortedVector.h improve Vector<> with types that can be trivially moved and remove some unused code. 2009-06-22 02:31:07 -07:00
StopWatch.h auto import from //depot/cupcake/@135843 2009-03-03 19:31:44 -08:00
String8.h Add useful functions to String8, which enables users to convert between UTF-8 and UTF-32 2009-07-09 09:06:13 +09:00
String16.h auto import from //depot/cupcake/@135843 2009-03-03 19:31:44 -08:00
StringArray.h rename string_array.h to StringArray.h and move the implementation from the header file to a new cpp file. 2009-06-05 01:26:23 -07:00
SystemClock.h auto import from //depot/cupcake/@135843 2009-03-03 19:31:44 -08:00
TextOutput.h some work to try to reduce the code size of some native libraries 2009-05-26 16:12:20 -07:00
threads.h add a ctor to Mutex to specify the type, which can be shared. This is used by sf and af an soon will allow some optimization in the kernel for non shared mutexes 2009-07-13 22:06:36 -07:00
Timers.h get rid of sleepForInterval() which didn't seem to be used anywhere in the source tree. Also get rid of ported.h which seem to be used only (possibly) in the sim. moved the implementation there. 2009-05-31 23:45:01 -07:00
TypeHelpers.h improve Vector<> with types that can be trivially moved and remove some unused code. 2009-06-22 02:31:07 -07:00
Vector.h improve Vector<> with types that can be trivially moved and remove some unused code. 2009-06-22 02:31:07 -07:00
VectorImpl.h improve Vector<> with types that can be trivially moved and remove some unused code. 2009-06-22 02:31:07 -07:00
ZipFileCRO.h auto import from //depot/cupcake/@135843 2009-03-03 19:31:44 -08:00
ZipFileRO.h auto import from //depot/cupcake/@135843 2009-03-03 19:31:44 -08:00
ZipUtils.h auto import from //depot/cupcake/@135843 2009-03-03 19:31:44 -08:00