Accept only contiguous memory for all layers

This hwcomposer device can only render buffers that are
in physically contiguous memory.

Change-Id: I770386650fb4ddc9478d6ab86ff0c2f05c5ca868
Merge "Accept only contiguous memory for all layers"
Allow system heap fallback with MDP composition

gralloc can now fallback to system memory when PMEM runs out even if MDP
composition is enabled.

Change-Id: I708d8985063c40bd0683955aaf1335e00c7380d3
Merge "Allow system heap fallback with MDP composition"
hwc: Fix color distortion on a large image during MDP Copybit.

1. At 90/270 degree, if there is vertical or horizontal flip in layer
transform, it is wrongly interpreted by display HAL due to incorrect
check. Copybit destination rectangle width & height are not swapped,
which leads to unwanted scaling.

2. While zooming out a very large image, there are couple of frames
which need out-of-range scaling by Copybit in both X & Y directions.
Driver cannot handle it, does nothing & remains in bad state, results
in color distortion. HAL needs to fall back to GPU in this rare case.

Change-Id: I7c93d4d684a93fcfe284b1faa5d110ce19aacb40
CRs-Fixed: 570635
Merge "hwc: Fix color distortion on a large image during MDP Copybit."
hwc: Framework should honor MDP Copybit usage limitation.

MDP PPP is not efficient when render area of RGB layers is too large
as compared to FrameBuffer area, which can lead to issue like Copybit
source image data cannot be fetched for few BLIT requests leading to
fuzziness on display contents. So framework should honor MDP Copybit
usage limitation especially on high resolution targets (> WVGA) with
default Dynamic Composition.

Change-Id: I084e9b61ab1619d718b59c1a7acbe14fca2cb089
Merge "hwc: Framework should honor MDP Copybit usage limitation."