libhwcomposer: Mark all layers below the SKIP layer for GPU composition.

If there is a SKIP layer present, the SKIP layers are first composited
using the GPU. If there any layer below the SKIP layer that performs
any operations on the FrameBuffer, it results in undesireable results
on the screen e.g. artifacts, since SurfaceFlinger draws the SKIP layers
before the HWComposer.

Change-Id: I198236673e2a0bd19a6087ff01049061547abb47
CRs-fixed: 327392
Merge "Fix swapinterval 0 support in class OverlayUI" into ics
setVisualParam Overlay API

Pass visual parameters such as sharpness, brightness, contrast,
hue, and saturation from framework to kernel. Converts floating
point to int8_t to represent visual param values.

Change-Id: I3dfc7c38d305fb05f080efb624f61c76adb5e023
Merge "setVisualParam Overlay API" into ics
libgralloc: Store the correct fd when mapping the framebuffer.

Store the actual and not the dup'd fd when mapping the framebuffer.

Change-Id: Ibca65a8f4c4db374dc23e8fee216ec5c36a9c01c
Merge "libhwcomposer: Mark all layers below the SKIP layer for GPU composition." into ics
Merge "libQcomUI: update isGPUSupportedFormat" into ics
qcom/display: Add support for WFD

- HDMI has priority over Wifi display, if HDMI is connected during
  Wifi, close the session for Wifi and start one for HDMI.
- the enableHDMIOutput parameter externaltype - HDMI/WIFI/OFF

Change-Id: If2cd9143fc7a953db49f38a6c166f9425ba5266e
display: Add support for protected heaps

(cherry picked from commit c932690c5a9d0aedfd2580e5c5e9f79e32f54261)

Change-Id: Ibddab4252ecefa1c410430b89f94aba4d3ae1c96
libhwcomposer: Fix dynamic composition for 2 overlapping layers

This change allows composition to fall back to c2d even if the second
layer overlaps the base full screen layer.

CRs-Fixed: 326413
(cherry picked from commit b27338930d5bf3de17d03b06db6169e648d5e5fc)

Change-Id: Iaf1bf706fb216286047452173b58aeba1781cd9b
add GRALLOC_USAGE_PRIVATE_UNSYNCHRONIZED for explicit synchronization.

Change-Id: I3d78f0517f7eeafc58ec5b0edfc6a04901ad48b2
(cherry picked from commit 35229ceb772a4a3c0a9dbfcb42fdb45344a91b4e)
Merge "add GRALLOC_USAGE_PRIVATE_UNSYNCHRONIZED for explicit synchronization." into ics_chocolate
qcomui: Let the client decide the reallocation size

Always set the size the client wants, even if the
gralloc calculated size is larger

(cherry picked from commit 06277880c010c735c6b28da3703595f565696b64)

Change-Id: Ib756b52c440ebfd245e666b724524bcd8c79c795
hwcomposer: Enable dithering if FB format is  RGB565

CRs-fixed: 329362

(cherry picked from commit acd73753d1da0ba587fea91a2605229c7274e7b7)

Change-Id: I5155e98a87d17066fab6075d2b067175e4a6b56c
Merge "qcomui: Let the client decide the reallocation size" into ics_chocolate
hardware/qcom/display: set the default sharpening settings

set the default sharpening settings for overlay pipes
i.e, sharpening is enabled and sharpening strength to zero.

CRs-fixed: 328472

(cherry picked from commit ba5235a66a4424746a6d785f83333b3543dc2dd1)

Change-Id: I6e18321e96f74df99ca6c4b63d06bc831f9e81ae
libqcomui: Do not create EGL image for 420 SP formats in 7x27A

This change is done to reduce the CPU utilization by SurfaceFlinger
thread. This feature may be turned On/Off using a compile time flag

(cherry picked from commit 9691e73556e5c0b66553aa55eb504b9ebb0fd400)

Change-Id: I1cb5b5c8abef135bc520c6e39c6ccf236b2270c3
Merge "libqcomui: Do not create EGL image for 420 SP formats in 7x27A" into ics_chocolate
Dump PMEM usage in out of memory cases for debugging

(cherry picked from commit 87e533f5a605e5fa99f84aeb8869d5f084369c6d)

Change-Id: I0f4b99c115b36144587cc770cb3722b89d7cffbd
Display/libhwcomposer:Add intermediate stretch for low resolution clips

Copybit module has a limited stretch to scale a clip.
Hence we need to do a intermediate stretch before going
to final stretch.

(cherry picked from commit 6503d323f9e113c0edf66e724bb422559ecbd5cb)

Change-Id: Ib8ea9a917896985d4f7d7ebf999222f2dc6f6480