* Rely on list->outbuf rather on mVirtualonExtActive
to determine a virtual display device
* This helps in cases where SSD/SR is started after
a non-Hybrid WFD session becomes active. We need
to update retireFenceFd of SSD/SR which used to not
happen since mVirtualonExtActive is set becomes of
an active non-Hybrid WFD session
Change-Id: Ib42af62e723b5f62f62a1a8d280f0c9af49683d7
1. Hard code the vsync for VDS during the first prepare call
with valid VDS display. We align the vsync period to that
of the primary display. Effectively, we produce at the at
the primary refresh rate and do not worry about the consumer.
2. Do not bail out on the first frame as it leads to showing empty
buffer. This leads to failures for some test cases such as those
run in CTS.
3. We need an FB layer handle check to cater for this usecase:
i. Video is playing in landscape on Primary
ii. Launch ScreenRecord app
In this scenario, the first VDS draw call will have HWC
composition and VDS does not involve GPU to get eglSwapBuffer
to get valid fb handle.
Change-Id: Idc7d989e244a83ad28ce730ecb12955bc249dc25
When we receive a buffer handle that is secure, we configure WB as
secure; otherwise we continue as normal.
Change-Id: I497e257352c103c5da7ac2dc3fd4d7fe0e0b3953
* When a non-WFD virtual display device (SSD/
screenrecord) is active along with
non-hybrid WFD solution(WFD faked on
external), give preference to non-hybrid WFD
device over non-WFD virtual display device.
* This is needed only in cases when WFD is
enabled via v4l2 rather than using VDS api's.
Change-Id: I63e53baa214bdcdac19430ca30b939cdd7416cbb
Use outbuf handle width to configure display xres, since that would
have the necessary alignment. The outbuf is guaranteed to be valid
by the framework during hwc_prepare.
We use the framebuffer layer's display frame to obtain the actual
width. For example, the actual width could be 720 but the aligned
width would be 736.
Change-Id: I5afe38001be8116e1ad6a9f46c7ecaa50b5f25a2
In the current composition strategy we bail out if there are no app
layers present. However, this leads to undesirable behaviour if the
FB contains valid data that is expected as output. In this patch we
copy the FB to the output buffer to satisfy this use case.
Change-Id: If905d8b0652faf73b9aecad1abc760f21967807f
1. Define classes for VDS and V4L2 based WFD solutions.
2. Overload the functionalities for VDS and V4L2 WFD solutions.
3. Instantiate VDS object or V4L2 object during hwc init based on the
property persist.hwc.enable_vds set by the user.
4. VDS solution is not verified as it requires some dependent changes.
Change-Id: I74bf944d532da138c850d4ec0c20b4a881489efa