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
Fix possible leak of fd in ion allocation.
If mmap fails close the fd before returning.
Change-Id: Id414792c14a75259f6075b0d76bc470c31fb5853
CRs-fixed: 387633
* If a device doesn't support VSYNC, it probably doesn't support FB
metadata ioctl. Add an ifdef around it.
Change-Id: I1bf788147129f7b9d584e22b914f1c59d2ee133b
Fix to allocate buffer of size defined by the client using
NATIVE_WINDOW_SET_BUFFER_SIZE property function.
Change-Id: I29f3e7e85c2f8dd7c11149d78b2681e6478cef78
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)
Init allocSize hook function with alloc_size function
CRs-fixed: 379299
Change-Id: I514d47928f10b6c41404aa19d8b704f64327211b
Conflicts:
libgralloc/gpu.cpp
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
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
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
Add the missing GRALLOC_USAGE_PRIVATE_CP_BUFFER while allocating secure memory
Change the O_SYNC to O_DSYNC flag.
Change-Id: Ida014018be111a7904ff07c206a673b2abf52d05
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
* 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
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
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
- 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