Mathias Agopian
86f7329080
add basic time stats for surfaces lock time
2009-09-17 01:35:28 -07:00
Mathias Agopian
c7d5601081
make sure to update the tail pointer when undoing a dequeue
2009-09-14 15:48:42 -07:00
Mathias Agopian
48d819a131
fix [2112575] stuck on DequeueCondition for a surface that doesn't exist anymore
...
this also fixes part of [2111536] Device is soft rebooted after ending the call through voice dialer
2009-09-10 19:41:18 -07:00
Mathias Agopian
b58b5d72d6
make sure conditions will return when the status of a surface is not NO_ERROR
2009-09-10 16:55:13 -07:00
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
Mathias Agopian
238a66e67b
be more friendly with C
2009-08-13 18:27:10 -07:00
Mathias Agopian
eb9fd685f8
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
Mathias Agopian
e7c4c28d0f
add a virtual destructor to region_rasterizer, to be on the safe side
2009-07-07 12:29:17 -07:00
Mathias Agopian
7e2a937c4f
revive the copybit test.
2009-06-09 21:38:08 -07:00
Mathias Agopian
0c97ed3a2e
cleanup Debug.h a bit
2009-06-04 23:29:29 -07:00
Mathias Agopian
20f68782a4
Region now has its own implementation instead of relying on SkRegion, which allows us to break libui's dependency on libcorecg.
2009-05-17 23:34:16 -07:00
Mathias Agopian
58a79f4745
move android_native_buffer_t declaration into its own private/ui/android_native_priv.h header, since user code should never have access to it.
2009-05-05 18:21:32 -07:00
Mathias Agopian
7189c0054e
move opengl/include/EGL/android_natives.h to include/ui/egl/android_natives.h and don't include it from egl.h
...
the android_native_ types are just forward declared in egl.h
2009-05-05 18:11:11 -07:00
Mathias Agopian
f1d8e87b09
a brand new MessageQueue for SurfaceFlinger.
2009-04-24 16:22:36 -07:00
Mathias Agopian
076b1cc3a9
Integrate from //sandbox/mathias/donut/...@145728
...
SurfaceFlinger rework for new EGL driver model support.
2009-04-10 14:24:30 -07:00
The Android Open Source Project
edbf3b6af7
auto import from //depot/cupcake/@135843
2009-03-03 19:31:44 -08:00
The Android Open Source Project
d5193d9394
auto import from //depot/cupcake/@135843
2009-03-03 18:28:45 -08:00
The Android Open Source Project
7c1b96a165
Initial Contribution
2008-10-21 07:00:00 -07:00