replicant-frameworks_native/services/surfaceflinger
Jesse Hall 0de75f3f53 Stop using transparent region for computing visible regions (DO NOT MERGE)
The transparent region hint is computed only from view layout
locations, ignoring post-layout translation. If a SurfaceView is layed
out with no other views above it, but a view is moved above it
post-layout, that view's layout bounds would be subtracted from the
window's transparent region instead of its drawing bounds. Prior to
this change, the view would not be visible (except where its layout
bounds and drawing bounds overlap).

With this change, composition uses visible regions computed without
regard to the transparent regions. However, if all of a layer's
visible region is transparent, it will be removed from the list of
layers to composite. This doesn't fix the root problem of incorrect
transparent regions, and doesn't prevent bad composition in all cases.
But it does avoid it for some existing apps, while still allowing the
transparent region hint to save power in the important
fullscreen-video-in-a-SurfaceView case.

Change-Id: If2d929a10399b80401ef902abb232233a7f3d16d
2012-10-08 10:56:03 -07:00
..
DisplayHardware don't actuate vsync hint when not needed 2012-04-27 13:55:05 -07:00
tests remove libandroid.so from targets that don't need it 2012-03-27 13:57:43 -07:00
Android.mk set vsync power hint 2012-04-26 19:52:22 -07:00
Barrier.h
clz.cpp
clz.h
DdmConnection.cpp
DdmConnection.h
EventThread.cpp SF could get stuck waiting for vsync when turning the screen off 2012-06-15 14:59:31 -07:00
EventThread.h make sure to disable VSYNC while screen is off 2012-04-11 15:31:40 -07:00
GLExtensions.cpp
GLExtensions.h
Layer.cpp sometimes we would incorrectly scale the content of a surface 2012-06-07 17:12:20 -07:00
Layer.h SurfaceFlinger: add a crop to the layer state 2012-05-11 03:16:02 -07:00
LayerBase.cpp Stop using transparent region for computing visible regions (DO NOT MERGE) 2012-10-08 10:56:03 -07:00
LayerBase.h Stop using transparent region for computing visible regions (DO NOT MERGE) 2012-10-08 10:56:03 -07:00
LayerDim.cpp don't attempt to clip layers anymore using glScissor 2012-04-16 03:19:15 -07:00
LayerDim.h
LayerScreenshot.cpp don't attempt to clip layers anymore using glScissor 2012-04-16 03:19:15 -07:00
LayerScreenshot.h Fix rotation displays frame N-1 briefly while rotating 2011-11-04 15:15:32 -07:00
MessageQueue.cpp Revert "handle surfaces posts independently from composition" 2012-04-11 20:43:40 -07:00
MessageQueue.h separate transactions from updates 2012-02-01 20:43:06 -08:00
MODULE_LICENSE_APACHE2
SurfaceFlinger.cpp Stop using transparent region for computing visible regions (DO NOT MERGE) 2012-10-08 10:56:03 -07:00
SurfaceFlinger.h Exit boot animation cleanly. 2012-06-19 17:32:00 -07:00
SurfaceTextureLayer.cpp update the binder protocol for connect to match that of queueBuffer 2012-04-23 20:06:02 -07:00
SurfaceTextureLayer.h update the binder protocol for connect to match that of queueBuffer 2012-04-23 20:06:02 -07:00
Transform.cpp Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF) DO NOT MERGE 2012-01-03 22:38:27 +00:00
Transform.h SurfaceFlinger: SCALING_MODE_FREEZE cropping support 2012-05-09 12:53:13 -07:00