summaryrefslogtreecommitdiffstats
path: root/libs/surfaceflinger
Commit message (Collapse)AuthorAgeFilesLines
* move native services under services/Mathias Agopian2010-07-1436-8940/+0
| | | | | | | | moved surfaceflinger, audioflinger, cameraservice all native services should now reside in this location. Change-Id: Iee42b83dd2a94c3bf5107ab0895fe2dfcd5337a8
* Remove the YV16 format for simplicity's sake.Mathias Agopian2010-07-141-2/+0
| | | | Change-Id: Iee03d100933ba0c67b13d51e0435be3b4cd953cf
* remove unused YUV formatsMathias Agopian2010-07-011-13/+22
| | | | Change-Id: Ie84616f842c7e0329d68e67e65a65d510558004b
* fix live wallpapers on DroidMathias Agopian2010-06-302-0/+13
| | | | | | | | On omap3 h/w we force opaque formats to RGB_565 instead of RGBX_8888 because the GL driver doesn't support it. RGBX_8888 is always remapped to RGBA_8888. Change-Id: I0bfabeb98c8d3a399079e6797cf2a0ee95915324
* remove a hack that was used only used on h/w we no longer support.Mathias Agopian2010-06-292-72/+1
| | | | | | this should fix the opal build. Change-Id: I43d7633696fea5be6bc834293a832d22f6bdfc61
* fix[2798925] Gingerbread TOT not bootingMathias Agopian2010-06-281-6/+3
| | | | | | | Fixed a typo where checking against the wrong constant caused GL_TEXTURE_EXTERNAL_OES to be used with a regular texture, which some GL driver will choke on. Change-Id: I93dfc4c8fa674433bbb678eee31954e9a8d0cb4b
* Revert "Revert "fix [2793164] Spam 2x/second with TOT master in SurfaceFlinger""Mathias Agopian2010-06-2514-134/+370
| | | | This reverts commit 330dd304a471d260a73e342a240921c03c825f99.
* Revert "fix [2793164] Spam 2x/second with TOT master in SurfaceFlinger"Andreas Huber2010-06-2514-370/+134
| | | | This reverts commit 081bc5c47d8a980e6eafa70ddafcd89981586391.
* fix [2793164] Spam 2x/second with TOT master in SurfaceFlingerMathias Agopian2010-06-2414-134/+370
| | | | | | | Make sure to not use GL_TEXTURE_EXTERNAL when it's not supported by the GL. The error was harmless, but annoying. Change-Id: I571a9a9b05d35da51420950a6a6e95629067efd0
* remove unused YUV formatsMathias Agopian2010-06-211-15/+0
| | | | Change-Id: Id0ae28b1700cf771cdbe0ca27b139d32cab90b2a
* fix [2785833] valgrind error in android::Layer::requestBufferMathias Agopian2010-06-211-0/+1
| | | | | | fix uninitialized variable Change-Id: I99e1b619ae8c88dd9d77b3abf4762f801019047e
* Added support for the GL_TEXTURE_EXTERNAL targetMathias Agopian2010-06-158-105/+196
| | | | | | This will allow us to support YUV surfaces. Change-Id: I2d4da75f1006a5285bdc552695d4caeecccf2183
* allow re-targetting of surfacesMathias Agopian2010-06-083-22/+56
| | | | | | | | | Surfaces can now be parcelized and sent to remote processes. When a surface crosses a process boundary, it looses its connection with the current process and gets attached to the new one. Change-Id: I39c7b055bcd3ea1162ef2718d3d4b866bf7c81c0
* fix [2751143] Device crashes when in a text box for too longMathias Agopian2010-06-081-1/+2
|
* split surface management from surface's buffers managementMathias Agopian2010-06-046-235/+468
| | | | Change-Id: If3c5655d1231f8f0c49ba68f972b1b20c93b3f87
* clean-up client management.Mathias Agopian2010-06-0415-607/+253
| | | | | | | simplified things a lot, the biggest change is that the concept of "ClientID" is now gone, instead we simply use references. Change-Id: Icbc57f80865884aa5f35ad0d0a0db26f19f9f7ce
* fix a bug where fading in/out of opaque 32-bits windows wasn't workingMathias Agopian2010-06-011-19/+7
| | | | | | | | | | | opaque 32-bits windows are now allocated as RGBX_8888 buffers and SurfaceFlinger always uses GL_MODULATE instead of trying to optimize to GL_REPLACE when possible (makes no sense on h/w accelerated GL). we still have a small hack for devices that don't support RGBX_8888 in their gralloc implementation where we revert to RGBA_8888.
* more clean-up in preparation of bigger changesMathias Agopian2010-05-283-9/+9
| | | | | | | the most important change here is the renaming of ISurfaceFlingerClient to ISurfaceComposerClient Change-Id: I94e18b0417f50e06f21377446639c61f65f959b3
* minor clean-up GLclampx -> GLclampfMathias Agopian2010-05-263-9/+9
|
* clean-up dead-codeMathias Agopian2010-05-264-27/+0
|
* Make sure to use filtering while in fixed-size modeMathias Agopian2010-05-265-8/+26
|
* fix [2712278] The preview buffer left some black borders in left and bottom ↵Mathias Agopian2010-05-251-1/+1
| | | | | | | | edges we were incorrectly flagging push_buffer surfaces as invalid Change-Id: I4dfd4ffbbe8a71f7e23e835db8d71966416c29bb
* added the notion of fixed-size buffersMathias Agopian2010-05-244-48/+84
| | | | | | | | | the new native_window_set_buffers_geometry allows to specify a size and format for all buffers to be dequeued. the buffer will be scalled to the window's size. Change-Id: I2c378b85c88d29cdd827a5f319d5c704d79ba381
* fix the threading issue for setBuffercount()Mathias Agopian2010-05-2010-115/+165
| | | | | | | | this change introduces R/W locks in the right places. on the server-side, it guarantees that setBufferCount() is synchronized with "retire" and "resize". on the client-side, it guarantees that setBufferCount() is synchronized with "dequeue", "lockbuffer" and "queue"
* fix uninitialized variable in DisplayHardwareMathias Agopian2010-05-141-1/+1
| | | | | | this fixes the issue where the display is all messed-up sometimes. Change-Id: I20be91b5166bfff0c6d353a777351842c9df8e95
* SharedBufferStack now can grow up to 16 buffers.Mathias Agopian2010-05-124-0/+43
| | | | | | there is a new resize() api, which currently only allows growing. Change-Id: Ia37b81b73be466d2491ffed7f3a23cd8e113c6fe
* Refactor some code in surfaceflinger in preparation of upcoming changesMathias Agopian2010-05-129-366/+554
| | | | | | | | | | | | the new TextureMagager class now handle texture creation and upload as well as EGL image creation and binding to GraphicBuffers. This is used indirectly by Layer and directly by LayerBuffer the new BufferManager class handles the set of buffers used for a Layer (Surface), it abstracts how many buffer there is as well as the use of EGLimage vs. regular texture ops (glTexImage2D). Change-Id: I2da1ddcf27758e6731400f6cc4e20bef35c0a39a
* remove the "memcpy" hackMathias Agopian2010-05-124-110/+7
| | | | | | | | this hack was used for gpus that don't support cached buffers for s/w clients. currently we have no gpu with this issue. this removes quite a bit of complexity. Change-Id: I72564669f124f92805030e61983711f61c76b6d9
* am 56aed6bd: am c69775d6: Merge "fix [2664345] Flash: Bad flicker at the end ↵Mathias Agopian2010-05-101-3/+22
|\ | | | | | | | | | | | | | | | | of a pinch zoom." into froyo Merge commit '56aed6bde0c52658d2cb1207c0cfe8ba0a764c59' into kraken * commit '56aed6bde0c52658d2cb1207c0cfe8ba0a764c59': fix [2664345] Flash: Bad flicker at the end of a pinch zoom.
| * 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
* | more surfaceflinger cleanupsMathias Agopian2010-04-2112-171/+112
| | | | | | | | | | | | | | get rid of the "fake rtti" code, and use polymorphism instead. also simplify how we log SF's state (using polymorphism) Change-Id: I2bae7c98de4dd207a3e2b00083fa3fde7c467922
* | better fix for [2420565] Surface.lockCanvas() updates the dirty region too oftenMathias Agopian2010-04-212-4/+10
| | | | | | | | Change-Id: I83438b40effd21538f1c74396dc665254b9d5ab6
* | clean-up surfaceflinger a bitMathias Agopian2010-04-208-106/+63
| | | | | | | | | | | | get rid of the glDrawTexi path and use floating points instead of fixed point maths Change-Id: I3aa9ce2dc082f702160e605a16ba5fe987cdf087
* | am e7d5a2f9: am 45423465: Merge "fix [2594950] Flash: Zooming in on some ↵Mathias Agopian2010-04-143-2/+27
|\ \ | |/ | | | | | | | | | | | | | | content crashes the Nexus One and causes it to reboot (runtime restart)" into froyo Merge commit 'e7d5a2f9ae47d8ea8face3f1e451314ed36f4026' into kraken * commit 'e7d5a2f9ae47d8ea8face3f1e451314ed36f4026': fix [2594950] Flash: Zooming in on some content crashes the Nexus One and causes it to reboot (runtime restart)
| * 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
* | Make pixels prettier.Mathias Agopian2010-04-051-1/+1
|/ | | | Change-Id: If3b0774b70cbe943894c15ffa1da111ad887010f
* 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
|