frameworks/base: tilerendering with fbo boundaries

1)tilerendering support when rendertarget switches
2)removed few rendering target switches to improve performance

Change-Id: I42c76e201537bd989631e11b0227ebcdc980f38b
Commits from linaro to fix builds with newer toolchains and options
frameworks/base: Assorted build fixes

Assorted build fixes for gcc 4.6 and -DNDEBUG

Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>

frameworks/base: Fix aliasing violations

This makes it possible to build the code without
disabling the strict-aliasing optimization in gcc.

Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>

frameworks/base: Fix aliasing violations

Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>

libstagefright: Fix aliasing violations

Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>

frameworks/base: Fix various aliasing violations

Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>

fix build break when using prebuilt toolchain

When doing a build with the prebuilt 4.4 toolchain a duplicate
symbol error is hit. This is due to the fact this symbol is
really defined system/core/include/system/window.h

Change-Id: I9dac8e4f483422a7d42ab0d305ece61197f936b9
Signed-off-by: Andy Doan <andy.doan@linaro.org>

opengl: Enable -flto and -ffast-math

OpenGL can be built with -ffast-math and -flto without
regressions. Enable them for an extra speed boost.

Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
Change-Id: Iec2950b1d8fef30ef5530551b094e97c7ee91fa7

opengl: Work around linaro-gcc bug 879725

linaro-gcc 4.6-2011.10 ICEs when building matrix.cpp with
-fmodulo-sched when tuning for cortex-a8 (cortex-a9 is ok).
Until the compiler is fixed, disable -fmodulo-sched if we're
targeting cortex-a8 based devices, such as iMX53.

Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
Change-Id: I2cd8eee31b6fda507188ca709b3d4c00c6d01404

ensure compiler supports -flto

Change Iec2950b1d8fef30ef5530551b094e97c7ee91fa7 enabled
-flto in all builds. However, not all compilers support this
option. This changes ensures the flag is only used when its
supported

Change-Id: I29c1ae41eac6c5c03c944b1200b22171bcbc0719
Signed-off-by: Andy Doan <andy.doan@linaro.org>

frameworks/base: gcc 4.7 compile fixes

Make sure we can compile even with gcc 4.7's added
strictness

Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>

stagefright: Fix build with gcc 4.7

Make it build with gcc 4.7's added strictness

Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>

frameworks/base: Make sure Singleton instantiations are exported

This fixes using Singletons across shared library borders
with gcc 4.7

Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>

libstagefright: Work around gcc 4.7 bug

When using gcc 4.7, use -O2 instead of -Os to
work around compiler bug
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52294

Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>

frameworks/base: Compile fixes for ISO C++ 11

Fix build in ISO C++ 11 mode (where char16_t is defined and different
from uint16_t)

Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>

libmediaplayerservice: Fix aliasing violation

Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>

voip: Fix aliasing violation

Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>

rs: Fix aliasing violation

Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>

visualizer: Use -fno-strict-aliasing for now

Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>

libmediaplayerservice: Fix crash caused by strict-aliasing fix

long a[] and long *a aren't always the same...

Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>

frameworks/base: Fix build in ISO C++11 mode

Fix various incompatibilities with ISO C++11:
- Assumption that char16_t is defined to uint16_t
- constexpr usage
- macro constructs that could be interpreted as string literals
- enum typesafety

Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>

frameworks/base: Fix build without ISO C++11

Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>

libeffects/visualizer: Don't hardcode -O2

Only put -O2 into the compiler flags if no other
optimization is requested

Change-Id: I973e27c31c34e9d2cb7dbf2f246646da04462d26
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>

base: Fix build in ISO C++ 11 mode

Change-Id: I339847235769ac695acd0bbc7079985a9e2fcb05
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>

BluetoothEventLoop: Fix build in ISO C++11 mode

Conflicts:

	core/jni/android_server_BluetoothEventLoop.cpp

Change-Id: I0e1b1467ede8e703e911ac4f06e3fd28e7d7e385
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
Signed-off-by: Evan McClain <aeroevan@gmail.com>

libstagefright: Disable strict-aliasing for h264dec

Change-Id: I786c66a09dccf9434800ea2de76bf855599c9706
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>

GLES2_dbg/test: Build with -fno-strict-aliasing

Build GLES2_dbg/test with -fno-strcit-aliasing - the code looks like
more aliasing violations will be added, and performance of tests
isn't overly important

Change-Id: Ib23a0c6a881b78ba79d116efa5a1a859d11426b7
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
DO NOT MERGE Add API for file origin policy.

Bug: 6212665

Add hidden websettings api for configuring file origin policy.

Change-Id: I261ba6369fe606ca76f87c6a00d1168b44bcf1ab
Fix sluggish to launch an app

The new trace feature/code in 4.0.4, which will dump the app stack
trace every 500ms if an app can't be launched within 500ms, is
holding the global ActivityManagerService lock unnecessarily. It
slows down the app's startup.

Change-Id: I91fbb043912b4d1fcf3e80d8ac4e61cd20ad89d1
Solution: move the trace file write operations out of sync block.