summaryrefslogtreecommitdiffstats
path: root/libs/surfaceflinger
Commit message (Collapse)AuthorAgeFilesLines
* attempt to fix [2099362] Possible SurfaceFlinger crashMathias Agopian2009-09-041-2/+6
|
* fix [2098939] Smooth gradients show banding on SholesMathias Agopian2009-09-041-1/+2
|
* Add colorkey to gl clear operationRebecca Schultz Zavin2009-09-023-4/+17
| | | | Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>
* dumpsys SurfaceFlinger will now always dump SF's state, even if SF is deadlockedMathias Agopian2009-08-262-1/+58
| | | | | | | | (in this case the state is dumped without the proper locks held which could result to a crash) in addition, the last transaction and swap times are printed to the dump as well as the time spent *currently* in these function. For instance, if SF is unresponsive because eglSwapBuffers() is stuck, this will show up here.
* fix a bug that caused the PixelFormat viewed by Surface to be wrong.Mathias Agopian2009-08-194-18/+17
| | | | | what happened is that the efective pixel format is calculated by SF but Surface nevew had access to it directly. in particular this caused query(FORMAT) to return the requested format instead of the effective format.
* fix [2063336] Surface.lockSurface throws IllegalArgumentException when out ↵Mathias Agopian2009-08-191-5/+3
| | | | of memory
* fix a bug that could cause a window to be hidden in some cases.Mathias Agopian2009-08-131-1/+6
| | | | | | | this would happen is the window is made visible but the client didn't render yet into it. This happens often with SurfaceView. Instead of filling the window with solid black, SF would simply ignore it which could lead to more disturbing artifacts. in theory the window manager should not display a window before it has been drawn into, but it does happen occasionnaly.
* Surface::GPU and Surface::HARDWARE are now deprecated; they will be set ↵Mathias Agopian2009-08-132-5/+0
| | | | | | automatically if needed. this also ripples into the window manager API by making some constant there deprecated as well.
* make sure EGL_ANDROID_swap_rectangle is actually supported before using itMathias Agopian2009-08-121-4/+11
|
* Better error handling in EGL extensionsMathias Agopian2009-08-121-1/+1
|
* second take, hopefully this time it doesn't break one of the builds: ↵Mathias Agopian2009-08-112-4/+2
| | | | "SurfaceFlinger will now allocate buffers based on the usage specified by the clients. This allows to allocate the right kind of buffer automatically, without having the user to specify anything."
* second take, hopefully this time it doesn't break one of the builds: ↵Mathias Agopian2009-08-118-28/+32
| | | | "SurfaceFlinger will now allocate buffers based on the usage specified by the clients. This allows to allocate the right kind of buffer automatically, without having the user to specify anything."
* Revert "SurfaceFlinger will now allocate buffers based on the usage ↵Fred Quintana2009-08-118-32/+28
| | | | | | specified by the clients. This allows to allocate the right kind of buffer automatically, without having the user to specify anything." This reverts commit 8b76a0ac6fbf07254629ed1ea86af014d5abe050.
* SurfaceFlinger will now allocate buffers based on the usage specified by the ↵Mathias Agopian2009-08-118-28/+32
| | | | | | | clients. This allows to allocate the right kind of buffer automatically, without having the user to specify anything. This change makes SurfaceHolder.setType(GPU) obsolete (it's now ignored). Added an API to android_native_window_t to allow extending the functionality without ever breaking binary compatibility. This is used to implement the new set_usage() API. This API needs to be called by software renderers because the default is to use usage flags suitable for h/w.
* enable HW acceleration for the Dim Surface on 8k devicesMathias Agopian2009-08-101-0/+3
|
* remove unused and confusing commentMathias Agopian2009-08-071-10/+0
|
* minor code clean-upMathias Agopian2009-08-071-36/+15
|
* added two EGL helpers for selecting a config matching a certain pixelformat ↵Mathias Agopian2009-08-061-26/+6
| | | | or native window type
* free surface buffers before trying to allocate new ones, so we have more ↵Mathias Agopian2009-08-031-0/+1
| | | | chance of success
* NPOT EGLimage without GL_ARB_texture_non_power_of_two would be improperly ↵Mathias Agopian2009-07-301-1/+2
| | | | | | | | | | | | scalled The current gralloc allocates buffer memory for render targets that will typically have NPOT dimensions. Assuming that the vendor driver supports converting the resulting NPOT android_native_buffer_t to a NPOT EGLImage, SurfaceFlinger calls glEGLImageTargetTexture2DOES(), and uses glGetError() to test whether the GL can support creating an EGL target texture with the specified NPOT EGLImage. If it is supported, the DIRECT_TEXTURE flag remains set, otherwise it is cleared. Tangentially, if the driver advertises the GL_ARB_texture_non_power_of_two extension, the NPOT_EXTENSION flag is set, otherwise it is cleared. If the driver supported creating an EGL target texture from a NPOT source EGLImage, it implicitly creates a NPOT texture. This does not need any glScalef() texture coordinate correction in LayerBase::drawWithOpenGL(). However, the same driver may not advertise the GL_ARB_texture_non_power_of_two extension nor generally support NPOT textures that were not derived from EGLImages. So SurfaceFlinger may flag only DIRECT_TEXTURE, not NPOT_EXTENSION. Therefore, the test in LayerBase::drawWithOpenGL() should only perform the glScalef() if neither NPOT_EXTENSION or DIRECT_TEXTURE are flagged. Otherwise scaling is applied to NPOT EGL target textures when none is required.
* am 1521cd6e: Merge change 8015 into donutAndroid (Google) Code Review2009-07-291-0/+3
|\ | | | | | | | | | | | | Merge commit '1521cd6e657ba4efa9382ab73d3cbba3bdf50ead' * commit '1521cd6e657ba4efa9382ab73d3cbba3bdf50ead': Reset the mDpiX and mDpiY values when qemu.sf.lcd_density is defined.
| * Merge change 8015 into donutAndroid (Google) Code Review2009-07-281-0/+3
| |\ | | | | | | | | | | | | * changes: Reset the mDpiX and mDpiY values when qemu.sf.lcd_density is defined.
| | * Reset the mDpiX and mDpiY values when qemu.sf.lcd_density is defined.David 'Digit' Turner2009-07-291-0/+3
| | | | | | | | | | | | | | | This will make android.view.Display return corresponding values for the screen's DPI.
* | | fix [1985856] Seg fault when using the soft keyboard in the Messaging appMathias Agopian2009-07-281-15/+10
| | |
* | | resolved conflicts for merge of ac38dfc5 to masterMathias Agopian2009-07-282-6/+10
|\ \ \ | |/ /
| * | fix [2017532] Partial Update leaves residual image.Mathias Agopian2009-07-282-7/+15
| |/
| * fix [1967226] Donut orientation animation (dimming and blur) is slower than ↵Mathias Agopian2009-07-106-506/+17
| | | | | | | | Cupcake
* | Add a flag to set whether the overlay has been initialized. Commit needs to ↵Rebecca Schultz Zavin2009-07-222-2/+5
| | | | | | | | | | | | | | | | | | | | | | 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>
* | Fix hardware overlay so all changes are commited when done.Rebecca Schultz Zavin2009-07-212-0/+7
| |
* | first attempt to fix the simMathias Agopian2009-07-131-1/+1
| |
* | implement Mutex and Condition with pthread instead of calling futex directly.Mathias Agopian2009-07-131-1/+4
| | | | | | | | | | internally pthread uses futex. the implementation consists of simple inlines there are no implementation files anymore.
* | rename libsgl/libcorecg to libskiaMike Reed2009-07-101-1/+1
| |
* | Merge change 6742Android (Google) Code Review2009-07-091-1/+1
|\ \ | | | | | | | | | | | | * changes: fix [1969200] Uninitialized double passed to Math.sqrt()
| * | fix [1969200] Uninitialized double passed to Math.sqrt()Mathias Agopian2009-07-091-1/+1
| | |
* | | am 4d2dbebf: fix for [1885684] E/SurfaceFlinger( 60): not enough memory for ↵Mathias Agopian2009-07-091-0/+7
|\ \ \ | |/ / |/| / | |/ | | | | | | | | | | layer bitmap size=4294938624 Merge commit '4d2dbebf3d08209f751585d8cc367369e2f6e32f' * commit '4d2dbebf3d08209f751585d8cc367369e2f6e32f': fix for [1885684] E/SurfaceFlinger( 60): not enough memory for layer bitmap size=4294938624
| * fix for [1885684] E/SurfaceFlinger( 60): not enough memory for layer bitmap ↵Mathias Agopian2009-07-091-0/+7
| | | | | | | | size=4294938624
* | fix for [1969185] valgrind errors in new gl stuffMathias Agopian2009-07-091-0/+1
| |
* | trying to fix the sim, I'm not even sure this syntaxe is valid, but my ↵Mathias Agopian2009-07-061-0/+1
| | | | | | | | compilo doesn't complain
* | don't need to link against libsglMathias Agopian2009-07-023-6/+5
| |
* | get rid of references to MemoryDealer in SurfaceFlingerMathias Agopian2009-07-026-44/+42
| |
* | forgot to remove those filesMathias Agopian2009-07-022-260/+0
| |
* | free gralloc buffers as soon as possible (when a surface is not visible any ↵Mathias Agopian2009-07-025-38/+28
| | | | | | | | longer), client who have the buffers still mapped won't crash, btu may see garbage data
* | Merge commit 'goog/master' into merge_masterMathias Agopian2009-07-011-2/+6
|\ \
| * | Allocate 16MB for surfaces on Firstone, since 8MB is way to small for our ↵Mathias Agopian2009-07-011-2/+6
| | | | | | | | | | | | bigger screen.
| * | am 58ebdcc0: Merge change 5625 into donutAndroid (Google) Code Review2009-07-011-5/+6
| |\ \ | | |/ | | | | | | | | | | | | | | | Merge commit '58ebdcc06eca06741460a7db2be4b79e3865eb88' * commit '58ebdcc06eca06741460a7db2be4b79e3865eb88': fix [1947273] the DimLayer causes the whole screen to update during transactions
| | * fix [1947273] the DimLayer causes the whole screen to update during transactionsMathias Agopian2009-06-281-5/+6
| | |
* | | when there is a choice between UPDATE_ON_DEMAND and SWAP_BUFFER ↵Mathias Agopian2009-06-291-0/+5
| | | | | | | | | | | | optimizations, choose UPDATE_ON_DEMAND which is often more efficient.
* | | fix a bug that caused artifacts when SWAP_RECTANGLE was enabledMathias Agopian2009-06-292-4/+18
| | |
* | | don't use a 1/4th of the screen size texture for the dim layerMathias Agopian2009-06-291-6/+0
| | | | | | | | | | | | 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.
* | | fix [1947273] the DimLayer causes the whole screen to update during transactionsMathias Agopian2009-06-291-5/+6
| | |