replicant-frameworks_native/services/surfaceflinger
Mathias Agopian 23dacde4b6 [DO NOT MERGE] fix a bug where surfaceflinger and system_server could deadlock
because surfaceflinger handles screenshot in a different
thread from the binder thread that requested it and because
the IGraphicBufferProducer is a synchronous interface
calling back into the system server; it is possible for
the latter to run out of binder threads (b/c it holds
a lock while calling into SF).

The solution is to make sure all calls on IGraphicBufferProducer
happen on the incoming binder thread. We achieve this by creating
a IGBP wrapper which is given to the screenshot code.

Bug: 8734824
Change-Id: Ife2441c7322e51ecfb20e0df03dacf6bce49578e
2013-05-17 13:20:53 -07:00
..
DisplayHardware make the warning timout of Fence::waitForever() implicit and longer 2013-05-16 18:15:57 -07:00
tests Surface can now be created only from an IGraphicBufferProducer 2013-03-12 18:45:09 -07:00
Android.mk Remove experimental HWC virtual display support 2013-05-07 11:58:47 -07:00
Barrier.h
Client.cpp get rid of ISurface 2013-03-12 17:11:48 -07:00
Client.h get rid of ISurface 2013-03-12 17:11:48 -07:00
clz.h implement: "Add an ANativeWindow API for SurfaceFlinger to suggest an optimal buffer orientation" 2011-07-19 15:24:46 -07:00
DdmConnection.cpp fix SurfaceFlinger DDMS debugging 2012-10-07 16:41:12 -07:00
DdmConnection.h add libsurfaceflinger_ddmconnection for PDK build 2012-08-31 20:08:33 -07:00
DisplayDevice.cpp Clean up HWC state when releasing a DisplayDevice 2013-03-27 14:58:09 -07:00
DisplayDevice.h Clean up HWC state when releasing a DisplayDevice 2013-03-27 14:58:09 -07:00
EventThread.cpp Minor cleanups/fixes before virtual display refactoring 2013-03-18 14:16:02 -07:00
EventThread.h Display events now always carry the display id they happened on 2012-09-21 14:20:35 -07:00
FrameTracker.cpp SurfaceFlinger: add win anim frame time tracking 2013-02-08 13:32:21 -08:00
FrameTracker.h SurfaceFlinger: add win anim frame time tracking 2013-02-08 13:32:21 -08:00
GLExtensions.cpp don't use compile-time configuration of libgui as much as possible 2013-03-29 15:33:47 -07:00
GLExtensions.h
Layer.cpp make sure to update the "current state" when we "fake" the transaction 2013-04-12 16:58:11 -07:00
Layer.h latch transparent region hint only when we get a new frame 2013-04-02 18:30:32 -07:00
LayerDim.cpp get rid of ISurface 2013-03-12 17:11:48 -07:00
LayerDim.h get rid of ISurface 2013-03-12 17:11:48 -07:00
MessageQueue.cpp fix another bug where screenshots could end-up all black 2013-04-10 16:27:17 -07:00
MessageQueue.h fix another bug where screenshots could end-up all black 2013-04-10 16:27:17 -07:00
MODULE_LICENSE_APACHE2
SurfaceFlinger.cpp [DO NOT MERGE] fix a bug where surfaceflinger and system_server could deadlock 2013-05-17 13:20:53 -07:00
SurfaceFlinger.h Improve screenshot performance on some devices (DO NOT MERGE) 2013-04-11 17:35:24 -07:00
SurfaceFlingerConsumer.cpp don't use compile-time configuration of libgui as much as possible 2013-03-29 15:33:47 -07:00
SurfaceFlingerConsumer.h Rename ISurfaceTexture and SurfaceTexture 2012-12-18 13:10:48 -08:00
SurfaceTextureLayer.cpp get rid of purgatory and fix QueuesToWindowComposer query 2013-03-14 19:18:13 -07:00
SurfaceTextureLayer.h get rid of purgatory and fix QueuesToWindowComposer query 2013-03-14 19:18:13 -07:00
Transform.cpp implement display projection clipping in h/w composer 2013-02-28 18:43:04 -08:00
Transform.h implement display projection clipping in h/w composer 2013-02-28 18:43:04 -08:00