replicant-frameworks_native/services/surfaceflinger
bdeng3X c2633ce19b GraphicProducerWrapper may return false transact status
GraphicProducerWrapper(GPW) changed how the methods of
BpGraphicBufferProducer(BpGBP) are executed.
First, "fake" BpGBP is created. Its remote is GPW. The GPW has
wrapped the real BpGBP.
All the method calls to the fake BpGPB will be intercepted by
the GPW inside it when the methods run into remote()->transact().
Then the GPW will invoke the transact() of the real BpGBP. And
Everything runs well except that the GPW forgets to store the
transact status and always return NO_ERROR to the fake BpGBP.

It would be disastrous if the binder call of the IGBP failed and
the out parameter "reply" of transact() was in unkown state.
E.g. the queueBuffer() in the fake BpGBP will try to operate on
the "reply". This will crash the SurfaceFlinger.

Change-Id: I01b31f64e1fc92804da3f16c1fb1420dcfb3b855
Signed-off-by: bdeng3X <bingx.deng@intel.com>
Signed-off-by: Guobin Zhang <guobin.zhang@intel.com>
2014-03-27 09:09:19 +08:00
..
DisplayHardware native frameworks: 64-bit compile issues 2014-03-12 13:12:44 -07:00
Effects color blindness enhancement 2013-09-04 22:11:15 -07:00
EventLog surfaceflinger: add frame duration logging 2013-07-23 17:28:47 -07:00
RenderEngine native frameworks: 64-bit compile issues 2014-03-12 13:12:44 -07:00
tests Surface can now be created only from an IGraphicBufferProducer 2013-03-12 18:45:09 -07:00
Android.mk surfaceflinger: add BoardConfig.mk variable to force 32-bit 2014-02-20 15:37:14 -08:00
Barrier.h
Client.cpp SurfaceFlinger now runs in the process's main thread 2013-08-20 11:16:45 -07:00
Client.h get rid of ISurface 2013-03-12 17:11:48 -07:00
clz.h
Colorizer.h Add a --color option to dumpsys SurfaceFlinger 2013-04-22 21:51:28 +02:00
DdmConnection.cpp
DdmConnection.h
DisplayDevice.cpp SurfaceFlinger: fix 64-bit format string warnings 2014-03-07 12:45:13 -08:00
DisplayDevice.h Implement per-display EGLConfig and configless EGLContext 2013-12-23 21:53:39 -08:00
DispSync.cpp native frameworks: 64-bit compile issues 2014-03-12 13:12:44 -07:00
DispSync.h SurfaceFlinger: SW-based vsync events 2013-10-07 17:59:53 -07:00
EventControlThread.cpp SurfaceFlinger: Add EventControlThread 2013-10-15 14:31:41 -07:00
EventControlThread.h SurfaceFlinger: Add EventControlThread 2013-10-15 14:31:41 -07:00
EventThread.cpp SurfaceFlinger: fix 64-bit format string warnings 2014-03-07 12:45:13 -08:00
EventThread.h SurfaceFlinger: SW-based vsync events 2013-10-07 17:59:53 -07:00
FrameTracker.cpp SurfaceFlinger: fix 64-bit format string warnings 2014-03-07 12:45:13 -08:00
FrameTracker.h surfaceflinger: add frame duration logging 2013-07-23 17:28:47 -07:00
Layer.cpp fix camera API 2.0 orientation 2013-09-17 23:45:22 -07:00
Layer.h Encapsulate textures into their own Texture class 2013-08-16 16:29:02 -07:00
LayerDim.cpp SurfaceFlinger now uses GLES 2.x when available 2013-08-13 16:07:45 -07:00
LayerDim.h Refactor SF. Move all GL operations in their own class. 2013-07-03 14:39:27 -07:00
main_surfaceflinger.cpp make sure SF initialization is ran at target priority and correct thread group 2013-08-23 17:10:32 -07:00
MessageQueue.cpp native frameworks: 64-bit compile issues 2014-03-12 13:12:44 -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 GraphicProducerWrapper may return false transact status 2014-03-27 09:09:19 +08:00
SurfaceFlinger.h Move EGLConfig selection to RenderEngine 2013-12-23 21:53:39 -08:00
SurfaceFlingerConsumer.cpp fix camera API 2.0 orientation 2013-09-17 23:45:22 -07:00
SurfaceFlingerConsumer.h fix camera API 2.0 orientation 2013-09-17 23:45:22 -07:00
SurfaceTextureLayer.cpp Binderize the consumer side of BufferQueue 2013-08-01 17:20:08 -07:00
SurfaceTextureLayer.h BufferQueue improvements and APIs changes 2013-07-18 22:28:18 -07:00
Transform.cpp color blindness enhancement 2013-09-04 22:11:15 -07:00
Transform.h color blindness enhancement 2013-09-04 22:11:15 -07:00