Mathias Agopian
bcef9ac35d
add basic time stats for surfaces lock time
2009-09-17 01:35:28 -07:00
Mathias Agopian
bd8527110c
make sure to update the tail pointer when undoing a dequeue
2009-09-14 15:48:42 -07:00
Mathias Agopian
248b5bd51e
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
436c627ca4
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
9779b221e9
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
f233915016
be more friendly with C
2009-08-13 18:27:10 -07:00
Mathias Agopian
fb4f266a1b
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
eb0ccd5c7b
add a virtual destructor to region_rasterizer, to be on the safe side
2009-07-07 12:29:17 -07:00
Mathias Agopian
07fcf4c3a9
revive the copybit test.
2009-06-09 21:38:08 -07:00
Mathias Agopian
eb22c5b358
cleanup Debug.h a bit
2009-06-04 23:29:29 -07:00
Mathias Agopian
6158b1bf03
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
b51e18d59b
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
ac2523b161
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
6ead5d9f14
a brand new MessageQueue for SurfaceFlinger.
2009-04-24 16:22:36 -07:00
Mathias Agopian
1473f46cbc
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
9066cfe988
auto import from //depot/cupcake/@135843
2009-03-03 19:31:44 -08:00
The Android Open Source Project
d83a98f4ce
auto import from //depot/cupcake/@135843
2009-03-03 18:28:45 -08:00
The Android Open Source Project
54b6cfa9a9
Initial Contribution
2008-10-21 07:00:00 -07:00