Commit Graph

34 Commits

Author SHA1 Message Date
Saurabh Shah
fe67379a7f overlay: mdprot: Call rotator start only on config change.
Call ROTATOR_START ioctl only if the rotator config changes.
Save the last good config when the start succeeds.

Make getSessId()'s return type uint32_t to match the member's.

Change-Id: I5ca048ea866316f18d8df14dc08218fca2c82bdf
2012-10-14 15:47:48 -07:00
Ricardo Cerqueira
ad7f1aa0d3 liboverlay: Make sure the crop rectangles' dimensions are even
Even out the values for both dimensions and position on both src
and destination rects.
This fixes both over and underrun issues, especially with HD panels

Change-Id: I781792d69cad83f76c3c0a45a5179a731661c3cf
2012-10-06 00:41:06 -05:00
Andrew Sutherland
8ae3baa1c1 revert 4d8c72e... hwc: Enable MDP_BACKEND_COMPOSITION
Change-Id: I2b3b91b17b5b47a2771e4cc5b9e349326203d29e
2012-09-13 00:03:16 -05:00
Amara Venkata Mastan Manoj Kumar
da0c6f2126 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: Id4d58dd77f22c9efb8ece9caa34a8717964bf58d
2012-09-12 23:09:51 -05:00
Arun Kumar K.R
6f560322d7 display: Add support for video rotation on Ext display
- sourceTransform in the hwc_layer_t has the source buffer transform,
  use this transform for external display.
- This helps in showing videos with source orientation properly on the
  external display

CRs-fixed: 387357
Change-Id: I2ac7e5481a27b93d10ba3fc1ad2e4a8788dc20a5
(cherry picked from commit a51a41188d34db49528edadadbf9ddbc052e772d)
2012-09-12 23:09:28 -05:00
Steve Kondik
e7e5ddbba9 hwc: Set premultiplied alpha flag appropriately
Change-Id: I516dc5c6d3bb4f02c98b4add5e818ae88d08eba4
2012-09-12 23:08:31 -05:00
Saurabh Shah
82a40187e0 overlay: Remove OVASSERT from getFormatString utility
Remove OVASSERT from getFormatString utility. OVASSERTS should happen only from
critically wrong states of overlay.
Just failing in this utility method would allow a fall back to GPU.

Change-Id: I4467a750574ee90aee4fa2e0fbb041e7f386a63b
2012-09-12 23:08:14 -05:00
Prashant Surana
cc5cb1781c Add support for PIP, picture in picture feature
Add a new state and required implementation in new overlay to support playback
of two videos using overlay.
Add a new class VideoPIP to handle the pip feature.

Change-Id: Ibce7044bc1216cba77bd952e191aed5472ed6737
2012-09-12 23:07:49 -05:00
Steve Kondik
4d8c72e306 hwc: Enable MDP_BACKEND_COMPOSITION
* Add MDP_BACKEND_COMPOSITION flag to resolve flicker

Change-Id: I3dfa680e0c74ccbac69f40dc15e014153ce0b530
2012-09-12 23:07:14 -05:00
Saurabh Shah
4796f2588d liboverlay: Adjust values to align with MDP requirement
For YUV only:
Crop rectangle (src_rect) needs to be even for x/y and w/h
Destination dst_rect w/h need to be even (x/y can be odd).

Change-Id: Ib0c1b7d31773e71d60f080b4beacaa68e32a990e
2012-09-12 23:05:40 -05:00
Arun Kumar K.R
cc18cfed4c hwc/fb/overlay: wait for fbpost and pan display
Draw sequence in hwc_set
--eglSwapBuffers
--wait for fb_post. Its ok to draw to External only at this point.
--draw to external   | Parallel with PAN
--commit to external | Parallel with PAN
--wait for pan (happening in fb_post) to finish.

Call MSMFB_OVERLAY_SET ioctl only when params change.

These thing together ensure a correct sequence and should fix tearing and
stuttering, the latter assuming there are no other display pipeline delays.

Change-Id: Ibb0ad8485fa6b30dc6ac07ae8b25a760941c08ce
(cherry picked from commit c50c90863e41e31ecfe6963396b5def35e9dca34)
2012-09-12 22:58:18 -05:00
Ramkumar Radhakrishnan
060e7797ed display: Add binder interface between hwcservice and its clients.
Add hwc_service.cpp and ihwc.cpp file to enable direct communication
to hwcomposer by the clients to set hwc system wide properties.

