Android YUV formats are aligned to 16pixels, while C2D requires 32pixel
aligned. Use a temp buffer to do the conversion.
Change-Id: Iff93b56e152460255d480dc703dabbcdb3697995
Since composition bypass uses MDP overlays, which
need physically contiguous memory, we cannot use
bypass in cases where the buffers are using ashmem
or other virtual memory. Hence, avoid bypass in
such cases.
Change-Id: I5c6d20e68e15719295373a1b0f3b930536336c43
Add support to set the framebuffer width and height in the copybit
context. This parameter will be set for composition using c2d where
the c2d target is calculated based on the framebuffer width and height.
Change-Id: Ica0f7622bed305c0f56dd0a16b35406c28600fd8
Synchronize turning off of composition bypass with display,
so that close happens only after FB content is displayed.
This fixes blinks observed when bypass needs to be turned off,
for reasons other than video content.
Change-Id: Id98bddd0cb2a89ea8729a188934ae1cd947cf305
If the input parameters in the prepare and set functions are invalid, unlock
any previously locked buffers.
Change-Id: Ifd3b02c3ae6d2095970d5e15b98196d7fa7dee4e
CRs-fixed: 322054
Add HAL_PIXEL_FORMAT_NV12_ENCODEABLE which is the encoder specific
format.
Remove unused OEM formats from the gralloc.
Change-Id: I787203cd96b597c881f0acc10b60ea2ab2ffe1ab
Use genlock to lock the bypass buffers before they are queued to the
overlay. After all the bypass buffers are queued, use genlock to
unlock the previously locked bypass buffers.
Change-Id: Ifdd7921f0c9f5d5744c899a0257a4b954274334b
When queuing buffers using the overlay:
- Set the NO_WAIT flag for the HDMI channel.
- Set the WAIT flag for the primary channel.
- Queue the buffer on the HDMI first.
- Queue the buffer on the primary.
- Wait for the HDMI Vsync.
Change-Id: Id24e9551230b7a7134bd21a7b3a9e8658f7de222
For copybit composition, aquire a read lock on the buffer, before
the blit operation and release the lock after the blit operation.
For overlay, aquire a read lock on buffer N that is sent to the
overlay. After the play call for buffer N returns, unlock the lock
held by buffer (N-1).
Change-Id: I3ff178d8ed8e3a289c199237dbec501afdb7e717
Map the gralloc buffer during the register_buffer phase. This allows
the clients to obtain the virtual address without the need to call an
additional mmap.
Change-Id: I9377584ee564ad5113fd353b727793f16d7b9b94
Add support in the gralloc to:
- Create a lock during buffer allocation.
- Release a lock when the buffer is freed or unregistered.
- Attach a lock when the buffer is registered.
Change-Id: I788e411f43d5fcf88d7dcf39c530559a12d6361c
Add libgenlock which is a cross-process buffer locking API. libgenlock
provides the ability to create, attach, release locks. It also provides
a mechanism to lock and unlock buffers for read/write purposes.
Change-Id: I5172a82539b83bcb1226e3fd4f7b80a5c7f31016
1. Enable composition bypass for 1 or 2 non-overlapping layers.
2. Open bypass only if video playback status is CLOSED.
3. Close bypass immediately if Video or Camera needs VG pipe.
Change-Id: I1bef030b32ff2721d00b61f7717027d4d9219d04
This change enables c2d composition in HWC by removing the temporary
flag added in the following commit:
commit 7b814382ad
Change-Id: Ia6705c369090b14f3a00678c4e82078bd6e58847
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