Add a fallback mechanism to allocate memory from ashmem if pmem
allocation fails.
Do not fallback in the following cases:
- MDP composition is being used.
- Client has explicitly requested that the memory be allocated from
pmem.
- Buffer will not be sent to the overlay.
Change-Id: Ic690af48f81914cb4c9a102cb386356797451141
Add support for the GRALLOC_USAGE_EXTERNAL_DISP and the
GRALLOC_USAGE_PROTECTED usage bits. If any of the two usage bits are
set, we need to send the buffers to the overlay.
Since we send the buffers to the overlay, we need to allocate these
buffers from the PMEM region.
(cherry picked from commit 195345cd63f0e19cfee4cf055587d5fffe76d0ef)
Change-Id: I64116b9be07c8ddadbd5a132ef21b19e5326737b
Add support in the overlay for the YV12 color format.
(cherry picked from commit 0f9a27cc39b6d4202b54059bc7c64eea9efcf3f1)
Change-Id: I4b57eb383ca8f728243bd7e397696932e26c8889
- Remove unused GRALLOC_USAGE_PRIVATE_PMEM flag. This flag is no
longer used.
- Flush ashmem region cache instead of Invalidating it.
(cherry picked from commit 12254ff74f5a97dcf5ded90f53e9d6fd0fa47b9c)
Change-Id: I92e4dcd8c89eb9ae0c0484f039d152b7bbb28bbe
Removing submapping for buffers allocated by the PmemKernelAllocator
This can be done since the restriction on multiple master maps has
been removed from the kernel
Change-Id: Iabe9cdfaa121bbffbfaf6503e037afebf5ac8455
Allocate buffer sizes that are multiples of 4K for the NV21, NV12 and
YV12 formats.
Change-Id: I3febaef9dda2586ef3b35945f30f655e07f5e369
CRs-fixed: 287882
- Stagefright no longer sends the OMX Formats to the gralloc, remove
unnecessary code from the function.
- Add support for the YV12 format in getGrallocInformationFromFormat
Change-Id: Id21baf8890f07ef8fb8a32d3b0d218540005f469
Add support in the gralloc to specify the desired buffer size during
buffer allocation. This is done via a new function in the gralloc(allocSize).
If the specified size is lesser that the calculated size,
set the buffer size to the calculated size.
Change-Id: Iad9609d3b9074dcf3af07430966590078081ab72
Buffers allocated from the adsp or smipool regions have a masterFd associated with each buffer.
Make sure both the fds are closed when the buffers are freed to avoid memory leaks.
Change-Id: I7dd194bae9ebfffb5e8c1ed647bff6210409a731
Add support for Side-by-Side full, Side-By-Side-half formats in the overlay.
The Side by Side half formats could either be in Left-Right or Right-Left mode.
Change-Id: Ie1f0ccb5b1a8254f7256aafdd3f0ce9a3faa0df4
This commit contains the following changes in the gralloc:
- Add buffertype in the gralloc handle i.e video buffer or UI buffer
- Add support for allocating memory from the /dev/pmem_smipool
- Add support for obtaining the buffer type and the HAL formats from the
input format which could be an OMX format.
- Add buffer type, format, width and height in the gralloc handle
Change-Id: Ie801cfcf5cea9c4b718b75e88abf71be6b087de7
Update the gralloc HAL to match commit:
commit 4d3c9ca6fabf2b0111ef6b567df7d244e124b9c2
Author: Arun Kumar K.R <akkr@codeaurora.org>
Date: Fri Dec 17 13:14:58 2010 -0800
libgralloc-qsd8k: Add support for non-aligned width on HDMI
While creating overlay channel for HDMI consider the aligned
width and set the crop rectangle to the actual width and height.
Change-Id: I8858d71bb10b2be4c57edb605b5da680f53051dc
this wouldn't make sense, since the h/w wouldn't be able
to use the buffer. in this case it it better to fail to
let the caller a change to try again with different usage bits.
Change-Id: Ibecaf069b6b58ee9c026affc95a45512660d5881
The purpose of this change is to add support for allocating gralloc buffers
from either /dev/pmem or /dev/pmem_adsp depending on the usage flags. It does
this by factoring out and abstracting the interactions with the pmem device.
For /dev/pmem allocations, the kernel allocator is not used, so a single master
fd is opened, and all the allocations are sub-allocated from that by gralloc.
For /dev/pmem_adsp the kernel allocator is used, so it simply opens a new fd
for each allocation.
A very basic unit test that can be run on the host is included. It requires
gtest, so to run it on a host system gtest must (currently) be compiled with
BUILD_WITH_ASTL=true.
Change-Id: If2ae0151698fad8107e18e808a3fa012a846263f