- 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
Secure content can not be displayed unless in an overlay. Since
getLayerStats marks all layers under the skip layer for framebuffer
composition, when there is a skip layer on top of protected content,
the protected content disappears since surfaceflinger doesn't draw
protected layers.
Change-Id: I59dd5dffad08dbf578baa459f5f4c726b6674c83
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
- 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 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
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
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
* 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
* 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