summaryrefslogtreecommitdiffstats
path: root/libs/surfaceflinger
Commit message (Collapse)AuthorAgeFilesLines
* surfaceflinger and libagl: fix bug #11829Denis 'GNUtoo' Carikli2011-01-097-127/+34
| | | | | | | | | | | | | | | The bug #11829 that can be found here: http://code.google.com/p/android/issues/detail?id=11829 causes various graphic artefacts. According to naseer.ahmed it needed modifications in SurfaceFlinger and libagl The modifications comes from: https://www.codeaurora.org/gitweb/quic/la/?p=platform/frameworks/base.git;a=shortlog;h=refs/heads/froyo_almond at commit 33e6506d96d7602284e18ea8c66dbfd04dc72aa3 Change-Id: I703bace69cb7a41ac8ed69ca1e28b98aa618e0f3 Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@no-log.org>
* Disable surface dithering by defaultEran2010-10-171-1/+1
| | | | Change-Id: Ic6daad4beb95941a4323384adea85b6312682927
* frameworks/base: Use textures in LayerDim for smooth menu scrolling.Saurabh Shah2010-10-162-14/+5
| | | | | | | | | Disable the use of DIM_WITH_TEXTURE flag which uses OpenGL textures for a specific platform. If Display Hardware uses SLOW_CONFIG, use OpenGL textures for speedup. This improves scrolling response in LayerDim menus. Change-Id: Icda97eaab3e0745e5b0841a7f5c866283999356d CRs-fixed: 253607
* frameworks/base: Swap width and height of temporary buffer only withOmprakash Dhyade2010-08-161-1/+1
| | | | | | | | | | | orientation change Current code swaps the width and height by assuming that aspect ratio of the buffer width and height will be same as that of the layout clip width and height. That is not always true. Change the check to orientation change. Change-Id: Ie387f3a7369025427484e4173cbde7a08df2b9d7
* Spacing cleanupkmobs2010-08-072-21/+20
|
* Added support for user selectable calibration.niloc2010-08-073-6/+49
| | | | | | Added support for user-defined calibration. Added support for user-defined calibration.
* Added N1 Calibration profile to rendering options.niloc2010-08-041-0/+1
|
* Added N1 Calibration profile to rendering options.niloc2010-08-041-0/+3
|
* Remerge libui.so, libsurfaceflinger_client.so, and libcamera_client.so for ↵Koushik Dutta2010-07-111-2/+6
| | | | | | older devices. Change-Id: I6a1dbe519df3b07292d738ffa9f6be95b794875e
* Added blue and fuscia version to SurfaceFlinger hackskmobs2010-07-101-2/+10
|
* Allow dithering to be controlled by a system property.Steve Kondik2010-07-093-5/+15
|
* Initial pass at SurfaceFlinger effects, night mode.Jeff Sharkey2010-07-023-2/+44
| | | | | | | | | | | | | This change adds a mRenderEffect variable that can be used to control rendering effects at runtime. One example effect of "night mode" is included which renders the entire system in using a red-only filter. In particular, this is useful on devices with OLED displays where the power consumption of the red channel is much less than green and blue. Change-Id: I64fb47a186e5b1c6be5db7e179ab6796e66bf341
* fix [2664345] Flash: Bad flicker at the end of a pinch zoom.Mathias Agopian2010-05-061-3/+22
| | | | | | | | | | | | | | | the window manger puts SurfaceViews up before they have been rendered into, because of that surfaceflinger doesn't have anything ready to draw for that surface when an udpate occurs and responds by filling the surface with black. With this fix, we only fill those areas of the framebuffer that would otherwise be undefined (no content at all). in the Flash case, the "flash" window is not drawn at all until it has some content, instead the underlaying browser window is shown. Change-Id: Ifb610f7f8c27b88edf83e09adc4803fc295c15a1
* DO NOT MERGE fix [2557396] Adreno200: glDrawTexi() doesn't work with height ↵Mathias Agopian2010-04-201-54/+39
| | | | | | | | <= 16 don't use glDrawTexi() anymore Change-Id: If71334de39114b0edce7771366f8d8dc26f6911e
* fix [2594950] Flash: Zooming in on some content crashes the Nexus One and ↵Mathias Agopian2010-04-143-2/+27
| | | | | | | | | | causes it to reboot (runtime restart) We now limit the size of the surface to the maximum size supported by the GPU. On Nexus One this will 2048 -- it could be different on other devices. Surface creation fails if the limit is exceeded. Change-Id: I9ecfc2e9c58c9e283782b61ebfc6b590f71df785
* fix [2511580] Window poop on screen - drop down list left some residual when ↵Mathias Agopian2010-03-163-20/+57
| | | | | | it resized Change-Id: Ib9a3622e7a568ba26717a93b5bfa4a191651f4d0
* fix [2515291] Native crash and runtime restart while trying to preview ↵Mathias Agopian2010-03-151-31/+48
| | | | | | | | | captured picture on Sapphire if a buffer couldn't be allocated because of an OOM, SF could, in some case dereference a null pointer. Change-Id: I5321248c38a21e56d5278b6aada2694e64451378
* fix [2483456] Video orientation is wrong on Droid for some videosMathias Agopian2010-03-114-61/+64
| | | | Change-Id: I450191f1335f57bffc51aff3e27295395847dbc0
* improve SF logging/debugging a little bitMathias Agopian2010-03-083-5/+5
| | | | Change-Id: I6a57f89c25defc293fd748cc1fbd710031c02ec2
* Merge "fixes for [2474091] Saw Poor behaviour playing a video."Mathias Agopian2010-03-084-14/+28
|\
| * fixes for [2474091] Saw Poor behaviour playing a video.Mathias Agopian2010-03-084-14/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | - fix a bug when hacking video buffers into gralloc buffers where the buffer size was incorrect this was causing the "direct-form-texture" mode to fail - also when the above fails, make sure to revert to the "mdp copy mode" before going to "slow mode" - finally disable completely the "direct-from-texture" mode for now. It cannot work because the allocated buffers can't respect the GPU constraints (alignment and such). We'll have to find a solution for that.
* | surfaceflinger: remove un-cached buffers hack for AdrenoDima Zavin2010-03-021-1/+6
|/ | | | | Change-Id: I5ae4e74bfa3e25b55be2cddf7b3c51368a140ab9 Signed-off-by: Dima Zavin <dima@android.com>
* fix [2425395] portrait UI briefly shows in landscapeMathias Agopian2010-03-011-1/+2
| | | | | the "freeze" timeout was not initialized properly which caused it to kick-in immediately instead of after 5s
* Added a name to Surface created by SurfaceFlingerMathias Agopian2010-03-014-6/+23
| | | | | Updated the window manager to use this new facility. Surfaces name are now printed by "dumpsys".
* to help debugging [2461567] Home screen redraw messed upMathias Agopian2010-02-262-0/+6
| | | | log SF's idea of the front buffer in dumpsys.
* remove a dependency of surfaceflinger on libskiaMathias Agopian2010-02-225-180/+351
| | | | | libskia was only used for a small part of SkTransform. We now implement Transform is surfaceflinger directly.
* Initialize layer positionMathias Agopian2010-02-191-0/+1
|
* get rid off the YUV formats at the libui layerMathias Agopian2010-02-163-21/+35
|
* minor cleanup.Mathias Agopian2010-02-122-18/+10
|
* split libsurfaceflinger_client and libcamera_client out of libuiMathias Agopian2010-02-119-23/+26
|
* Add support for physically rotated displaysMathias Agopian2010-02-082-37/+69
| | | | | | | | | | | | | This feature is currently controled by a system property. "ro.sf.hwrotation" can be set to either 90 or 270. It'll cause SF to rotate the screen by 90 and 270 degres respectively. That is, if the driver reports 800x480 for instance, and ro.sf.hwrotation is set to 90, applications will "see" a 480x800 display and will run in portrait. This is implemented by introducing an extra "display" transformation in the GraphicPlane.
* Add support for direct EGLImageKHR use with pushbuffer APIMathias Agopian2010-02-042-16/+31
| | | | | | | We now always first try to use the EGLImageKHR directly before making a copy with copybit. The copy may be needed when EGLImage doesn't support the requested format, which is currently the case with YUV.
* Add support for 180/270 degrees rotation.Chih-Chung Chang2010-01-221-5/+14
|
* Add an orientation parameter for overlay, so we can do camera preview in ↵Chih-Chung Chang2010-01-216-12/+31
| | | | portrait mode.
* fix [2324665] texture leak in surfaceflinger when using cameraMathias Agopian2010-01-211-1/+16
|
* fix a texture leak introduced recently.Mathias Agopian2010-01-211-4/+11
| | | | | create the texture name once and for all for a given BufferSource and make sure to recreate it when we're forced to delete the texture.
* fix [2363362] [Sapphire] Corrupted raw picture displayed during snapshotMathias Agopian2010-01-201-0/+10
| | | | | handled all cases where the scale factor of a video is out of bounds of supported scale factors in copybit.
* part of fix for [2363362] [Sapphire] Corrupted raw picture displayed during ↵Mathias Agopian2010-01-202-11/+18
| | | | | | | | | snapshot make sure to fallback properly to software when copybit operation fails. with this change, the preview image will at least be displayed in b&w (since GL doesn't support the yuv format). This would also fix 2363506, but that one is now handled more cleanly.
* fix [2363506] [Sapphire] Video playback brokenMathias Agopian2010-01-202-6/+8
| | | | don't try to use copybit for incompatible buffers
* fix [2269582] [TOP-10][Passion_1506][APT:Camera]Sometimes camera preview ↵Mathias Agopian2009-12-111-0/+1
| | | | | | | | | | | | | screen is truncated after launching and back to home screen by home key repeatedly When a surface is removed from the screen while it holds a "freeze lock", the release of that lock happens in the destructor as a "safety net". However, it doesn't trigger an update at that point. Make sure that "freeze locks" are released from the transaction at the point a surface is removed from the screen (if it's not on screen, it shouldn't prevent the screen to redraw, and therefore cannot hold a freeze lock). The refresh corresponding to that transaction will pick it up as soon as possible.
* fix [2319255] crash in openGL : from the media recorder stress test.Mathias Agopian2009-12-101-1/+8
| | | | | never call eglCreateImageKHR() with a NULL native buffer, which can happen in OOM conditions.
* fix [2315900] Monochrome camera preview screen after launching cameraMathias Agopian2009-12-092-50/+69
| | | | | | | | | | this was introduced by a recent change. when we try to figure out the size of the yuv->rgb temporary buffer, the output resolution has not been computed yet and an invalid buffer size is used. most of the time the allocation fails and the system reverts to "standard" GL will uses onle the Y plane. the allocation of the temporary buffer is moved to onDraw(), the first time it is called, by that time, the window is positioned properly.
* improve video performance to minimize the tearing effect seen in 720p moviesMathias Agopian2009-12-081-9/+15
| | | | | | | | always rescale videos to their target size using copybit during yuv->rgb conversion. this improves performance of the GPU pass and doesn't require linear filtering to be enabled. Also always use 16-bits buffers. the average processing time for 720p dropped from ~50ms to ~30ms
* Revert "When using MDP, we needed to use a texture for diming."Dima Zavin2009-12-071-3/+0
| | | | This reverts commit bf0c320afbf6bf2441916755ecb443b64afbe73f.
* surfaceflinger: remove un-cached buffer hack for SGXErik Gilling2009-12-031-2/+1
| | | | Signed-off-by: Erik Gilling <konkers@android.com>
* fix [2291418] Camera preview cannot work in EmulatorMathias Agopian2009-12-021-13/+15
| | | | | | The image buffer used by glTexImage2d() would be uninitialized when no copybit engine can be found. We now always initialize images, since the abscence of copybit is not necessarily fatal.
* fix [2297155] SurfaceFlinger's freeze-timeout doesn't workMathias Agopian2009-12-012-13/+22
| | | | | | | | | There was bug in the logic that calculated the relative timeout, the start time was reset each time an event was received, which caused the timeout to never occur if an application was constantly redrawing. Now we always check for a timeout when we come back from the waitEvent() and process the "anti-freeze" if needed, regardless of whether an event was received.
* fixed [2260070] display stopped updatingMathias Agopian2009-11-301-0/+5
| | | | | always check that the visible region isn't empty after all visible regions are recomputed clear he freeze-lock if it is.
* When using MDP, we needed to use a texture for diming.Mathias Agopian2009-11-231-0/+3
|
* backout a workaround that is not needed anymoreMathias Agopian2009-11-191-1/+0
| | | | | we had to add a call to glFinish() before glReadPixels() because of a bug in the GL ES driver of a certain device. This is not needed anymore.