Mathias Agopian
3d57964a81
fix a bunch of problems with destroying surfaces.
...
now, all destruction path, go through the purgatory which is emptied when ~ISurface is called, but we also make sure to remove the surface from the current list from there (in case a client forgot to request the destruction explicitely).
2009-06-04 18:46:21 -07:00
Mathias Agopian
e92c713cb6
when looking for an EGLConfig always pick the first one that matches, not the last one
2009-06-03 14:49:08 -07:00
Mathias Agopian
310f8da0c3
merge master to master_gl
2009-05-22 02:16:08 -07:00
Android (Google) Code Review
bdbf6b094d
am 69a6c3eb: Merge change 2292 into donut
...
Merge commit '69a6c3ebd46a8de0e896747757f364322c12608d'
* commit '69a6c3ebd46a8de0e896747757f364322c12608d':
split boot animation out of SurfaceFlinger
2009-05-21 19:36:53 -07:00
Mathias Agopian
a1ecca920e
split boot animation out of SurfaceFlinger
...
Conflicts:
data/etc/platform.xml
2009-05-21 19:21:59 -07:00
Mathias Agopian
c5b2c0bf80
move libbinder's header files under includes/binder
2009-05-20 12:55:03 -07:00
Mathias Agopian
208059f67e
checkpoint: split libutils into libutils + libbinder
2009-05-20 12:55:02 -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
1e16b13857
add support for update-on-demand in SurfaceFlinger
2009-05-07 17:40:23 -07:00
Mathias Agopian
e6bf8b32b6
fix EGL extension string names
2009-05-07 15:07:52 -07:00
Mathias Agopian
df3ca30bf6
created an new EGL extension called ANDROID_swap_rectangle
...
ANDROID_swap_rectangle allows to specify the rectangle affected by eglSwapBuffers(), anything outside of this rectangle is unchanged. in particular EGL_BUFFER_DESTROYED only applies to that rectangle. This extension as well as EGL_BUFFER_PRESERVED allow major optimizations on surfaceflinger, which can redraw only the dirty area during compositing.
However, ANDROID_swap_rectangle allows further optimizations in EGL by reducing the amount of copy-back needed. ANDROID_swap_rectangle is particularily important for software implementations.
2009-05-07 15:07:33 -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
e71212ba53
removed the "bits" attribute from android_native_buffer_t.
...
"bits" can never be trusted now that we need to call lock() on the handle to get the virtual address of the buffer.
2009-05-05 00:37:46 -07:00
Mathias Agopian
b2dd686d06
minor clean-up in FramebufferNativeWindow
2009-05-04 19:38:43 -07:00
Mathias Agopian
0926f50664
update surfaceflinger, libui and libagl to the new gralloc api
...
- Currently the lock/unlock path is naive and is done for each drawing operation (glDrawElements and glDrawArrays). this should be improved eventually.
- factor all the lock/unlock code in SurfaceBuffer.
- fixed "showupdate" so it works even when we don't have preserving eglSwapBuffers().
- improved the situation with the dirty-region and fixed a problem that caused GL apps to not update.
- make use of LightRefBase() where needed, instead of duplicating its implementation
- add LightRefBase::getStrongCount()
- renamed EGLNativeWindowSurface.cpp to FramebufferNativeWindow.cpp
- disabled copybits test, since it clashes with the new gralloc api
- Camera/Video will be fixed later when we rework the overlay apis
2009-05-04 14:17:04 -07:00
Mathias Agopian
7be3e5d2d8
Merge commit 'goog/master' into merge_master
...
Conflicts:
libs/surfaceflinger/Layer.cpp
libs/surfaceflinger/SurfaceFlinger.cpp
opengl/libagl/egl.cpp
opengl/libs/EGL/egl.cpp
opengl/libs/GLES_CM/gl.cpp
opengl/libs/GLES_CM/gl_api.in
opengl/libs/gl_entries.in
opengl/libs/tools/glapigen
2009-04-30 14:43:18 -07:00
Android (Google) Code Review
3f54b2ae7e
am 0124a15: Merge change 626 into donut
...
Merge commit '0124a150157d69a9f0ea109be2390afb5399b8a7'
* commit '0124a150157d69a9f0ea109be2390afb5399b8a7':
fix 1803886 android15 Translucent GLSurfaceView demo does not display properly
2009-04-29 13:35:37 -07:00
Mathias Agopian
b6683b58a8
make use of the perfectly fine List.h instead of our own reimplementation of a linked list.
2009-04-28 03:17:50 -07:00
Mathias Agopian
2b42fa7fdd
fix 1803886 android15 Translucent GLSurfaceView demo does not display properly
2009-04-27 18:50:06 -07:00
Mathias Agopian
550b79f449
get rid of an old hack to work around a bug around glDeleteTextures() in the adreno drivers
2009-04-24 16:31:11 -07:00
Mathias Agopian
cbc93ca800
get rid of the "show fps" debug option
2009-04-24 16:31:11 -07:00
Mathias Agopian
0aa758d64a
Surfaces are now destroyed properly in SurfaceFlinger.
...
First, the window manager tells us when a surface is no longer needed. At this point, several things happen:
- the surface is removed from the active/visible list
- it is added to a purgatory list, where it waits for all clients to release their reference
- it destroys all data/state that can be spared
Later, when all clients are done, the remains of the Surface are disposed off: it is removed from the purgatory and destroyed.
In particular its gralloc buffers are destroyed at that point (when we're sure nobody is using them anymore).
2009-04-24 16:30:38 -07:00
Mathias Agopian
f1d8e87b09
a brand new MessageQueue for SurfaceFlinger.
2009-04-24 16:22:36 -07:00
Mathias Agopian
9a11206fe7
more Surface lifetime management
...
Surfaces are now destroyed once all references from the clients are gone, but they go through a partial destruction as soon as the window manager requests it.
This last part is still buggy. see comments in SurfaceFlinger::destroySurface()
2009-04-24 15:00:41 -07:00
Mathias Agopian
9f88afb013
Squashed commit of the following:
...
commit e5c24638f98162c3b75b4c67a16b510d38e31341
Author: Mathias Agopian <mathias@google.com>
Date: Fri Apr 17 14:09:03 2009 -0700
oops forgot this file.
commit 282642632d0cb12882eecf42e0fdfb2343275de1
Author: Mathias Agopian <mathias@google.com>
Date: Fri Apr 17 14:07:32 2009 -0700
use a helper macro for creating Singleton<>'s static attributes instances.
2009-04-24 15:00:41 -07:00
Mathias Agopian
01b766839e
more splitting of Surface/SurfaceControl. Surface.java is now implemented in terms of Surface and SurfaceControl.
...
The WindowManager side of Surface.java holds a SurfaceControl, while the client-side holds a Surface. When the client is in the system process, Surface.java holds both (which is a problem we'll try to fix later).
2009-04-16 20:04:08 -07:00
Mathias Agopian
62b74444be
fix a few typos in comments. this is really intended as a git pull/push test.
2009-04-16 12:29:34 -07:00
Mathias Agopian
4243e66621
fix a rookie mistake causing Singleton<> to be a "multiton". Also improve the BufferMapper's debugging, but turn it off.
...
Squashed commit of the following:
commit 04e9cae7f806bd65f2cfe35c011b47a36773bbe5
Author: Mathias Agopian <mathias@google.com>
Date: Wed Apr 15 18:30:30 2009 -0700
fix and improve BufferMapper's tracking of mapped buffers.
commit 1a8deaed15811092b2349cc3c40cafb5f722046c
Author: Mathias Agopian <mathias@google.com>
Date: Wed Apr 15 00:52:02 2009 -0700
fix some bugs with the Singleton<> class. untested.
commit ed01cc06ad70cf640ce1258f01189cb1a96fd3a8
Author: Mathias Agopian <mathias@google.com>
Date: Tue Apr 14 19:29:25 2009 -0700
some work to debug the Singleton<> template.
2009-04-15 18:34:24 -07:00
Mathias Agopian
8b765b7f5e
more debugging tools around BufferMapper
2009-04-10 20:34:46 -07:00
Mathias Agopian
0308739d0b
Merge commit 'goog/master' into master_gl
...
Conflicts:
libs/utils/Parcel.cpp
2009-04-10 14:36:33 -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
Mathias Agopian
253ed06781
AI 143321: am: CL 143172 am: CL 142875 [1732012] for some reason these files didn't go through in the preview check-in.
...
Original author: mathias
Merged from: //branches/cupcake/...
Original author: android-build
Merged from: //branches/donutburger/...
Automated import of CL 143321
2009-03-27 18:12:49 -07:00
Mathias Agopian
c08731e756
AI 143320: am: CL 143171 am: CL 142873 fix [1732012] Only show screen rotation animation when triggered by sensor
...
Original author: mathias
Merged from: //branches/cupcake/...
Original author: android-build
Merged from: //branches/donutburger/...
Automated import of CL 143320
2009-03-27 18:11:38 -07:00
Mathias Agopian
0d1318b974
AI 143309: am: CL 143160 am: CL 142856 new-new-new-new rotation animation. it may still change one more time.
...
Original author: mathias
Merged from: //branches/cupcake/...
Original author: android-build
Merged from: //branches/donutburger/...
Automated import of CL 143309
2009-03-27 17:58:20 -07:00
Mathias Agopian
816c5e2314
AI 143172: am: CL 142875 [1732012] for some reason these files didn't go through in the preview check-in.
...
Original author: mathias
Merged from: //branches/cupcake/...
Automated import of CL 143172
2009-03-27 16:13:24 -07:00
Mathias Agopian
24fd77d440
AI 143171: am: CL 142873 fix [1732012] Only show screen rotation animation when triggered by sensor
...
Original author: mathias
Merged from: //branches/cupcake/...
Automated import of CL 143171
2009-03-27 16:10:37 -07:00
The Android Open Source Project
06ee417bc5
Merge commit 'korg/cupcake'
...
Conflicts:
core/java/android/webkit/WebView.java
core/java/android/widget/TwoLineListItem.java
preloaded-classes
2009-03-27 15:38:40 -07:00
Mathias Agopian
ecbeaa0cf1
AI 143160: am: CL 142856 new-new-new-new rotation animation. it may still change one more time.
...
Original author: mathias
Merged from: //branches/cupcake/...
Automated import of CL 143160
2009-03-27 15:36:09 -07:00
Mathias Agopian
192f79fe71
Automated import from //branches/cupcake/...@142875,142875
2009-03-25 23:26:39 -07:00
Mathias Agopian
ceff6e1874
Automated import from //branches/cupcake/...@142873,142873
2009-03-25 23:18:56 -07:00
Mathias Agopian
262453cecb
Automated import from //branches/cupcake/...@142856,142856
2009-03-25 21:42:35 -07:00
Mathias Agopian
7c143aab44
Automated import from //branches/master/...@142447,142447
2009-03-24 22:50:50 -07:00
Mathias Agopian
b535e58351
Automated import from //branches/master/...@142432,142432
2009-03-24 22:49:21 -07:00
Mathias Agopian
74c770be33
Automated import from //branches/donutburger/...@142446,142446
2009-03-24 22:43:22 -07:00
Mathias Agopian
6219dd7d3a
Automated import from //branches/donutburger/...@142430,142430
2009-03-24 22:42:15 -07:00
Mathias Agopian
e74be0afd9
Automated import from //branches/master/...@141504,141504
2009-03-24 20:25:55 -07:00
Mathias Agopian
3df5e433a2
Automated import from //branches/donutburger/...@141502,141502
2009-03-24 20:25:29 -07:00
Mathias Agopian
0348218e93
Automated import from //branches/cupcake/...@142445,142445
2009-03-24 19:43:24 -07:00
Mathias Agopian
2ed5f739eb
Automated import from //branches/cupcake/...@142427,142427
2009-03-24 19:41:37 -07:00
Mathias Agopian
38c89491e4
Automated import from //branches/donutburger/...@140807,140807
2009-03-24 18:34:22 -07:00