frameworks/base: Make sure Singleton instantiations are exported

This fixes using Singletons across shared library borders
with gcc 4.7+

Change-Id: I84b9cc99add4ace64c16e4fa8414a4fc7e4693c7
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
SurfaceFlinger: Allow forcing faking of Vsync

Not all displays will have a vsync like HDMI, TV or
manual update displays.

The orginal code assumes that just because the HWComposer HAL
has a certain API version that the HW Vsync should be supported.

But that is not always true.
This patch allows a system property that will allow forcing SW vsync
based on system property sf.force_sw_vsync.  This will allow devices
that do not support Vsync or processor HALs that have this
API version the ability to use the SW Vsync thread.

Change-Id: I45ac7aa81d4d132b04bf8b48823a2657eeffd683
Signed-off-by: Dan Murphy <dmurphy@ti.com>
frameworks/native: Fix build in ISO C++ 11 mode

Fix constructs that are considered new string literals in C++ 11 mode

Change-Id: Iadcad5f83c79e6726ca66ced5fc1e038b7587069
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
frameworks/native: Fix build in ISO C++11 mode

Change-Id: Icc19cde1bf9c72397ed8bda545e9056483d83e8d
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
Remove unused NVidia egl extensions

Change-Id: I5cb718426c4c3d261f7ef723e8d5be9b2e61b6e3
Signed-off-by: Patrik Ryd <patrik.ryd@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/70892
Graphics: Add support for YUV bitmap formats

Support for the proprietary YCBCR42XMB and other YUV/YVU bitmap
formats has been added to PixelFormat and CameraParameters.

Change-Id: I88ed8153c2f1c4f772ef3496e1d4a637154ef420
Signed-off-by: Patrik Ryd <patrik.ryd@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/70893
Fix shutdown sequence to avoid SIGSEGV when running am command

When the app_process is shutting down the main thread will close the
binder fd while pool threads are executing an ioctl (in
IPCThreadState::stopProcess called by AppRuntime::onStarted in
app_main.c).

The binder driver will then return all pending calls in ioctl
without any error and with a command. One of the threads gets a
BR_SPAWN_LOOPER which will create a new thread (the other thread
gets a BR_NOOP). This new thread then calls
vm->AttachCurrentThread. Usually this results in a log entry with
"AndroidRuntime: NOTE: attach of thread 'Binder Thread #3' failed",
but sometimes it also causes a SIGSEGV. This depends on the timing
between the new thread an the main thread that calls DestroyJavaVM
(in AndroidRuntime::start).

If IPCThreadState.cpp is compiled with "#define LOG_NDEBUG 0" the
pool thread will loop and hit the
ALOG_ASSERT(mProcess->mDriverFD >= 0) in
IPCThreadState::talkWithDriver.

Crashes like this has been seen when running the am command and
other commands that use the app_process.

This fix makes sure that any command that is received when the driver
fd is closed are ignored and IPCThreadState::talkWithDriver instead
returns an error which will cause the pool thread to exit and detach
itself from the vm. A check to avoid calling ioctl to a fd with -1
was also added in IPCThreadState::threadDestructor.

Another solution might be to change the binder driver so that it
returns an error when the fd is closed (or atleast not a
BR_SPAWN_LOOPER command). It might also be possible to call exit(0)
which is done when System.exit(0) is called from java.

Change-Id: I3d1f0ff64896c44be2a5994b3a90f7a06d27f429
Fix error trap in SurfaceTexture Client

There was an issue in Surface::lock where failure to lock a surface
resulted in two bad things happening:
- success was returned to the caller (it was apparently locked).
- an uninitialised pointer was returned as the buffer.

Change-Id: I8b0df81400e0fa0542a8bb993d76923ac96b686e
libagl: Transform the vertex if using eye space lighting with point lights

This fixes lighting when using point lights, when eye space
lighting is used (which is the default).

Change-Id: I0cd0d2329893d6b5f8af3b1e595274c2076fc322
Fixed sample video corrupted in MediaCodec mode.

Change-Id: Ibe11a83199f3db1ba6266a1a9e11c7fc24ceb554
related-to-bug: 6732061
EGL: do not use sparse files for shader

- Process is killed by system with SIGBUS signal if it writes
  data to mapped sparse file on full filesystem.
- Allocate space using write() function instead of ftruncate()
  to avoid creation of sparse files on full filesystem.
  Catch write() errors to handle out-of-space case during allocation.

Bug: http://code.google.com/p/android/issues/detail?id=35376
Change-Id: Ifc366454f34e71a43a0973eda4f591a920ea3a14
Signed-off-by: Kirill Artamonov <kartamonov@nvidia.com>
Fixed clang build error for libgui

Fixed the order of the statements in ANDROID_SINGLETON_STATIC_INSTANCE
macro so that the templated static member variable initialization
comes before the instantiation of the Singleton class. This
fixes the clang compile error.

Change-Id: Ic47d17e152b657f2dff3191ccc3770753fdf002b
Author: Tareq A. Siraj <tareq.a.siraj@intel.com>
Reviewed-by: Edwin Vane <edwin.vane@intel.com>
egl: Reintroduce eglGetRenderBufferANDROID

eglGetRenderBufferANDROID was removed as it had no users. This commit
reintroduces this extensions as it's used by Qualcomm graphics HAL.

Change-Id: I493306830a0d4f8722a42bcc84fb49236afdabeb
Return back-end result from eglDestroyImageKHR

Change-Id: I0e972b778f9802c28f52092bb9af087285833e0b
Allow disable of dumpstate vibrate

Change-Id: I747b757f4b5e2d6a472b7b2a19f8c1ca8a4b7fdd
frameworks/native: Increase EGL blob cache size limits

Increase the size of the EGL Blob Cache to 2MB and the key size to 4K.
This helps improve the performance of OpenGL apps, especially Open GLESv1.1
apps whose shaders are generated on the fly.

CRs-fixed: 393074

Change-Id: Ic3772a9722b63351c940d40794cf54073a8b5eed
Revert "Fixed clang build error for libgui"

This breaks HTC and Sony MSM8960 hwcomposer and surfaceflinger.

Possible that more QCOM devices are broken - at least that's the way it looks on get.cm and Jenkins

This reverts commit 07cc02d5f8efb3d3e51b8215bb5ab5e4353460af.

Change-Id: If0812df57a060999ac8c5f4ba12f2c23199afbc4
binder: Fix ABI incompatibility between older and newer compilers

Parcel::writeString16's first parameter was a char16_t - defined to
uint16_t somewhere else.

With ISO C++11 compatible compilers, however, char16_t is a
compiler-defined-type that is not necessarily unsigned.

This causes the symbol to be different, breaking support for talking
to binary blobs built with pre-ISO C++11-compilers, such as the
Galaxy Nexus RIL.

Change-Id: Ibaa57fbd7d9fc4a95649d3b45d28d29963a9548b
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
surfaceflinger: HDMI Samsung Soc Origen HDMI Enabling Code

This code enables HDMI in origen board.

Change-Id: I9c95b9a0aa6ed9dae077cff59104e2f95efe9327
Signed-off-by: Fahad Kunnathadi <fahad.k@linaro.org>
Merge branch 'jellybean' of https://github.com/CyanogenMod/android_frameworks_native into jellybean