Create hwcomposer service singleton object in hwc_context_t structure.

Change-Id: I0d0879475951a618a453a23ee254ea651e8c6b88
2012-09-12 22:55:04 -05:00
Kinjal Bhavsar
384a5b2709 Overlay: Switch the flip for MDP, on 90 rotated source
Camera client doesn't factor in the 90-rotated source when setting the flip
Switch the flips when the source is 90-rotated.

Change-Id: I16b81ca2c146f9b4c20908674f89d0a2e9808681
2012-08-19 05:23:50 +02:00
Ricardo Cerqueira
9fbe261265 overlay: Allow disabling secure playback
If the device's kernel isn't fully prepared for secure content
playback, having the secure field in the msm_rotator_img_info
struct will cause issues while playing out video.

The correct set of patches to the kernel (MDP, maybe vidc) needs
to be figured out for this to be enabled; to disable it,
add QCOM_NO_SECURE_PLAYBACK to the device's CFLAGS. (and remove
"secure" from msm_rotator_img_info)

Change-Id: Ib1d265133e66ae456c59a9f78b052a01cbd00116
2012-08-02 23:22:49 -05:00
Andrew Sutherland
e25f40c946 bring back pmem/ashmem allocators
o removed RefBase usages
o ifdef for TARGET_USES_ION

Change-Id: Ief331f4c847b86be0e37d24983097af1f53234a2
2012-08-02 23:16:45 -05:00
Andrew Sutherland
87f0aec7e0 git checkout caf/jb . (starting over)
per be02ab0... display: Clean up gralloc

Change-Id: I3857046362703bacf3c4c1bcad831bfaa92387e7
2012-08-02 23:16:08 -05:00
Andrew Sutherland
1ccdbea036 Merge remote-tracking branch 'caf/jb' into jelly
Conflicts:
	common.mk
	libgralloc/alloc_controller.cpp
	libgralloc/pmem_bestfit_alloc.cpp
	libgralloc/pmemalloc.cpp
	libhwcomposer/hwc_external.cpp
	libqdutils/mdp_version.cpp

Change-Id: I1a0182faeb5e3c10153a5236434b55ff78b0eada
2012-08-02 23:02:46 -05:00
Naseer Ahmed
be02ab0d74 display: Clean up gralloc
* Remove pmem and ashmem implementations
* Remove usage of RefBase
* Reduce log verbosity

Change-Id: If8ef543d236e5305bd5430f4f9c62c51b3a13787
2012-07-31 22:18:18 -06:00
Linux Build Service Account
6ad0635c7a Merge "liboverlay: Update format translation." into jb 2012-07-31 20:47:24 -07:00
Saurabh Shah
a710720dbd liboverlay: Remove waitForVsync, getOvPipeType APIs
Remove waitForVsync support.
Vsync will be done explicitly by clients outside of overlay.

Remove support for the unused getOvPipeType API.
Remove redundant state checks in class Overlay

Change-Id: I34f00e1334bbd9fad130bdefeaf0426ebbd638a1
2012-07-31 14:09:33 -07:00
Saurabh Shah
f08d84f218 liboverlay: Update format translation.
Update format translation from HAL to MDP.
Add support for RGB_888, YCbCr_444_SP, YCrCb_444_SP formats.

Change-Id: I6323cd07bfe74c7cc60bf2b59dd81e2ae8a2ce27
2012-07-30 13:56:28 -07:00
Ricardo Cerqueira
92b683627a overlay: Allow disabling secure playback
If the device's kernel isn't fully prepared for secure content
playback, having the secure field in the msm_rotator_img_info
struct will cause issues while playing out video.

The correct set of patches to the kernel (MDP, maybe vidc) needs
to be figured out for this to be enabled; to disable it,
add QCOM_NO_SECURE_PLAYBACK to the device's CFLAGS. (and remove
"secure" from msm_rotator_img_info)

Change-Id: I7949e918163e0acb2d6eb3d8881b04fb07b2be2c
2012-07-29 23:35:28 -05:00
Prabhanjan Kandula
8d90904f86 HDMI: Fallback to MM heap.
- IOMMU heap is not available for all targets. we should
  have a fallback heap always as IOMMU can be disabled.

