Support forcing all screenshots into a CPU consumer

Looks like a full GPU path is less efficient on some GPU
drivers that we're still using, and CPU is reliably faster...
(there's probably a locking condition going on somewhere, this
needs to be looked into)

Change-Id: I8878796a117d65bf2324507cf8755cadce49f6dc
exynos4: getphys implementation on buffermanager for samsung omx

Conflicts:
	include/media/hardware/HardwareAPI.h
	include/ui/GraphicBufferMapper.h
	libs/ui/GraphicBufferMapper.cpp

Conflicts:
	libs/ui/GraphicBufferMapper.cpp

Change-Id: I88db141e29a50986bee8d9555d145d1f92ea6ecf
Squashed fixes for additional hwrotation

Author: Ricardo Cerqueira <cyanogenmod@cerqueira.org>
Date: 25.11.2012 12:11 AM
    surfaceflinger: Reimplement hwrotation

Author: Hashcode <hashcode0f@gmail.com>
Date: 11.12.2012 1:33 AM
    surfaceflinger: odd hw rotation (90/270) patch for swapping width/height

    This patch works in addition to the following commit
    re-implementing ro.sf.hwrotation:
    https://github.com/CyanogenMod/android_frameworks_native/commit/7d283431efffc4402cb1a6cacf5da64729c883bb

    When using values of 90 and 270 for ro.sf.hwrotation the
    LCD width and height also need to be swapped to display properly.

    NOTE: This patch does not fix the initial startup of bootanimation

Author: Clyde Tan <bokbokan@yahoo.com>
Date: 30.12.2013 1:49 AM
    Fix boot animation rotation problem when ro.sf.hwrotation is set to 90 or 270

Author: Ricardo Cerqueira <cyanogenmod@cerqueira.org>
Date: 04.01.2014 5:44 AM
    surfaceflinger: Consolidate display orientation compensation hooks

    Dedupe rotation calculation code and make rotation a statically
    available property in the DisplayDevice

Conflicts:
	services/surfaceflinger/DisplayDevice.cpp
	services/surfaceflinger/SurfaceFlinger.cpp

Change-Id: Ic517ab0d2c05026cd6fa46d664aab7926be17b62
surfaceflinger: Unbreak the ABI

 * Adreno is calling eglSwapPreserved, don't break the ABI.

Change-Id: Iaf300e2530534602910b9593b1c9136ed75559b5
dumpstate: Squash fixes from CM 10.0

commit ba3723de8d13126027706bbbe6f9657da231b9bd
Author: Mike Kasick <mike@kasick.org>
Date:   Wed Oct 31 20:31:05 2012 -0400

    dumpstate: Fix calls to su to specify a shell command

    Superuser's su requires that shell commands be specified with the "-c"
    option.  Fix calls to su to explicitly specify this option.

commit 78cd73fce82fd0b5ee98a6136c847932ba8c636b
Author: Mike Kasick <mike@kasick.org>
Date:   Wed Oct 31 18:53:58 2012 -0400

    dumpstate: Skip subsequent showmaps if the first run fails.

    dumpstate takes over six minutes to run as each call to "su" (which
    dumpstate uses opportunistically on states that require root privileges to
    access) takes approximately one second to process.

    The vast majority of these "su" calls are made to "showmap", which is
    called for every running process.  These calls nearly always fail, either
    because dumpstate is denied root access, or because "showmap" isn't
    installed.

    This greatly speeds up the dumpstate process by skipping subsequent
    "showmap" attempts if the first run (on process init) fails.

Change-Id: Ibdfa996afff541dc30251da7ab01ac4987ae2ebc
native: Fix QCOM_BSP_LEGACY cflags

Change-Id: Ia448c89fd5a3ca9f5b92d9b09e1d958498eaa263
surfaceflinger: Add more ifdefs for secure display query

Commit f04661 forgot ifdefs in HWComposer.h that break ABI. This
broke at least grouper and endeavoru surfaceflinger.

Change-Id: I9a1bd4e1fb9a2ad5ac0a39e86ef8131b52526e32
surfaceflinger: Fix QCOM_BSP ifdef

Change-Id: Ie6bdb81385762a0b3b25e207bc4add3cdcf1e6fe
Revert "native: Fix QCOM_BSP_LEGACY cflags"

* This is unnecessary now that the flags are set in the build makefile

This reverts commit 7c38f6bf2fd19214146788f5b5b8cd587fa972fb.

Change-Id: I5c1042b762f84455c888bafe56c5a619952bfbba
frameworks/native: Remove unnecessary QCOM_BSP defines

* This is already provided by the build makefiles

Change-Id: I630f09850f6f66c8f3c501fa5fd78f5a15a3436f
libs: binder: MemoryHeapIon: ifdef ION_EXYNOS_VIDEO_MASK

Exynos secure memory regions were separated here:
https://android.googlesource.com/platform/hardware/samsung_slsi/exynos5/+/ce73ba1%5E!/

Only compile the legacy ION_EXYNOS_VIDEO_MASK code if legacy HALs are used
(and ION_EXYNOS_VIDEO_MASK is defined).

Change-Id: I8cb58bbbb829d64a2ed39dbd27cc0d0ae3c9dd09
binder: Don't include the compat symbols on arm64 binaries

... Since they're not the same when built at 64-bit, and the likelihood
of blobs requiring this are slim to none, just remove them

Change-Id: Ib4207055a9aadeb589a92b97a000f94cae270aa3
SurfaceFlinger: Make secure display ifdefs more narrow.

  * apq8084 target hals do not export display attrs
   the same as previous platforms (8974, 8960 etc)
   but continue the use of QCOM_BSP.
  * Due to this difference secure content is non-visible
   on apq8084 platforms because SF pushes the rendering
   to GLES vice the secure buffer of HWC and MDP.

Change-Id: Ie078638b1e22d1c9f73441e290c2882b4081b294
libEGL: allow devices to workaround Google bug 10194508

Most older blobs don't have the EGL_KHR_gl_colorspace
extension and need this workaround.

Change-Id: Ifc5d097c1a0b68275d23c2d191976ac96631b695
opengl: reduce PB size from 2MB to 512KB

this allows us to enable h/w acceleration on low-end
devices while keeping memory usage down.

Bug: 6557760
Change-Id: I8af2de3038dc2579360b8b73aa452cb7a0e506a9
Forward port 'Swap volume buttons' (2/3)

[mikeioannina]: Adjust for 5.0 changes

Change-Id: I5ed4ae2b7e69e2ada067ed1d3524b3d3fad30e2e
Merge remote-tracking branch 'cyan/cm-12.0' into cm-12.0