Commit Graph

43 Commits

Author SHA1 Message Date
Naomi Luis
7181de24ab hardware/qcom/display: Remove glfinish call
There is no need to do a glFinish on every composition complete.
glFinish needs to be called for composition cycles where GPU and
copybit are both used for composition. This is because the GPU and
copybit operate on the same framebuffer.

(cherry picked from commit 7983c275ae3eb15fab931d301e6338f83ad4a75a)

Change-Id: If06da4ca60ec17122c3dd698558cbf08fec73251
2012-10-14 15:47:48 -07:00
Prabhanjan Kandula
e09a5d04db libgralloc: Fix possible leak of fd
Fix possible leak of fd in ion allocation.
If mmap fails close the fd before returning.

Change-Id: Id414792c14a75259f6075b0d76bc470c31fb5853
CRs-fixed: 387633
2012-10-06 00:49:06 -05:00
Prashant Surana
0dbb7ae83c libgralloc: Add RGB_888 format as BUFFER_TYPE_VIDEO
GPU cannothandle RGB 888 format hence mark it is video.
This is required for MPQ.

Change-Id: I52b0e8c20af00a901ce3fc07cfb56d862f00caa9
2012-10-06 00:42:09 -05:00
Steve Kondik
40a95bd726 gralloc: Don't use FB metadata on gimpy targets
* If a device doesn't support VSYNC, it probably doesn't support FB
   metadata ioctl. Add an ifdef around it.

Change-Id: I1bf788147129f7b9d584e22b914f1c59d2ee133b
2012-10-06 00:41:59 -05:00
Jeykumar Sankaran
ce1f0fe1c0 libgralloc: Set alpha mode for MDP base pipe.
This change configures default alpha mode for MDP base pipe
during intialization.

Change-Id: Ibbc7185c4c57979584a5ce66bd4eef8e521165b5
2012-10-06 00:41:49 -05:00
andrew.boren
29808884a9 qcom/display: Fix ion header.
Change-Id: I4a7759c2bf52433565c8501c22627794fb9c45a1
2012-09-30 00:45:38 -07:00
Ramkumar Radhakrishnan
9445335019 libgralloc: Allocate buffer Fix.
Fix to allocate buffer of size defined by the client using
NATIVE_WINDOW_SET_BUFFER_SIZE property function.

Change-Id: I29f3e7e85c2f8dd7c11149d78b2681e6478cef78
2012-09-12 23:08:07 -05:00
Ramakant Singh
06d4f5be44 libqdutils::Replace USE_MDP3 with getMDPVersion() method
Change-Id: Id602c8ab8d8ba140a379ba0e475c73806d17b527
2012-09-12 23:04:06 -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
36de7a412e libgralloc: Add support to custom buffer sizes.
Init allocSize hook function with alloc_size function

CRs-fixed: 379299
Change-Id: I514d47928f10b6c41404aa19d8b704f64327211b

Conflicts:
	libgralloc/gpu.cpp
2012-09-12 22:57:23 -05:00
Harshad Bhutada
2a44da70d2 framebuffer: unlock previous buffer after current buffer submitted
Change-Id: Ib2a44966d1484b4f4e2239d8a706dc55b5beaaeb
2012-08-19 05:23:08 +02: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
Arun Kumar K.R
2d0ecf80e6 libgralloc: include kernel headers
Change-Id: If0a4983b7344e1ca58b316e0cb0cc964d1235946
2012-08-04 13:10:55 -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
Naseer Ahmed
31dcb41d25 display: Fix warnings, make warnings as errors
Change-Id: I61f22765b04112be48e62135db930c415c9c7d37
2012-08-02 04:48:08 -07: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
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
Andrew Sutherland
0f24916293 display: fixup ion ifdef again
switch back to TARGET_USES_ION (to be more inline with cm and a frameworks
change forces it to be defined anyway)

Change-Id: Ibc90a8ab0f7ff3477e149ee69489686f94476fec
2012-07-24 12:21:50 -05:00
Andrew Sutherland
a91c998940 Merge remote-tracking branch 'caf/jb' into jb
Conflicts:
	libcopybit/Android.mk
	libgralloc/Android.mk
	libgralloc/framebuffer.cpp