Change-Id: I7e987ac69ba5e5fdd6228b50930e064a4420a472
2012-07-27 08:24:30 -07:00
Saurabh Shah
bf3c454efe hwc: Add support for external-only layers
Add support for different types of external-only layers
EXTERNAL_ONLY: General purpose
EXTERNAL_BLOCK: Blocks the display of other ext-only layers
EXTERNAL_CC: Used for closed captions with videos.

Change-Id: I7cb531a55a2f0015e3a51673faf08941bcea1923
2012-07-27 08:24:25 -07:00
Saurabh Shah
446b936947 overlay: Refactor State Transitions.
Refactor transitions by templatizing to have default behavior for most cases
and full specializations for specific cases.
Partial specialization of functions is not allowed, so create templatized
intermediate functions for those use cases.
For ex: if we have 8 states, we don't need 8x8 transition handlers.

Add and define OV_DUAL_DISPLAY state.
Add a GenericPipe for subtitles to OV_2D_VIDEO_ON_PANEL_TV state.
Add a 2D_VIDEO_ON_TV state and its transitions.

Change-Id: I53b017b9a41db5894c263ccb446b7ec8875ef3aa
2012-07-27 08:24:19 -07:00
Saurabh Shah
421b3b9bf1 overlay: Secure playback add missing flag.
Add the missing GRALLOC_USAGE_PRIVATE_CP_BUFFER while allocating secure memory
Change the O_SYNC to O_DSYNC flag.

Change-Id: Ida014018be111a7904ff07c206a673b2abf52d05
2012-07-19 18:39:47 -07:00
Arun Kumar K.R
59d5b624c6 hwcomposer: Add support for UI mirroring
- Uevent observer as part of Hwcomposer
- HPD, enabling/disabling external display from HWC

Change-Id: I52b4f30c78e98c5b52c86722046389f458c2dbee
2012-07-18 11:09:16 -07:00
Saurabh Shah
399667e7c4 overlay: upgrade
p#1: Remove WAIT and CHANNEL enums and usage. Replace BypassPipe with
     GenericPipe. Client expected to set alignments and parameters.
     Add transform combination enums.
p#2: Allow APIs to be called in any order. Do transform calcs in commit.
     Move ext type setter and getter functions.
p#3: Add calculations for 180 transform.
p#4: Add secure session support in rotator
p#5: Implement all rotations in terms of H flip, V flip and 90 rotation.

Change-Id: I34a9a2a0f1255b3467a0abbaa254d0b584e901ce
2012-07-17 17:49:01 -07:00
Linux Build Service Account
ac01712091 Merge "liboverlay: Refactor, bug-fixes, upgrade." into jb 2012-07-13 22:40:58 -07:00
Naseer Ahmed
ee72cb0233 display: Clean up makefiles
* Move common includes and shared libraries to
a common location

* Clean up Makefile copyrights

Change-Id: I0427f0f98b4c039a691be0ef6f3deead2b4bfa02
2012-07-13 06:18:40 -07:00
Saurabh Shah
dca07219a9 liboverlay: Refactor, bug-fixes, upgrade.
Fix memory leak during copying pipe objects.
Remove unused / unnecessary code.
setMemoryId API is merged with queueBuffer.
setParameter API is setTransform now.
Rotator upgraded to:
--Allow different rotator hardware types.
--Remove dependency on MDP code.
--Allocate memory only during first playback, close when the associated pipe is
closed.
Have single commit implementation.
Include new format types.

Change-Id: I28d87179c7ec9c0b97721a9ff17f1526da98b714
2012-07-12 15:22:56 -07:00
Naseer Ahmed
889608843a liboverlay: Fix format masking
The format was masked earlier for interlaced
videos and 3D content. Remove this masking

Change-Id: Ia167ef5ca6405fcb430f7e1ae453092de3597c4a
2012-07-10 02:03:46 -06:00
Naseer Ahmed
7341799797 qcom/display: Update HALs
- Update the display HAL from Code Aurora Forum
- Add updated overlay library
- Enable HWC with basic video going through overlay
- Cleanup some files

Change-Id: Ia53650759d4fe99bde395b7b4e8e02e6e65845e0
2012-07-10 02:03:45 -06:00
Gohulan Balachandran
a6f47452bd initial GL libraries for msm8960
Change-Id: Ic44834c421f32529da2ab73962246f6e25aa3117
Signed-off-by: Gohulan Balachandran <gohulanb@codeaurora.org>
2012-07-10 02:03:26 -06:00