summaryrefslogtreecommitdiff
path: root/libs/surfaceflinger
AgeCommit message (Collapse)Author
2010-07-14move native services under services/ Mathias Agopian
moved surfaceflinger, audioflinger, cameraservice all native services should now reside in this location. Change-Id: Iee42b83dd2a94c3bf5107ab0895fe2dfcd5337a8
2010-07-14Remove the YV16 format for simplicity's sake. Mathias Agopian
Change-Id: Iee03d100933ba0c67b13d51e0435be3b4cd953cf
2010-07-01remove unused YUV formats Mathias Agopian
Change-Id: Ie84616f842c7e0329d68e67e65a65d510558004b
2010-06-30fix live wallpapers on Droid Mathias Agopian
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
2010-06-29remove a hack that was used only used on h/w we no longer support. Mathias Agopian
this should fix the opal build. Change-Id: I43d7633696fea5be6bc834293a832d22f6bdfc61
2010-06-28fix[2798925] Gingerbread TOT not booting Mathias Agopian
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
2010-06-25Revert "Revert "fix [2793164] Spam 2x/second with TOT master in SurfaceFlinger"" Mathias Agopian
This reverts commit 330dd304a471d260a73e342a240921c03c825f99.
2010-06-25Revert "fix [2793164] Spam 2x/second with TOT master in SurfaceFlinger" Andreas Huber
This reverts commit 081bc5c47d8a980e6eafa70ddafcd89981586391.
2010-06-24fix [2793164] Spam 2x/second with TOT master in SurfaceFlinger Mathias Agopian
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
2010-06-21remove unused YUV formats Mathias Agopian
Change-Id: Id0ae28b1700cf771cdbe0ca27b139d32cab90b2a
2010-06-21fix [2785833] valgrind error in android::Layer::requestBuffer Mathias Agopian
fix uninitialized variable Change-Id: I99e1b619ae8c88dd9d77b3abf4762f801019047e
2010-06-15Added support for the GL_TEXTURE_EXTERNAL target Mathias Agopian
This will allow us to support YUV surfaces. Change-Id: I2d4da75f1006a5285bdc552695d4caeecccf2183
2010-06-08allow re-targetting of surfaces Mathias Agopian
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
2010-06-08fix [2751143] Device crashes when in a text box for too long Mathias Agopian
2010-06-04split surface management from surface's buffers management Mathias Agopian
Change-Id: If3c5655d1231f8f0c49ba68f972b1b20c93b3f87
2010-06-04clean-up client management. Mathias Agopian
simplified things a lot, the biggest change is that the concept of "ClientID" is now gone, instead we simply use references. Change-Id: Icbc57f80865884aa5f35ad0d0a0db26f19f9f7ce
2010-06-01fix a bug where fading in/out of opaque 32-bits windows wasn't working Mathias Agopian
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.
2010-05-28more clean-up in preparation of bigger changes Mathias Agopian
the most important change here is the renaming of ISurfaceFlingerClient to ISurfaceComposerClient Change-Id: I94e18b0417f50e06f21377446639c61f65f959b3
2010-05-26minor clean-up GLclampx -> GLclampf Mathias Agopian
2010-05-26clean-up dead-code Mathias Agopian
2010-05-26Make sure to use filtering while in fixed-size mode Mathias Agopian
2010-05-25fix [2712278] The preview buffer left some black borders in left and bottom ↵ Mathias Agopian
edges we were incorrectly flagging push_buffer surfaces as invalid Change-Id: I4dfd4ffbbe8a71f7e23e835db8d71966416c29bb
2010-05-24added the notion of fixed-size buffers Mathias Agopian
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
2010-05-20fix the threading issue for setBuffercount() Mathias Agopian
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"
2010-05-14fix uninitialized variable in DisplayHardware Mathias Agopian
this fixes the issue where the display is all messed-up sometimes. Change-Id: I20be91b5166bfff0c6d353a777351842c9df8e95
2010-05-12SharedBufferStack now can grow up to 16 buffers. Mathias Agopian
there is a new resize() api, which currently only allows growing. Change-Id: Ia37b81b73be466d2491ffed7f3a23cd8e113c6fe
2010-05-12Refactor some code in surfaceflinger in preparation of upcoming changes Mathias Agopian
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
2010-05-12remove the "memcpy" hack Mathias Agopian
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
2010-05-10am 56aed6bd: am c69775d6: Merge "fix [2664345] Flash: Bad flicker at the end ↵ Mathias Agopian
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.
2010-05-06fix [2664345] Flash: Bad flicker at the end of a pinch zoom. Mathias Agopian
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
2010-04-21more surfaceflinger cleanups Mathias Agopian
get rid of the "fake rtti" code, and use polymorphism instead. also simplify how we log SF's state (using polymorphism) Change-Id: I2bae7c98de4dd207a3e2b00083fa3fde7c467922
2010-04-21better fix for [2420565] Surface.lockCanvas() updates the dirty region too often Mathias Agopian
Change-Id: I83438b40effd21538f1c74396dc665254b9d5ab6
2010-04-20DO NOT MERGE fix [2557396] Adreno200: glDrawTexi() doesn't work with height ↵ Mathias Agopian
<= 16 don't use glDrawTexi() anymore Change-Id: If71334de39114b0edce7771366f8d8dc26f6911e
2010-04-20clean-up surfaceflinger a bit Mathias Agopian
get rid of the glDrawTexi path and use floating points instead of fixed point maths Change-Id: I3aa9ce2dc082f702160e605a16ba5fe987cdf087
2010-04-14am e7d5a2f9: am 45423465: Merge "fix [2594950] Flash: Zooming in on some ↵ Mathias Agopian
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)
2010-04-14fix [2594950] Flash: Zooming in on some content crashes the Nexus One and ↵ Mathias Agopian
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
2010-04-05Make pixels prettier. Mathias Agopian
Change-Id: If3b0774b70cbe943894c15ffa1da111ad887010f
2010-03-16fix [2511580] Window poop on screen - drop down list left some residual when ↵ Mathias Agopian
it resized Change-Id: Ib9a3622e7a568ba26717a93b5bfa4a191651f4d0
2010-03-15fix [2515291] Native crash and runtime restart while trying to preview ↵ Mathias Agopian
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
2010-03-11fix [2483456] Video orientation is wrong on Droid for some videos Mathias Agopian
Change-Id: I450191f1335f57bffc51aff3e27295395847dbc0
2010-03-08improve SF logging/debugging a little bit Mathias Agopian
Change-Id: I6a57f89c25defc293fd748cc1fbd710031c02ec2
2010-03-08Merge "fixes for [2474091] Saw Poor behaviour playing a video." Mathias Agopian
2010-03-08fixes for [2474091] Saw Poor behaviour playing a video. Mathias Agopian
- 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.
2010-03-02surfaceflinger: remove un-cached buffers hack for Adreno Dima Zavin
Change-Id: I5ae4e74bfa3e25b55be2cddf7b3c51368a140ab9 Signed-off-by: Dima Zavin <dima@android.com>
2010-03-01fix [2425395] portrait UI briefly shows in landscape Mathias Agopian
the "freeze" timeout was not initialized properly which caused it to kick-in immediately instead of after 5s
2010-03-01Added a name to Surface created by SurfaceFlinger Mathias Agopian
Updated the window manager to use this new facility. Surfaces name are now printed by "dumpsys".
2010-02-26to help debugging [2461567] Home screen redraw messed up Mathias Agopian
log SF's idea of the front buffer in dumpsys.
2010-02-22remove a dependency of surfaceflinger on libskia Mathias Agopian
libskia was only used for a small part of SkTransform. We now implement Transform is surfaceflinger directly.
2010-02-19Initialize layer position Mathias Agopian
2010-02-16get rid off the YUV formats at the libui layer Mathias Agopian