Change-Id: I61d48a930d840a5edd659527cc2ebbe3ff84ee3b
2012-07-24 12:18:55 -05:00
Naseer Ahmed
c0872eecdd framebuffer: Fix locking
The gralloc locking did not lock
the framebuffer. Use genlock to
lock the framebuffers.

Change-Id: Ie8be6f7950f6df06a2293c3df863e19cd5386479
2012-07-23 18:58:39 -05:00
Ricardo Cerqueira
f08c954f02 Allow compatibility with ICS EGL for OMX
The new headers define the qcom video buffer format
(HAL_PIXEL_FORMAT_YCbCr_420_SP_TILED) as 0x7FA30C03, ICS used 0x108.

Trying to play a video with the ICS Adreno driver results in
it rejecting the buffers because 2141391875 (0x7FA30C03) is an
unknown buffer format, so use the QCOM_ICS_COMPAT CFLAG to
fallback to the older enum.

Do NOT use this with JB Adreno blobs.

Change-Id: I2bd05c681718e916bd91311a4c9e503545f2e1bc
2012-07-22 00:34:51 -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
Linux Build Service Account
8352773d2d Merge "gralloc: Update Yamato format to match OMX" into jb 2012-07-19 11:54:44 -07:00
Arvind Thatikonda
1a4d01fb6a gralloc: Update Yamato format to match OMX
The value of OMX color format for Yamato  is 0x7FA30C01.

Change-Id: Idb25ce6cd619a44e5980074e2a37185a4750000d
2012-07-19 08:36:56 +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
Andrew Sutherland
32393536ca pmem: stop the log spam
Change-Id: I77a6bb587113326fa0224d058df0edcbcaf61886
2012-07-16 20:47:52 -05:00
Naseer Ahmed
35a18b165b framebuffer: Fix locking
The gralloc locking did not lock
the framebuffer. Use genlock to
lock the framebuffers.

Change-Id: Ie8be6f7950f6df06a2293c3df863e19cd5386479
2012-07-13 23:49:15 -07:00
Naseer Ahmed
d544ba6489 display: Fix copyrights
These copyrights were removed in an earlier
patch by error

Change-Id: I5a8e5c058cf914f63bbde9c78b56039ac6a5757c
2012-07-13 18:23:38 -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
Andrew Sutherland
bcc7c1c42f libgralloc: bring back pmem support
pmem is now legacy. ion is default, override with TARGET_USES_PMEM:=true

Change-Id: I05c95647838eb1613ddf80a9f672c2b93dc035f8
2012-07-13 03:19:21 -05:00
Naseer Ahmed
3a04c7acf5 gralloc: Fix msm_ion include
Change-Id: Ibbd93a14fca7c13f71ff2bb74a5ce14bd24cbe9c
2012-07-12 17:24:05 -05:00
Naseer Ahmed
880a5c8bb1 display: Enable triple framebuffers
Change-Id: I323c10b939277477f724c2d0a20f9c6da4899481
2012-07-12 17:24:05 -05:00
Linux Build Service Account
6f012b4384 Merge "gralloc: Fix msm_ion include" into jb 2012-07-11 21:34:15 -07:00
Naseer Ahmed
ea6a07b099 gralloc: Fix msm_ion include
Change-Id: Ibbd93a14fca7c13f71ff2bb74a5ce14bd24cbe9c
2012-07-10 12:25:04 -07:00
Naseer Ahmed
8a47ca6142 display: Enable triple framebuffers
Change-Id: I323c10b939277477f724c2d0a20f9c6da4899481
2012-07-10 12:11:20 -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
f3095241bc display: Use single thread for FB post
To support swapinterval zero a separate thread
was added to do the framebuffer post. Since we
are going to support the WAITFORVSYNC ioctl in HWC,
we can handle the zero swapinterval case there.

Change-Id: I39f960825ca4173f99a9895e0c132b70a7adccab
2012-07-10 02:03:46 -06:00
Naseer Ahmed
8126b77c3a gralloc: Update YUV420 SP tiled format to match OMX
The value od OMX color format for YUV 420 SP tiled is 0x7FA30C03.
Add this format and also remove masking for interlaced videos
and S3D which were causing the format to be masked incorrectly

Change-Id: I76fe5e6e00a36130b065c5d88a8f52eebcfa162b
2012-07-10 02:03:45 -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