Add the copybit header file in the libcopybit directory. Modify the
copybit source files to read from the correct header file.
Change-Id: I8d2f6758c7d1fbbb6ffc513d899b62b3c0013f5e
-- Enable HWC
-- handle overlay as lib rather than HAL
-- move copybit changes under COPYBIT_ENABLE flag (temporary)
Change-Id: I36d8f9688cd7cbd838e288e5f482d8ee5c9b2df6
Android uses different alignments for YV12 buffers.
Hence, introduce a new format (MDP_Y_CR_CB_GH2V2) for
such buffers.
Change-Id: I50ba8baf2696252fce513e455d94bfde460b0e51
CRs-fixed: 302752
When the source for rotator is the
framebuffer, the FB flag needs to be set
to identify the type of memory to be used.
Change-Id: I4fc6112832ad42eb7092be5243653b9baf8a241a
Allow 1 or 2 non overlapping layers to use composition bypass.
This is an enhancement to the previous approach which uses
bypass strictly for 2 layers.
Change-Id: I879903db44cb1fddbe3e428ffa77eb67e95e0886
Close overlay channels in the next HWC set phase. This allows the
framebuffer to be composed prior to the closing of channels.
CRs-fixed: 305070
Change-Id: I8719381136c20c0febbd4f7bf5b935b92f6508ec
When composing UI along with video, enable the overlay NOWAIT option.
If there is no UI during overlay playback, use the WAIT flag.
Change-Id: Idc538e4412c790fc295a3aff1d1f23a6e4767fce
Update the overlay when we have a channel up. Previously, we did updates
only when the width and height changed. Now, we always update the overlay
when the channel is open, and not close the channel to update parameters
such as orientation change, flags etc.
Change-Id: I0b2ef8b19bd860d5361c391e040ff497f1023ae3
The overlay hardware requires the values to be even. Calculate the ROI
to ensure that the crop rectangle is correct after making the
parameters even.
CRs-fixed: 302916
Change-Id: I7316a65efe2b72c5392a3d2adbb95070662dced9
Bypass composition if we have 2 visible layers. However, this feature
is not used if:
1) Video playback is on
2) Rotation involved
3) App launch animation
4) HDMI connected
Set property debug.compbypass.enable=1 in build.prop
to enable this feature.
Change-Id: I4c0fa2aa1999c06c51f2b9a58641203316896e53
Since fb_post and dequeueBuffer may be called
from different threads, it might happen
that both wait for available buffer causig
both threads to go in sleep. To solve this
problem we add lockBuffer implementation
and remove waits from fb_post and dequeueBuffer.
This will also be consistent with native window
implementation.
Change-Id: Id5e6e2feac5153156fabd9266b0c1cd5a5681514
Replace QCOM_TARGET_PRODUCT usage with make functions provided by
build/core/utils.mk to build conditionally for qcom chipsets
Change-Id: I98e2341f46a59de597e8a9ed757d9c6b88bae588
CRs-Fixed: 298335
Replace QCOM_TARGET_PRODUCT usage with make functions provided by
build/core/utils.mk to build conditionally for qcom chipsets
Change-Id: I98e2341f46a59de597e8a9ed757d9c6b88bae588
CRs-Fixed: 298335
Detect and use 3D panel for 3D content. Use the virtual framebuffer
for 3D panel. Set position for overlay channels accordingly. Use
3D ioctl for line interleaving.
Add state machine for Overlay.
Change-Id: I28dc7ed99aed7ca2c53c93722c44279d9c7de9fc
Conflicts:
liboverlay/overlayLib.cpp
In case of failure, print out the values of the failed
overlay structure, to allow easy debugging.
Change-Id: I3e480b8eecc66b54f357b29d02064a751c9ebbfa
prepareOverlay will setup the channels for video playback, so
inform gralloc to close UI channels before they are setup.
Change-Id: I757a8fd79661eb66ccbe2ac1475e48740bbf1733
CRs-fixed: 298102
The source buffers, width/height is aligned. Use
aligned width/height for the source buffer.
CRs-fixed: 285831
Change-Id: I4c367a03fea833674e03fcab5a38217f9f8c5e05
In setPosition, make an ioctl call only when there is a change
in the destination values.
CRs-fixed: 296400
Change-Id: I9b059e226bf6f6cfd04fb563ac765e2583415157