975 Commits

Author SHA1 Message Date
Naseer Ahmed
cbb0b78679 display: Move HALs to new location
Change-Id: Ib1d843b4cfd71f5bbb0e5184277cbe7497180f8e
2011-11-16 13:39:21 -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
Naseer Ahmed
b4684bce38 overlay: Enable ION for rotator
Change-Id: I08f1cd0f8d49812ba8723a137913e386365c946a
2011-11-16 12:46:35 -08:00
Naseer Ahmed
049cef0c8c C2D HAL: Enable ION
Change-Id: Ibfd124d620bab018bc89dd37e4471270c93aa58d
2011-11-16 12:46:17 -08:00
Naseer Ahmed
e8525339bc hardware/msm7k: When ION is enabled use the new gralloc
Change-Id: Id0644da2aa4d55bed7c6c41a2c6e58e860475274
2011-11-16 12:45:59 -08:00
Naseer Ahmed
b2f68b6190 copybit: Check for invalid handle
Change-Id: I3b0bcb3b464aaa15994add3b2f8d6feea3becc68
2011-11-16 12:45:50 -08:00
Linux Build Service Account
c30a98c79d Merge "Overlay: Change MDP format for YV12 buffers" into honeycomb_mr2_mainline 2011-11-14 16:20:49 -08:00
Linux Build Service Account
acd6180ea2 Merge "Multi layer composition bypass" into honeycomb_mr2_mainline 2011-11-14 15:23:53 -08:00
Chetan Kalyan
7ab3fc97e0 Overlay: Change MDP format for YV12 buffers
Android uses different alignments for YV12 buffers.
Hence, introduce a new format (MDP_Y_CR_CB_GH2V2) for
such buffers.

Change-Id: I50ba8baf2696252fce513e455d94bfde460b0e51
CRs-fixed: 302752
2011-11-14 14:39:10 -08:00
Naseer Ahmed
724b651320 overlay: Add FB flag for UI mirroring
When the source for rotator is the
framebuffer, the FB flag needs to be set
to identify the type of memory to be used.

Change-Id: I4fc6112832ad42eb7092be5243653b9baf8a241a
2011-11-11 13:57:26 -08:00
Naseer Ahmed
4057df1d8d gralloc: Disable new gralloc
Change-Id: I8b6066ee5b81e3a249800857c33671c314fd373f
2011-11-08 15:21:53 -08:00
Naseer Ahmed
0856a1cf2f gralloc: header change for ION support
Change-Id: Ibbb81034c1c4cbc6ddc79719c7d47ded97bd816e
2011-11-08 10:57:43 -08:00
Saurabh Shah
e62cceadf6 Multi layer composition bypass
Allow 1 or 2 non overlapping layers to use composition bypass.
This is an enhancement to the previous approach which uses
bypass strictly for 2 layers.

Change-Id: I879903db44cb1fddbe3e428ffa77eb67e95e0886
2011-11-04 18:47:51 -07:00
Naseer Ahmed
2c89689534 gralloc: header change for ION support
Change-Id: I64ecf3ef5ea6974b2c155013c686444501939b9e
2011-11-01 18:08:25 -07: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
Rajulu Ponnada
802829be05 hardware/msm7k/libgralloc-qsd8k - framebuffer.cpp fps calaculation for a time interval
Change-Id: I11ee7973e192e5cc3cf5086b865632eec46eaf8c
2011-10-18 13:22:49 -07:00
Saurabh Shah
f3353ad328 Bypass: Fix source dimensions
Since the RGB buffer could be 32 aligned, use actual source dimensions.

Change-Id: Ice615e34a304c864cbe8fef044e14e9f835f9359
2011-10-18 13:22:45 -07:00
Naomi Luis
38fa4f72ff libhwcomposer: Close overlay channels in HWC set
Close overlay channels in the next HWC set phase. This allows the
framebuffer to be composed prior to the closing of channels.

CRs-fixed: 305070
Change-Id: I8719381136c20c0febbd4f7bf5b935b92f6508ec
2011-10-18 13:22:41 -07:00
Naomi Luis
376ed9acd9 Enable overlay NOWAIT when there is UI update.
When composing UI along with video, enable the overlay NOWAIT option.
If there is no UI during overlay playback, use the WAIT flag.

Change-Id: Idc538e4412c790fc295a3aff1d1f23a6e4767fce
2011-10-18 13:22:35 -07:00
Naomi Luis
8afdc162ea Upgrades to the updateOverlay functionality.
Update the overlay when we have a channel up. Previously, we did updates
only when the width and height changed. Now, we always update the overlay
when the channel is open, and not close the channel to update parameters
such as orientation change, flags etc.

Change-Id: I0b2ef8b19bd860d5361c391e040ff497f1023ae3
2011-10-18 13:22:31 -07:00
Kalyani polepeddy
3f23890374 hardware/msm7k : Add new target msm7627_6x
Change-Id: I896ca4507a706e3e35a3a5c1b815dd7fea8e3e6a

