display: Use L3 DRM for non TZ content

When the GRALLOC_USAGE_PROTECTED flag is set, use L3 DRM if the
buffer isn't also allocated with the MM heap.
Per the gralloc spec, this means that such buffers shouldn't be
routed to external displays since the hardware protected path is
not available due to allocation from an insecure heap.

b/11071443 - (related) [HH] Green frame happens during playback
             of Forward-lock DRM with Miracast connetion
Change-Id: Ifd858f874b4e3c2c3ec54c6d6a33372ec55b0aee
gralloc: Set default value for implementation defined formats

For implementation defined formats which go via HWC, set the
default value to RGBA8888

Change-Id: I6a45c69260b54f0b78c480f54b07a4de161b4cc5
overlay: Trace MDP ioctls

Add trace points for all MDP ioctls called from liboverlay
so that they show up in systrace.

b/11387181 - HH suffers from "busy janks"
Change-Id: I99d6ef987499fc858d298e74a60fc3cd4f8a0609
hwc: Add support for virtual displays

Add support for virtual displays in hwc.
The availability is detected when a valid list first appears.
Need a valid framebuffer handle to configure writeback based
on aligned dimensions.
Force full GLES virtual layers to go through HWC based on
boardconfig flag.

b/8316155 - Implement HWComposer 1.3 w/ virtual display support
Change-Id: Ice26d47022c8582a6d30503cfa5c918057046320
Signed-off-by: Iliyan Malchev <malchev@google.com>
hwc: Do not compose RGB layers for virtual displays

This is a temporary workaround to unblock HWC 1.3

b/8316155 - Implement HWComposer 1.3 w/ virtual display support
Change-Id: Ie877ec459916fb6c05ef9781e41900b661f4f489
Signed-off-by: Iliyan Malchev <malchev@google.com>
hwc: Do not use fb handle in hwc_prepare

Do not use fb handle in prepare. Use displayFrame for dimensions,
align them and hardcode format.

b/8316155 - Implement HWComposer 1.3 w/ virtual display support
Change-Id: I5c494a74a807d3a52a1c88257494b58c583700f5
overlay: writeback: Add dumpsys info

Add dumpsys information from writeback data structure.
Remove some unused fields, formatting to save space.

b/8316155 - Implement HWComposer 1.3 w/ virtual display support
Change-Id: I808ce67aae16e27c3aa6d6db45983929b1386b69
hwc: virtual display: Use outbuf handle width to configure xres

Use outbuf handle width to configure display xres, since that would
have the necessary alignment. The outbuf is guaranteed to be valid
by the framework during hwc_prepare.
We use the framebuffer layer's display frame to obtain the actual
width.
For example, the actual width could be 720 but the aligned width
would be 736.

Bug: 11430248
Change-Id: Ide221b0c7ada5eaedc7b0355c37e536e64c39f65
overlay: writeback: Do not create writeback instance on dumpsys

Do not create a writeback instance during dumpsys.
Instead use the dumpsys to return empty if no instance exists.
This fixes the issue where
a) Unnecessary instance is created.
b) Dumpsys has garbage, if a valid instance didn't exist

b/8316155 - Implement HWComposer 1.3 w/ virtual display support
Change-Id: Ic8ea5ddd8d05203234da7c7dfccd2c2b497e62f7
hwc: Drop alpha from writeback

The alpha in the writeback is unused right now. Force MDP to use
RGBX for composing writeback.
Bug: 11479817

Change-Id: I87e3fff962283af05a07d28698811a4402f2606c
Copy virtual display FB to outbuf even with no app layers

Bug: 11676429
Change-Id: I971a2374baf03354afb5918b84f6fd68e1ff29c0