47 Commits

Author SHA1 Message Date
Arun Kumar K.R
0d6b685501 hwcomposer: Make file changes
create separate lib for hwcexternal and ihwcservice

Change-Id: Ie55b9e98eaf62d4aa2cb9f422a75f8195bfd6060
2012-09-12 22:55:42 -05:00
Amara Venkata Mastan Manoj Kumar
62223703e1 hwcomposer: Handle MPQ WFD support
1. Code clean up to handle WFD feature

Change-Id: I36170c3424f9250dc39c2c249a757d508b2abdfa
2012-09-12 22:55:33 -05:00
Jeykumar Sankaran
7c5f26105a libhwcomposer: Support swap interval zero
Change-Id: I4732263c86bb28b4c7135bad9768b8690f7f60e0
2012-09-12 22:55:16 -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
Saurabh Shah
1be2fcd4f0 hwc: qbuf: Add API to unlock all
Add API to unlock all current and previous buffers.
This is essential in suspend cases.

CRs-fixed: 382332

(cherry picked from commit d24eb9e70480f89561108078f68cbbd9b20e4bb5)

Change-Id: I54fcded7cabc79d991d4b28a248867d860ec6b08
2012-09-12 22:52:42 -05:00
Andrew Sutherland
54cbb6f94f Revert "hwc: call eglSwapBuffers even when there is no list"
This reverts commit 7b060c9cab2553f39ff18b7bfad652146afecbdf.
*causes blank draws, revisit someday
2012-09-07 21:58:21 -05:00
Sravan Kumar D.V.N
857f8a5f0b display : Avoid calling eglGetRenderBufferANDROID for each layer
Currently eglGetRenderBufferANDROID is being called for each layer
which is not needed. This change calls this API once in set call,
and passes the 'render buffer' to drawLayerUsingCopybit.

Change-Id: I310163db02df13e8c03b51d73f291588fbf08160
2012-08-21 16:11:44 -05:00
Andrew Sutherland
7b060c9cab hwc: call eglSwapBuffers even when there is no list
Should fix crt-off animation

Change-Id: Ia38a35dcb16811337c80a3f7069d770e6eebb8a7
2012-08-21 16:11:17 -05:00
Steve Kondik
85ff2df3a5 display: Add option to disable hardware VSYNC
* Set TARGET_NO_HW_VSYNC to disable use of VSYNC

Change-Id: I9c48f89ba6d4a39baf7c149717b13c83c0b7f3eb

Conflicts:
	common.mk
	libhwcomposer/hwc.cpp
2012-08-12 00:10:39 -05:00
Andrew Sutherland
c8b3f3bce8 Merge remote-tracking branch 'caf/jb' into temp 2012-08-09 22:38:37 -05:00
Amara Venkata Mastan Manoj Kumar
211f9f4144 hwc_composer: Support of WFD Display.
1. WFD Event Detection.
    2. WFD/HDMI Priority Decision.
    3. Configure HWC for WFD Connect/Disconnect.

Change-Id: I1c1bbae449ce38d9b32e8e2bd66d14ae98468c49
2012-08-08 20:30:11 -06:00
Arun Kumar K.R
9813cf3bdc hwcomposer: Store device orientation in hwc context
Instead of determining the device orientation based on the
layer orientation, use the value which comes from the framework

CRs-fixed: 382796
Change-Id: I83e87534fbfc62740a411f1324b2c12e88434b41
2012-08-08 10:53:29 -07:00
Andrew Sutherland
8d111e9b7f Merge remote-tracking branch 'caf/jb' into jelly
Conflicts:
	common.mk

Change-Id: I512d7e14264192b716e0c5921b685e995853d4f6
2012-08-07 22:00:43 -05:00
Sravan Kumar D.V.N
c1e7e4861a display : Enable vsync for MDP3 targets
-Enable vsync for MDP3 targets
-With this change all targets except 8x55,
 have vsync enabled

Change-Id: Ic0856359a28c730948d7d74427f6802ed89cc1b1
2012-08-07 14:52:57 +05:30
Jeykumar Sankaran
7c86dfe139 libhwcomposer: Reset composition types on idle timeout.
SurfaceFlinger re-creates HWC worklist only for new frame and on
 layer geometry change. Invalidate triggered by idle timeout
 refreshes the existing worklist retaining its previous
 composition type. So its MDP comp's responsibility to clear
 layer composition types to HWC_FRAMEBUFFER on timeout.