Conflicts:

	libgralloc-qsd8k/Android.mk
2011-10-05 15:33:19 +05:30
Linux Build Service Account
603a3ad5ae Merge "Set correct parameters in the gralloc handle" into honeycomb_mr2_release 2011-09-27 16:22:37 -07:00
Naomi Luis
f105d784da Set correct parameters in the gralloc handle
Set the aligned width and height in the gralloc handle.

Change-Id: I9cb2d9b681bb022bec2fa7cbe495974865f92a54
CRs-fixed: 306991
2011-09-26 12:59:51 -07:00
Naomi Luis
8da83f0059 liboverlay: Use even crop values
The overlay hardware requires the values to be even. Calculate the ROI
to ensure that the crop rectangle is correct after making the
parameters even.

CRs-fixed: 302916
Change-Id: I7316a65efe2b72c5392a3d2adbb95070662dced9
2011-09-25 17:44:35 -07:00
Linux Build Service Account
3effb52fa7 Merge "Composition Bypass: Bypass composition if we have 2 visible layers." into honeycomb_mr2_release 2011-09-23 23:50:33 -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
Omprakash Dhyade
49008be4a3 hardware/msm7k: libgralloc-qsd8k: Remove wait in fb_post and lockBuffer implementation
Since fb_post and dequeueBuffer may be called
from different threads, it might happen
that both wait for available buffer causig
both threads to go in sleep. To solve this
problem we add lockBuffer implementation
and remove waits from fb_post and dequeueBuffer.
This will also be consistent with native window
implementation.

Change-Id: Id5e6e2feac5153156fabd9266b0c1cd5a5681514
2011-09-23 18:37:43 -07:00
Anshul Gupta
b632d742e7 build: standardize building conditionally for qcom chipsets
Replace QCOM_TARGET_PRODUCT usage with make functions provided by
build/core/utils.mk to build conditionally for qcom chipsets

Change-Id: I98e2341f46a59de597e8a9ed757d9c6b88bae588
CRs-Fixed: 298335
2011-09-21 18:26:53 +05:30
Harshad Bhutada
98fc1499db ligralloc-qsd8k: Add debug feature to display FPS
Change-Id: I0fe7e31f6301d5abca3a81dcd4112ffa2ec937df
2011-09-19 19:16:37 -05:00
Naomi Luis
28bb235bc3 libgralloc-qsd8k: Use correct vaddr for clean/invalidate pmem regions
CRs-fixed: 304740
Change-Id: Id72bb9ae874a56be89aec79d23e8d2e79856409d
2011-09-19 19:16:37 -05:00
Kinjal Bhavsar
48f7bb38a7 liboverlay: Add support for 3D panel
Detect and use 3D panel for 3D content. Use the virtual framebuffer
for 3D panel. Set position for overlay channels accordingly. Use
3D ioctl for line interleaving.

Add state machine for Overlay.

Change-Id: I28dc7ed99aed7ca2c53c93722c44279d9c7de9fc

Conflicts:

	liboverlay/overlayLib.cpp
2011-09-19 19:16:37 -05:00
Jeykumar Sankaran
d7add45e8e Fix dynamic composition on framebuffer rotation
This change fixes a bug in detecting fullscreen condition for
dynamic composition.

Change-Id: Ieadaf970061badc1d2f876560c1118fccf3a420a
2011-09-19 19:16:37 -05:00
Chetan Kalyan
4fc65b100d Overlay: Add debug logs to overlay
In case of failure, print out the values of the failed
overlay structure, to allow easy debugging.

Change-Id: I3e480b8eecc66b54f357b29d02064a751c9ebbfa
2011-09-19 19:16:37 -05:00
Arun Kumar K.R
370a5212ce hwcomposer: Inform gralloc about video before prepareOverlay
prepareOverlay will setup the channels for video playback, so
inform gralloc to close UI channels before they are setup.

Change-Id: I757a8fd79661eb66ccbe2ac1475e48740bbf1733
CRs-fixed: 298102
2011-09-19 19:16:37 -05:00
Omprakash Dhyade
6e3e6e0300 liboverlay: Use aligned width/height for source
The source buffers, width/height is aligned. Use
aligned width/height for the source buffer.

CRs-fixed: 285831

Change-Id: I4c367a03fea833674e03fcab5a38217f9f8c5e05
2011-09-19 19:16:37 -05:00
Naomi Luis
e8ded16374 libgralloc-qsd8k: Invalidate the ashmem cache
Invalidate the ashmem cache after allocating an ashmem buffer

Change-Id: Id38a4776a80a9b1d8be7fe6bf00f8b187a3278f6
2011-09-19 19:16:37 -05:00
Jeykumar Sankaran
bfe4f06ee4 libhwcomposer: Add support for dynamic composition switching
This change adds support in HWC to switch between c2d and gpu composition dynamically.

