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
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
Camera client doesn't factor in the 90-rotated source when setting the flip
Switch the flips when the source is 90-rotated.
Change-Id: I16b81ca2c146f9b4c20908674f89d0a2e9808681
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
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
If the device's kernel isn't fully prepared for secure content
playback, having the secure field in the msm_rotator_img_info
struct will cause issues while playing out video.
The correct set of patches to the kernel (MDP, maybe vidc) needs
to be figured out for this to be enabled; to disable it,
add QCOM_NO_SECURE_PLAYBACK to the device's CFLAGS. (and remove
"secure" from msm_rotator_img_info)
Change-Id: Ib1d265133e66ae456c59a9f78b052a01cbd00116
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
Update destination x, y after an out-of-bounds video's bounds are recalculated
for crop and destination position.
Change-Id: I5419f7ae054f709111c39d79ec721686f474ae53
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
Update format translation from HAL to MDP.
Add support for RGB_888, YCbCr_444_SP, YCrCb_444_SP formats.
Change-Id: I6323cd07bfe74c7cc60bf2b59dd81e2ae8a2ce27
If the device's kernel isn't fully prepared for secure content
playback, having the secure field in the msm_rotator_img_info
struct will cause issues while playing out video.
The correct set of patches to the kernel (MDP, maybe vidc) needs
to be figured out for this to be enabled; to disable it,
add QCOM_NO_SECURE_PLAYBACK to the device's CFLAGS. (and remove
"secure" from msm_rotator_img_info)
Change-Id: I7949e918163e0acb2d6eb3d8881b04fb07b2be2c
- IOMMU heap is not available for all targets. we should
have a fallback heap always as IOMMU can be disabled.
Change-Id: I7e987ac69ba5e5fdd6228b50930e064a4420a472
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
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
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