* Some hardware cannot handle cropping during bypass, or reports
invalid rects during orientation change. If the invalid rect is
cropped, MDP gets into a weird broken state where layers turn
transparent, display blinks, etc.
* Also use the VG pipe for 2 layers instead of just 1 in this case, it
eliminates flicker when unlocking the device.
Change-Id: Ia5cb1a368bcc8949ba224a8510f577450449f22e
Fix heap corruption in overlay clients, caused by missing
compilation flags. All libraries using overlayLib.h should
have flags used for conditional member declaration in overlay.
CRs-fixed: 342959
(cherry picked from commit 42120b29500560ebedbd897e2e7adf7369eb0a21)
Change-Id: Idf613861c4dc67e96ecadf7ce7e37472cb4e4daf
this brings us inline with cafs ics_chocolate branch
per: f696608c9d9e3b6b60a92423338f08d59d19d746
Change-Id: Ibaff05220e7d7f0ddd1b4d7507626a38d717340c
Add support for external-only display. Layer buffers
marked with GRALLOC_USAGE_EXTERNAL_ONLY will be
displayed on external panel only, if available.
In addition if the layer buffer also has the flag
GRALLOC_USAGE_EXTERNAL_BLOCK then only that layer
will be displayed on external (During suspend).
When this mode is on, the default mirror mode for
external is stopped.
Conflicts:
libhwcomposer/hwcomposer.cpp
Change-Id: I8ea2920384c5b68311ee3fe00707d01ab6568b52
S3D code is being conditionally compiled with HDMI_AS_PRIMARY.
So it is necessary to enable this flag, if board file indicates
HDMI as primary display
(cherry picked from commit dfc3782b8f23a6aadec9fd7501807778b0d3c542)
Change-Id: I3f6f84d76a3f7f5a3f83aa5ec31012b13b16431b
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
Qcom specific private flags have been moved to libQcomUI. Use these
flags flags in the hwcomposer.
Change-Id: I9898dd11a7fff72678fa1f744454fcf310507a63
For copybit composition, aquire a read lock on the buffer, before
the blit operation and release the lock after the blit operation.
For overlay, aquire a read lock on buffer N that is sent to the
overlay. After the play call for buffer N returns, unlock the lock
held by buffer (N-1).
Change-Id: I3ff178d8ed8e3a289c199237dbec501afdb7e717
1. Enable composition bypass for 1 or 2 non-overlapping layers.
2. Open bypass only if video playback status is CLOSED.
3. Close bypass immediately if Video or Camera needs VG pipe.
Change-Id: I1bef030b32ff2721d00b61f7717027d4d9219d04
This change enables c2d composition in HWC by removing the temporary
flag added in the following commit:
commit 7b814382ad
Change-Id: Ia6705c369090b14f3a00678c4e82078bd6e58847
-- Enable HWC
-- handle overlay as lib rather than HAL
-- move copybit changes under COPYBIT_ENABLE flag (temporary)
Change-Id: I36d8f9688cd7cbd838e288e5f482d8ee5c9b2df6
Bypass composition if we have 2 visible layers. However, this feature
is not used if:
1) Video playback is on
2) Rotation involved
3) App launch animation
4) HDMI connected
Set property debug.compbypass.enable=1 in build.prop
to enable this feature.
Change-Id: I4c0fa2aa1999c06c51f2b9a58641203316896e53
Put HDMI code in HWC under compile time flag.
This prevents crashes in use cases like HDMI used as primary.
If not done, non-existing code in gralloc is called in that
use case.
Change-Id: Ic7e792acf0c35eb12f04a74405619385d7288991
Initial HWC changes
- Add support to recognize video/camera buffers in the prepare phase
- Use overlays to draw single video/camera layers
Change-Id: I3351b3172fae12d9f6e016ff7e1a2f6a476799b3