Change-Id: I52effdc3722034cbb0e859e66334ca4769f0d5c6
2011-09-19 19:16:37 -05:00
Arun Kumar K.R
0f0ea07983 liboverlay: Check if the destination values have changed in setPosition
In setPosition, make an ioctl call only when there is a change
in the destination values.

CRs-fixed: 296400
Change-Id: I9b059e226bf6f6cfd04fb563ac765e2583415157
2011-09-19 19:16:37 -05:00
Naomi Luis
61390825ec libhwcomposer: Move the skip composition logic to a separate API
Create a new function to check if we need to skip the composition
during overlay operations.
Reset the previous compCount variable if there is no video layer present.

Change-Id: Ibf570805114440f117f0fb98b5f2d53c1780ec84
CRs-fixed: 298014
2011-09-19 19:16:37 -05:00
Naomi Luis
f75b90721f libgralloc-qsd8k: Check PMEM_ADSP flag
Check the PMEM_ADSP flag during the terminateBuffer and gralloc_unmap
operations.

CRs-fixed: 296807, 298849, 296817
Change-Id: Ia97aca71935ca3c921f53fc88f5b4f918d7434c0
2011-09-19 19:16:37 -05:00
Naseer Ahmed
3de087d0bb gralloc: Clean pmem caches after memset
Change-Id: If403dde70863e0d6ea221f2a105b86bdec134261
2011-09-19 19:16:37 -05:00
Naseer Ahmed
f979fa8589 copybit: Set vertical padding
Change-Id: I86f3fe29c577b06487aedd9f9569075a22c146fc
CRs-fixed: 284384
2011-09-19 19:16:37 -05:00
Laxminath Kasam
47cfb5e50a libaudio-msm8660: FM audio routes to DUT speaker with Alarm sound.
-FM playback with alarm is not behaving as expected as FM Audio
also plays with alarm on speaker.
-With headset,this case working fine.found the tester used
Headphone and the stream mute for FM is not handled in
setoutputdevice function in policy manager.
-Added the Check for headphone also in setoutputdevice
function and mute/unmute happens correctly now for FM
stream when alarm tone comes.

Change-Id: I9e82c3db5fab5c6ccade4f6ec7a49e4d05e0f772
CRs-Fixed: 292948
2011-09-19 19:16:37 -05:00
Naomi Luis
d74d663374 libgralloc-qsd8k: Fallback to ashmem in case of pmem failure
Add a fallback mechanism to allocate memory from ashmem if pmem
allocation fails.
Do not fallback in the following cases:
- MDP composition is being used.
- Client has explicitly requested that the memory be allocated from
pmem.
- Buffer will not be sent to the overlay.

Change-Id: Ic690af48f81914cb4c9a102cb386356797451141
2011-09-19 19:16:36 -05: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
ea1c22ccde liboverlay: Reset rotation information during updates
When updating the overlay source information, reset the rotation
information as this would be set during the setParameter call.
Also ensure that the HDMI doesn't have any orientation set.

Change-Id: I7a8ae96f27046deeed32f968061cc524d57cbfa3
2011-09-19 19:16:36 -05:00
Chetan Kalyan
a9181ba303 OverlayLib: Set format to non-tiled if rotated
Rotator outputs non-tiled formats. Hence, if there is rotation,
tiled format needs to be set to non-tiled and aligned properly.

Change-Id: I88335ad49c2f7446aa5fa71db80f6051c02bb5ff
CRs-fixed: 290428
2011-09-19 19:16:36 -05:00
Naomi Luis
3ae7f52726 libgralloc-qsd8k: Support for additional gralloc usage flags.
Add support for the GRALLOC_USAGE_EXTERNAL_DISP and the
GRALLOC_USAGE_PROTECTED usage bits. If any of the two usage bits are
set, we need to send the buffers to the overlay.
Since we send the buffers to the overlay, we need to allocate these
buffers from the PMEM region.

(cherry picked from commit 195345cd63f0e19cfee4cf055587d5fffe76d0ef)

Change-Id: I64116b9be07c8ddadbd5a132ef21b19e5326737b
2011-09-19 19:16:36 -05:00
Naomi Luis
7e2db6e3d0 liboverlay: Add YV12 support
Add support in the overlay for the YV12 color format.

(cherry picked from commit 0f9a27cc39b6d4202b54059bc7c64eea9efcf3f1)

Change-Id: I4b57eb383ca8f728243bd7e397696932e26c8889
2011-09-19 19:16:36 -05:00
Naomi Luis
49dbd79cf7 Add overlay_buffer_info structure to hold the buffer geometry
The overlay_buffer_info buffer geometry and size. When calling the
overlay from the gralloc or hardware composer, populate this structure
with the information from the gralloc handle.

(cherry picked from commit 128adc3b8177ef72f2bf21f4022d7ef06ed9281b)

Change-Id: I2f60f691ac01e67f150c753f168be754b14f94e6
2011-09-19 19:16:36 -05:00