- Introduce cbutils for copybit utilities
- Don't use qcomuiclearregion if GPU is used
- Check for qcom composition types updating FB
- Dont show YUV information to copybit
- Fallback to GPU in the presence of SKIP layers
This change adds support in qdutils to check for FB
updating composition type.
Change-Id: I200d3798a27836a51f4b2e6c79cdd9d8b155fad8
* SF will disable HWC before showing the electron beam animation. Close
the overlay so that the GPU can be used.
Change-Id: I25bb3ed5cd9a5d80a590af4f94f2d0b903e98352
Wait for fb_post, PAN only if target has overlay.
(cherry picked from commit c6e9a0aae817e75b4b5e20ef23edd02a0a627ccd)
Change-Id: I9696c122b3ce5abed2ae2adb9e5929d3664b3add
Swap buffers and UI mirroring must be done even on NULL lists
which are composed by SurfaceFlinger.
Change-Id: I6c840e3dd02dfa447c10bf3f4798114fc74536ee
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
Unlock previously locked overlay buferrs in N+1th draw round, rather than N+2th.
This is now possible because of wait for PAN.
Provides an opportunity to improve genlock behavior and makes it more ICS like.
(cherry picked from commit b3a4cd7944397565388b4e940fb41d2af8882687)
Change-Id: I48f937b77d59b31f3bf04c5a2eb35500bd5d76d6
- There is a race condition window between initializing hwcomposer as a
whole and registering callback functions for when the uevents arrive. We
can fix this issue by delaying the uevent thread kick off until the
callback functions are registered.
- Add thread name to uevent thread
Change-Id: I30e23b411b92b6578f186b641f562462a8f23179
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)
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
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
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
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
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
- 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
* 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
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
- 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