Commit Graph

29 Commits

Author SHA1 Message Date
Steve Kondik
02cb316eef hwcomposer: Add workaround for cropped layers during bypass
* 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
2012-06-02 20:57:17 -07:00
Saurabh Shah
272e6ecb11 Fix heap corruption in overlay clients.
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
2012-06-02 20:57:09 -07:00
Andrew Sutherland
0fefc37909 Makefiles: remove QCOM_HARDWARE cflag
Change-Id: Ief3ab8c3eb89fa54fdf3f7889c962311615d7542
2012-05-22 17:06:11 -05:00
Andrew Sutherland
081a89a5ad fixup after huge update
this brings us inline with cafs ics_chocolate branch
per: f696608c9d9e3b6b60a92423338f08d59d19d746

Change-Id: Ibaff05220e7d7f0ddd1b4d7507626a38d717340c
2012-03-16 23:53:44 -05:00
Saurabh Shah
e15d259d8c hardware/qcom/display: External-only display.
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
2012-03-16 23:29:57 -05:00
Neti Ravi Kumar
022c7668c4 Define HDMI_AS_PRIMARY flag based on TARGET_USE_HDMI_AS_PRIMARY
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
2012-03-16 21:25:12 -05:00
Naseer Ahmed
d19d1e2ff9 display: Use temporary buffer for internal conversion
(cherry picked from commit 7945ee46591ceba584b1b2167e5f750d3489d69c)

Change-Id: Ie71a8745e8810ade310103fdfed7db03cd170980
2012-03-16 21:22:11 -05:00
Rajulu Ponnada
e17722b895 hardware/qcom/display: Add debug feature to display FPS for both bypass,fb
Change-Id: Ib4991200db9bc64c823c57ed1fba43f836142957
(cherry picked from commit cc57c2f34b936636e9c52dc43689d9386bcd0e35)

Conflicts:

	libgralloc/Android.mk
	libhwcomposer/Android.mk
	libqcomui/Android.mk
2012-03-16 20:51:30 -05:00
Ramakant Singh
5cfdca4008 Display/libhwcomposer:Add intermediate stretch for low resolution clips
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
2012-03-16 20:41:57 -05:00
Steve Kondik
d2dde1230a Merge branch 'ics' of https://github.com/toastcfh/android_hardware_qcom_display into HEAD
Conflicts:
	libhwcomposer/Android.mk

Change-Id: I22baeb33395aa3478554109781dd1ded2293490b
2011-12-30 09:25:44 -08:00
toastcfh
eae32cda02 display: use some cm specific build flags and fix up cflags for qcom hardware
Change-Id: I3e39bbb522313d4bafd97cd205411f32a992a697
2011-12-22 22:04:28 -05:00
freexperia
9be3ed9e53 qcom_display: added missing flag for idef eglGetRenderBufferANDROID
Change-Id: I1a531d223cfc21e741b083eba002ba9293fd6047
2011-12-22 11:39:58 +02:00
toastcfh
b67994677f Merge git://codeaurora.org/platform/hardware/qcom/display.git ics into ics and resolve conflicts
Change-Id: I3acb5e963763821d2b547cf3c9390754dc42c12f
2011-12-18 19:45:23 -05:00
Naomi Luis
0afa0e42a6 libhwcomposer: Use the HWC private flags from libQcomUI.
Qcom specific private flags have been moved to libQcomUI. Use these
flags flags in the hwcomposer.

Change-Id: I9898dd11a7fff72678fa1f744454fcf310507a63
2011-12-13 11:23:32 -08:00
freexperia
b151a85950 msm: cleanup to compile msm7x30
Change-Id: Ie1ca24c4f08de56a07c8e299ffbb00fc4af85a8a
2011-12-06 07:03:30 +02:00
Diogo Ferreira
36bbca99c8 display: Set optional module tags instead of eng
Change-Id: I813779637488b11f0f3c1279f0ee3dcb2357b837
2011-11-29 01:52:56 +00:00
Naomi Luis
be1b5f3d66 libhwcomposer: Use genlock to lock/unlock buffers for composition.
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
2011-11-25 16:27:59 +05:30
Naseer Ahmed
229856bedf HWC: Fix for non-overlay targets
Do not call prepareOverlay, instead
use copybit to compose video frames

Change-Id: I5e85b0b65009de37ab792e59d259d8f1879fb0c4
2011-11-23 17:22:36 -07:00
Sushil Chauhan
ef62685ddd Enable Composition Bypass.
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
2011-11-21 11:36:58 -08:00
Jeykumar Sankaran
4d5323cc6d libhwcomposer: Enable c2d composition in HWC
This change enables c2d composition in HWC by removing the temporary
flag added in the following commit:

    commit 7b814382ad

Change-Id: Ia6705c369090b14f3a00678c4e82078bd6e58847
2011-11-20 21:43:22 -08:00
Prabhanjan Kandula
96dd6a36b9 Display: Overlay HAL changes needed for HDMI
-Add overlay defines needed by framebuffer
-enable compile time flag for HDMI

Change-Id: I5b9a8412c579a3a8cd0e0283dc5fd7e26266c170
2011-11-20 21:42:53 -08:00
Jeykumar Sankaran
7b814382ad libhwcomposer: HWC change to accomodate HAL changes
-- Enable HWC
-- handle overlay as lib rather than HAL
-- move copybit changes under COPYBIT_ENABLE flag (temporary)

Change-Id: I36d8f9688cd7cbd838e288e5f482d8ee5c9b2df6
2011-11-18 02:04:19 -08:00
Naseer Ahmed
dd6a62c9dd hwc: Change Android.mk to point to new display gralloc
Change-Id: Ie7c08fb55339c2c7b7bf2c28576291a5a1e1d809
2011-11-16 12:46:41 -08:00
Kinjal Bhavsar
6eb041de80 msm7k: Detect display type and mark layers
Mark layers for convert to S3D when playing S3D content on a 3DTV.

Change-Id: I355a73753682134b8ec5544a03d55ae40793e897
2011-10-25 12:23:11 -07:00
Saurabh Shah
34aead9cf1 Composition Bypass: Bypass composition if we have 2 visible layers.
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
2011-09-23 19:04:10 -07:00
Saurabh Shah
ae67b6bd33 Put HDMI code under compile time flag
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
2011-09-19 19:16:36 -05:00
Naomi Luis
8818296680 libhwcomposer: Use sanitized kernel headers
(cherry picked from commit 68e70474c2acaf35e42c4656e19d5f35012d0d70)

Change-Id: I8f77453d64f1c2c1e974b96c0727616bf0a8bf87
2011-09-19 19:16:34 -05:00
Sridhar Parasuram
2a50a0a894 Fix copyright markings
Change-Id: I2170d0dbd9270bcfd38ea2f8c7052ac387b9e0c9
2011-09-19 19:16:33 -05:00
Naomi Luis
13ac17278d hwcomposer: Initial version of the Hardware Composer HAL
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
2011-09-19 19:16:32 -05:00