Mathias Agopian
970112231e
fix [2017532] Partial Update leaves residual image.
2009-07-28 10:57:27 -07:00
Rebecca Schultz Zavin
1000170033
Add a flag to set whether the overlay has been initialized. Commit needs to be called at least once on each overlay, and it appears that sometimes this
...
doesn't happen because the visibility never changes. With this change
the overlay parameter and position will be committed when either the visibility
of the window changes, or on the first call to visibility resolved, if it
hasn't already been done.
Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>
2009-07-22 17:17:46 -07:00
Rebecca Schultz Zavin
96df49bb7d
Fix hardware overlay so all changes are commited when done.
2009-07-21 11:07:23 -07:00
Mathias Agopian
d606003a66
first attempt to fix the sim
2009-07-13 22:58:25 -07:00
Mathias Agopian
ec0f1f6720
implement Mutex and Condition with pthread instead of calling futex directly.
...
internally pthread uses futex. the implementation consists of simple inlines
there are no implementation files anymore.
2009-07-13 15:14:23 -07:00
Mathias Agopian
5cd5d31d10
fix [1967226] Donut orientation animation (dimming and blur) is slower than Cupcake
2009-07-10 17:00:00 -07:00
Mike Reed
e0528ba71b
rename libsgl/libcorecg to libskia
2009-07-10 15:33:21 -04:00
Android (Google) Code Review
829cb1304b
Merge change 6742
...
* changes:
fix [1969200] Uninitialized double passed to Math.sqrt()
2009-07-09 22:12:36 -07:00
Mathias Agopian
80d7a764fc
fix [1969200] Uninitialized double passed to Math.sqrt()
2009-07-09 22:11:57 -07:00
Mathias Agopian
4860b74b47
am 4d2dbebf: fix for [1885684] E/SurfaceFlinger( 60): not enough memory for layer bitmap size=4294938624
...
Merge commit '4d2dbebf3d08209f751585d8cc367369e2f6e32f'
* commit '4d2dbebf3d08209f751585d8cc367369e2f6e32f':
fix for [1885684] E/SurfaceFlinger( 60): not enough memory for layer bitmap size=4294938624
2009-07-09 20:05:11 -07:00
Mathias Agopian
6e2d6483fe
fix for [1885684] E/SurfaceFlinger( 60): not enough memory for layer bitmap size=4294938624
2009-07-09 18:16:43 -07:00
Mathias Agopian
84f6814af4
fix for [1969185] valgrind errors in new gl stuff
2009-07-09 17:30:43 -07:00
Mathias Agopian
1df3bbb8d8
trying to fix the sim, I'm not even sure this syntaxe is valid, but my compilo doesn't complain
2009-07-06 19:04:55 -07:00
Mathias Agopian
af54ab9d88
don't need to link against libsgl
2009-07-02 19:04:39 -07:00
Mathias Agopian
7303c6bf1a
get rid of references to MemoryDealer in SurfaceFlinger
2009-07-02 18:50:51 -07:00
Mathias Agopian
6b5513538a
forgot to remove those files
2009-07-02 18:46:57 -07:00
Mathias Agopian
759fdb2ef7
free gralloc buffers as soon as possible (when a surface is not visible any longer), client who have the buffers still mapped won't crash, btu may see garbage data
2009-07-02 18:45:29 -07:00
Mathias Agopian
84d1f7a098
Merge commit 'goog/master' into merge_master
2009-07-01 18:33:18 -07:00
Mathias Agopian
78f1c1949f
Allocate 16MB for surfaces on Firstone, since 8MB is way to small for our bigger screen.
2009-07-01 17:47:38 -07:00
Android (Google) Code Review
99da6dd7f2
am 58ebdcc0: Merge change 5625 into donut
...
Merge commit '58ebdcc06eca06741460a7db2be4b79e3865eb88'
* commit '58ebdcc06eca06741460a7db2be4b79e3865eb88':
fix [1947273] the DimLayer causes the whole screen to update during transactions
2009-07-01 00:06:47 -07:00
Mathias Agopian
2dd6727c46
when there is a choice between UPDATE_ON_DEMAND and SWAP_BUFFER optimizations, choose UPDATE_ON_DEMAND which is often more efficient.
2009-06-29 18:57:42 -07:00
Mathias Agopian
29d06ac9a4
fix a bug that caused artifacts when SWAP_RECTANGLE was enabled
2009-06-29 18:49:56 -07:00
Mathias Agopian
446ff92038
don't use a 1/4th of the screen size texture for the dim layer
...
we can't use a texture of 1/4th of the screen for the dim layer, because the mdp internal input resultion is alwyas integers and for very small blits of a couple pixels the scale factor can get way out of range, for instance for a 7 pixels source, the scale factor would be either 7 (7/1) or 3.5 (7/2) instead of 4 (7/1.75). This caused the mdp to fail in some cases and revert to software. we now always use a texture of the actual screen size, so the problem will never happen. This burns 300KB of pmem instead of 21KB. On devices with a larger screen we might want to use a smaller texture and tile it by hand.
2009-06-29 17:32:20 -07:00
Mathias Agopian
a8d44f75e1
fix [1947273] the DimLayer causes the whole screen to update during transactions
2009-06-29 14:44:11 -07:00
Mathias Agopian
6b3287b5d4
fix [1947273] the DimLayer causes the whole screen to update during transactions
2009-06-28 02:54:16 -07:00
Mathias Agopian
b8a5560e13
fix an update bug with SHOW_UPDATE debug feature. Fix a problem with the debug binder codes too
2009-06-26 19:06:36 -07:00
Mathias Agopian
d512f238a6
add support for out-of-range copybit scaling. camera capture is in color again
2009-06-25 17:41:12 -07:00
Mathias Agopian
958b3cac99
use 1/16 the size (20KB) for the dim texture in the copybit/msm case
2009-06-25 16:21:32 -07:00
Mathias Agopian
240c9fe59e
use copybit for eglSwapBuffers() copy-back operations
2009-06-25 15:39:25 -07:00
Mathias Agopian
2ab55a4e31
make use of new eglGetRenderBufferANDROID extension to clean-up a bit a few hacks added recently
2009-06-25 00:09:27 -07:00
Mathias Agopian
5911aa9510
copybit now uses a native_handle_t* instead of a fd/offset
2009-06-24 20:39:16 -07:00
Mathias Agopian
69029eb5ab
hack copybit back in for video playback on msm7k. we have h/w accelerated video again
2009-06-24 20:39:16 -07:00
Mathias Agopian
2e12324581
fix a bug causing push-buffer surfaces' identity to be garbage, which resulted in some attributes (size/pos) to fail to be set
2009-06-23 20:06:46 -07:00
Mathias Agopian
1fed11c86a
checkpoint. bring back video/camera
2009-06-23 18:08:22 -07:00
Mathias Agopian
cca6b4267d
Merge commit 'goog/master' into merge_master
2009-06-19 17:41:14 -07:00
Mathias Agopian
f9d932774e
fix a memory corruption where a SF Client could be used after it's been destroyed
2009-06-19 17:00:27 -07:00
Mathias Agopian
cd8c5e29c2
release the last reference to surfaces explicitely instead of letting it go implicitely when the message is destroyed
2009-06-19 16:24:02 -07:00
Android (Google) Code Review
05915a4d9d
am c6282977: Merge change 4718 into donut
...
Merge commit 'c6282977180c220b1a68c23a328e7d75a11963ab'
* commit 'c6282977180c220b1a68c23a328e7d75a11963ab':
Fix sim-eng build and simplify previous lcd-density related patch
2009-06-18 19:46:59 -07:00
David 'Digit' Turner
ae71accf63
Fix sim-eng build and simplify previous lcd-density related patch
2009-06-19 04:41:12 +02:00
Mathias Agopian
945ebbfd3d
implement dimming with a texture on msm7k so it uses copybit
2009-06-18 18:48:39 -07:00
Android (Google) Code Review
e2095d0a1c
am b1cdb648: Merge change 4565 into donut
...
Merge commit 'b1cdb64877ebd3b8c5182913ff02edd8b54a6982'
* commit 'b1cdb64877ebd3b8c5182913ff02edd8b54a6982':
Allow the qemu.sf.lcd_density property to override the value of ro.sf.lcd_density
2009-06-18 15:43:28 -07:00
David 'Digit' Turner
694e10ba87
Allow the qemu.sf.lcd_density property to override the value of ro.sf.lcd_density
...
ro.sf.lcd_density is usually defined in the build.prop file which is parsed by init
before anything else. Since its name begins with "ro.", this property is write-once
and cannot later be modified, e.g. in /system/etc/init.goldfish.sh.
In other words, you cannot use "emulator -prop ro.sf.lcd_density=<value>", since
it is impossible to override the value defined in build.prop
This patch modifies the system to recognize "qemu.sf.lcd_density" as an override
value, which can be set with "emulator -prop qemu.sf.lcd_density=<value>", forcing
a specific density.
A later patch will allow the emulator to automatically set this property depending
on AVD hardware configuration settings.
2009-06-19 00:17:31 +02:00
Mathias Agopian
375f56363a
new Permission class used to improve permission checks speed (by caching results)
2009-06-15 21:56:51 -07:00
Mathias Agopian
5e78e09651
protect ANDROID specific egl extension with #define
2009-06-11 17:19:54 -07:00
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
Android (Google) Code Review
c20e4ebef2
am b61ae351: Merge change 2747 into donut
...
Merge commit 'b61ae351256518add7bcb40e0bf18337dd87195c'
* commit 'b61ae351256518add7bcb40e0bf18337dd87195c':
log the geomerty of surfaces causing an out of memory in SurfaceFlinger.
2009-05-29 14:57:33 -07:00
Mathias Agopian
3c4d8c83da
log the geomerty of surfaces causing an out of memory in SurfaceFlinger.
2009-05-29 14:55:06 -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
Mathias Agopian
7a7af5c866
Automated import from //branches/master/...@140808,140808
2009-03-24 18:34:16 -07:00
The Android Open Source Project
0c2bcbc6cc
auto import from //branches/cupcake_rel/...@141571
2009-03-19 23:08:54 -07:00
Jean-Baptiste Queru
732ca39b70
Merge commit 'remotes/korg/cupcake' into merge
...
Conflicts:
core/java/android/view/animation/TranslateAnimation.java
core/jni/Android.mk
core/res/res/values-en-rGB/strings.xml
libs/audioflinger/AudioFlinger.cpp
libs/surfaceflinger/LayerScreenshot.cpp
packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
2009-03-18 11:33:14 -07:00
The Android Open Source Project
bcef13b666
auto import from //branches/cupcake/...@137873
2009-03-11 12:11:56 -07:00