Change-Id: Ibf11dd6c12c647c75d36d8cbad408c3ea70588bd
2012-08-04 13:15:23 -07:00
Linux Build Service Account
27157148fb Merge "hwc: video: Update destination x, y" into jb 2012-08-04 03:53:22 -07:00
Linux Build Service Account
bce9dcfb5a Merge "display: Fix warnings, make warnings as errors" into jb 2012-08-03 04:47:26 -07: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
Arun Kumar K.R
0b44443a34 hwcomposer: fix the bug in setting connected status to ext display
the hdmi driver can send change uevent anytime, in which case, the
connected state was getting set to 0, due to its default value.

Change-Id: I22dc96acda0272661750277d62c5c11c5156fb3b
2012-08-02 11:06:43 -07:00
Naseer Ahmed
31dcb41d25 display: Fix warnings, make warnings as errors
Change-Id: I61f22765b04112be48e62135db930c415c9c7d37
2012-08-02 04:48:08 -07:00
Saurabh Shah
549f3b19d7 hwc: video: Update destination x, y
Update destination x, y after an out-of-bounds video's bounds are recalculated
for crop and destination position.

Change-Id: I5419f7ae054f709111c39d79ec721686f474ae53
2012-08-01 19:35:50 -06: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
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
Neti Ravi Kumar
97d3484b12 libhwcomposer: Add C2D support to copybit
Change-Id: Icb1a010f8079bb3f2122d8520c87d60b757d73bd
2012-07-31 10:36:51 +05:30
Ethan Chen
fc740d06a4 display: disable hwcomposer logspam
Change-Id: I71e912218932c66852424c47d98c384ed21344c2
2012-07-30 13:36:10 -05:00
Andrew Sutherland
124b191c09 Revert "hwc_copybit: temp hack for working display"
This reverts commit c0e59806e62363b47ae5ad1b10ece4463b0180d7.
2012-07-29 22:01:48 -05: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
Naseer Ahmed
32dd0125d9 hwc: Disable HW vsync for some targets
7x27A, 8x25 and 8x55 do not support HW vsync yet.
This change checks for their MDP version and disables HW vsync
on them. This change should be reverted once hardware vsync is
available on these targets.

Change-Id: I0cb884f571346b3595169cb4b3c01bbdb7ecaaee
2012-07-27 08:23:50 -07:00
Naseer Ahmed
912842f62d display: Get panel type from framebuffer
Change-Id: I5dc16125bbb7d864dcb7106166e91b950a44d686
2012-07-27 08:23:40 -07:00
Jeykumar Sankaran
bd86fcfff6 display: Add support for MDP Composition
This change
   1) implements MDP Composition upto 3 layers
   2) adds invalidator support to fall back to FB
      composition during idle screen condition.

Change-Id: I8d724f905c943f986b68596e2548a7f5a8ce6588
2012-07-27 08:23:34 -07:00
Arun Kumar K.R
a72904b1dc hwc: enable vsync for external display
- wait for hdmi vsync when connected to hdmi
- add commit to call PANDISPLAY for updating ext display
- add functions to close fb and reset info

Change-Id: Icdd3620bd9d15240a88a26a3f1bf9c07d58d011b
2012-07-27 08:23:30 -07:00
Naseer Ahmed
9ccb3975c7 display: Enable vsync
* Use the vsync uevents from the kernel to start
surfaceflinger composition.
* This patch also does some code cleanup
    - Move copybit specific functions to copybit files.
    - Cleanup verbose logging.
Change-Id: I8ca3cd7a7ceb53655ed0fcf39ac2cb35e6cbe890
2012-07-27 08:23:23 -07:00
Andrew Sutherland
c0e59806e6 hwc_copybit: temp hack for working display
Change-Id: Ie564fa6876f860f70bb8d34b54b1fa8d6fcac05e
2012-07-24 23:13:21 -05:00
Andrew Sutherland
37f4aeb3c6 hwc_copybit: add back adsp heap usage
Change-Id: I0204a0a5181043097a00925b50386cf612d88f07
2012-07-24 23:13:14 -05:00
Sravan Kumar D.V.N
c80da70cbe display : Add support for copybit composition
This change add support for copybit composition in display HAL
for MDP3 targets.

Change-Id: I80144619f39a895d2f214adb6ca92d0a7f5ed9a5
2012-07-20 19:56:54 +05:30
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
Saurabh Shah
5704501325 hwc: Add VideoOverlay class
Add videoOverlay class for display videos with overlay.

Change-Id: I161d1732fdf8336d0b6dcf5326e6adb7514a2d02
2012-07-13 23:49:15 -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
6e75c3d61a display: Add QC Display utils
* Rename qcomui directory to qdutils
* Avoid inclusion of qcom_ui header
* Add class to get MDP version
* Add namespace for qdutils to prevent collison

Change-Id: Ib8b083ecfa071bbf9f72bfbfb8ecd6b202e87847
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