Fixed sample video corrupted in MediaCodec mode.

Change-Id: Ibe11a83199f3db1ba6266a1a9e11c7fc24ceb554
related-to-bug: 6732061
merge in jb-release history after reset to jb-dev
Fix gralloc private flag for video playback

Change-Id: I5247adffd528fbabbe57de56e1ac1e5ae74662af
i9300: Clean up a bit usage flag hack

Change-Id: I355375e5d65381b4a256dbf934dacf6b2b935b98
frameworks/native: Add support for copybit in Surfaceflinger.

  - Use qcomuiclearRegion to punch hole in FB if using
    copybit composition
  - Skip GPU drawing if layers are flagged for copybit
  - Consider copybit composition while counting for
    layers updating FB

Change-Id: Ieb2937d276a5018916961b43850898066a15c17e
Merge "i9300: Clean up a bit usage flag hack" into jellybean
surfaceflinger: Fix ifdeffing

 * Fix bad ifdeffing from QC BSP code.

Change-Id: Ibd188c16fc6e95ee70dd13381db5406449c33c4d
Merge branch 'jb-release' of https://android.googlesource.com/platform/frameworks/native into aosp
exynos: Apply format usage flag hack to YUV420P

This is needed for planar format video in
addition to semiplanar.  Also, update the flag
to be more representative of what it REALLY does,
which is merely to add GRALLOC_USAGE_HW_FIMC1.

This fixes Netflix on Note 10.1 so it no
longer needs Developer Options hacks.

Change-Id: I31df87c252779e66a056b79b1f48779024ec0f30
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