gralloc: Fix ITU formats for camera

Make sure ITU formats are applied exclusively for camera buffers.
Camera HW_TEXTURE buffers go to GPU and should be marked as 601 FR.
Earlier, this was OR'd with video encoder due to which it
incorrectly got marked as 709.

Change-Id: Icaf3692b581b7861229e613dd632123d21dda2cf
display: External display refactor

- cleans up external library
- add separate library for virtual display
- process virtual updates in its separate path
  in hwc.
- Acquire blank mutex lock for one complete drawing
  cycle

Change-Id: Ib984c578464a131ecdb27ee48960f58d68b7a5a7
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
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
hwc: Add assertive display support.

Add assertive display support to hwc. This feature takes effect when
node /sys/class/graphics/fb*/ad is present. This signifies that that LM0
is being used with fb* for writeback.

When a video playback begins we write "1" to this node to indicate to
post processing that a writeback will happen. Likewise a "0" is written
to this node when playback stops.

The original contents are worked upon and the modified output is fed
via writeback to either rotator or mdp as appropriate.

The feature doesnt trigger when either:
1) Buffer size exceeds 2048
2) External display is connected
3) Multiple yuv streams are present

When this mode is active, MDP comp is applied only to yuv layer.

Conflicts:

	msm8974/libhwcomposer/Android.mk
	msm8974/libhwcomposer/hwc_utils.cpp
	msm8974/libhwcomposer/hwc_utils.h

Change-Id: If5520f9dc849de3189c9f9ed4e9072c8f8f760e1
overlay: Remove overloading external display with writeback

Remove the APIs that allow overloading external display with writeback
display. This was a hack until the framework used hwc to do writeback.

Change-Id: If1d35cde84d8d0875ded2e6725e526a965976599
hwc: Hold blank lock for the entire composition cycle.

Hold blank lock for the entire composition cycle, since
a blank call may delete objects required by hwc_set.

Change-Id: Ie9050adaac00d8f769835152d0ecfc1721aa4e8c
hwc: Cleanup secondary configuration variables / helpers.

Make secondary configuration status as an attribute per display.
Replace the unused helpers related to display's active state with
display's configuring state.

Memset display atttibutes to 0 at bootup.

Change-Id: Id964eba9d268c5a0daa7a9f187a542db36f90362
Merge "display: External display refactor"
Merge "hwc: Reset state of layer which needs rotation"
merge in klp-release history after reset to klp-dev
Merge "HWC/copybit : Add support to indicate driver on layer with Zorder 0"
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
hwcomposer: Deprecate setupBasePipe

Needed only for A family targets where MDP boots up with
RGB pipe attached to the base.

Change-Id: I5118b8b41e4f864f8c73a115398b13bffa1f3383
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
Replace sRGB_888 with sRGB_X_8888

Bug: 10357459
Change-Id: I4d462ed21a3b53dbe84319cce802ff92043e5002
Merge "display: Remove unused components"
Merge "hwc: change error logs to debug logs"
HWC now defines HWC_DISPLAY_VIRTUAL, remove local version

Change-Id: I22f2d7c162de57a8f1aca147f7d99f049beb107b
hwc: fix aspect ratio calculations

- Make aspectratio calculations independent of ext dpy w/h
- pass hwc_rect_t to getAspectRatioPosition function instead of
  x, y, w, h
- overload getAspectRatioPosition func to return the upscaled
  or transformed position for a particular display based on the
  values set by SurfaceFlinger

Change-Id: I0be9b2b4b030bdd8e69dc1493dc8cbac31918c27