display: Enable copybit on msm8610

This change is the hwc and copybit changes need to enable
composition to go through mdp on msm8610.

Change-Id: If0df3a247c5f4f4310966d14fe8fd839bf84b9d5
copybit: Enable copy bit to use sync pt

Since mdp composition is now an async call, the waiting for fences
is now no longer needed inside copybit. In addition, how
composition ioctl is called is slightly different as a result
needing to pass in aquire fences device performing compsition

Change-Id: Ia12dfb2960ba2fc78b14e776984ffe0c3fe45fdb
hwc: Allow for yuv content to go through ppp on 8x10

8x10 has overlay but it also allows for composition to go through
copybit.

Change-Id: I086aab118b03c1cbc7fa0dbc080ceb906310deab
copybit: call blit ioctl before freeing intermediate buffer

Pass in buffer handle before it is freed to prevent blit operation
from failing while importing buffer.

Change-Id: I4a944e7b2c0f6e19b55ed5602eda49d14d5e78f0
copybit: Add support for HAL_PIXEL_FORMAT_YCbCr_420_SP_VENUS format.

Currently framework is not returning the correct MDP format
corresponding to HAL_PIXEL_FORMAT_YCbCr_420_SP_VENUS format.
Modifying the right format to be returned.

Change-Id: I1862dea6daf6cc90e25492af7bf2e7f3bf6328ec
copybit: Pass in proper acquire fence count to blit call

The counter that was incremented when an acquire fence was provided
was not the counter that was passed into the blit call. Due to
blit requests being processed in order that it is submitted, it is
not need to pass in previous release fence as acquire fence for
next blit request.

Change-Id: Ic259af24b33e5e69440d481c92788107ff639bed
HWC/copybit : Add support to indicate driver on layer with Zorder 0

Some applications send RGBA layer with constant alpha 0xFF and
isOpaque=1. For these types of layer we don't get any wormHole
regions. Hence we see the previous content (framebuffer) due to
wrong selection of blending logic at kernel side.

To fix these kind of issues on MDP3 we make layer with Z order
zero as FG layer. This makes sure that proper blending logic
is chosen in kernel.

CRs-fixed: 521638
CRs-fixed: 517944
Change-Id: I172a46c3284916264a1413a6a16875afea2b1aad
copybit: Ensure that copybit is not generating alpha values

When image was being up scaled beyond 4 times and intermediate
buffer is used, alpha value would be 0 in intermediate buffer.
This would then be blitted onto final buffer that contained alpha
value. Since fg had alpha value of 0 entire image would be blended
out.

Change-Id: I6daf03e93719212ee597c218655ae8692ae79e72
hwc/copybit: Use gpu composition for plane alpha

MDP3 doesn't support plane alpha. So falling back to
gpu whenever there is plane alpha in the list of layers.

Change-Id: Iec40e5160f4320b7393d937444645d1a243bd83b
hwc: Add setting to disable idleinvalidator

Added the ability to disable idleInvalidator when the
debug.mdpcomp.idletime property is set to "-1". The hwc test app
displays image on the screen with surface flinger turned off.
This causes timeout, so this change is to allow the testapp to
disable the timeout functionality by setting property.

Change-Id: I1adf28eea33ea73f3695644bec95056d16bd85f8
hwc: Disable idle invalidation for command mode panels

Command mode panels have an internal framebuffer with which they
refresh, hence the idle invalidator isn't needed for them.

Change-Id: I6acf0cc1f8c520cbcf706f109a42e47304c534d3
gralloc: Fix NV12_ENCODEABLE allocation

Targets having the venus core have the same allocation and stride
requirements for HAL_PIXEL_FORMAT_NV12_ENCODEABLE as the
HAL_PIXEL_FORMAT_YCbCr_420_SP_VENUS format.

Change-Id: Ie5ab8db6639dfa791c5be0161cde6140c3dae779
hwc: Add support for plane alpha

HWC 1.2 API passes down the plane alpha and the blending
operation to apply. Pass this information to the MDP.

Change-Id: I7fbd17345d9157aa654e4b1031ac3e26adf87f37
hwc: Handle video with plane alpha properly

An earlier patch disabled plane alpha completely for video.
Instead, do this only when we are in video only mode.

Change-Id: I2edc8c5ff5c90ec205b63175e5f3a4e6ff7eae69