replicant-frameworks_native/services/surfaceflinger
Romain Guy 3b996c96e4 Always create OpenGL accelerated windows in RGBA 8888.
Bug #3081600

The OpenGL renderer in libhwui uses a single EGL context per process and
thus create it with an RGBA 8888 EGL configuration. To ensure that all
windows are compatible with this configuration, this change modifies
the window manager and SurfaceFlinger.

The window manager now checks the window's flags and if the window is
hardware accelerated, it forces the window's pixel format to be
translucent when creating the surface. The window itself is still
marked as opaque if we know that the window will be opaque on screen.
This keeps existing optimizations in place.

Similarly in SurfaceFlinger, a translucent Surface can now be created
with the Surface.OPAQUE flag, indicating SurfaceFlinger that the surface
does not require blending, despite its RGBA 8888 configuration.

Change-Id: Ic747b6b12564ba064412d842117880fcc199eb7c
2010-10-12 11:00:18 -07:00
..
DisplayHardware
tests
Android.mk
Barrier.h
BlurFilter.cpp
BlurFilter.h
clz.cpp
clz.h
GLExtensions.cpp
GLExtensions.h
Layer.cpp Always create OpenGL accelerated windows in RGBA 8888. 2010-10-12 11:00:18 -07:00
Layer.h
LayerBase.cpp
LayerBase.h
LayerBlur.cpp
LayerBlur.h
LayerBuffer.cpp
LayerBuffer.h
LayerDim.cpp
LayerDim.h
MessageQueue.cpp
MessageQueue.h
MODULE_LICENSE_APACHE2
SurfaceFlinger.cpp
SurfaceFlinger.h
TextureManager.cpp
TextureManager.h
Transform.cpp
Transform.h