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
The overlay_buffer_info buffer geometry and size. When calling the
overlay from the gralloc or hardware composer, populate this structure
with the information from the gralloc handle.
(cherry picked from commit 128adc3b8177ef72f2bf21f4022d7ef06ed9281b)
Change-Id: I2f60f691ac01e67f150c753f168be754b14f94e6
The FPS is stored in reserved[4] field of fb_var_screeninfo
structure. Read directly from this field.
CRs-fixed: 283750
(cherry picked from commit 0dec3f333db5b58c5ddd9c65fb7fd5c61cc5ef59)
Change-Id: I26632dc489ed8a95502b9071fed5b7527b33e54d
- 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
Add the state machine for overlay configuration. When connected,
check whether the TV on HDMI is 3D capable or not using the EDID
info. Show L channel on primary panel; and R channel on 2D TV if
non 3DTV is connected via HDMI, else switch TV to 3D mode.
Change-Id: I3109f8b0b81a8f5ad542db038262fd668e225e96
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
- The ioctl call from getOrientation is removed.
- In gralloc use getOrientation instead of storing the
orientation.
Change-Id: Idb08568ff5d46ce99e0a9a8c6f492b90bb666f0c
Whenever there is a change in the buffer geometry, set a flag in the
gralloc handle stating that the buffer geometry has changed.
In the HWC, whenever we encounter an update in the geometry, if the
channel is already open, we just call the necessary ioctls to update
the overlay information and not unnecessarily open/close channels.
Change-Id: I27db8fc497ebc514e262d6b7854739f312644714
The new perform api will update the width, height and
format of the buffer in the gralloc handle.
The GRALLOC_MODULE_PERFORM_DECIDE_PUSH_BUFFER_HANDLING perform
is not longer used in Honeycomb. Remove unused code.
CRs-fixed: 283849
Add the exported sanitized kernel headers to include path in C2D/
copybit, gralloc and overlay HAL libraries.
(cherry picked from commit a70f426e8695cc5bbf8a45b987b5715784f7e924)
Change-Id: I1dbb79a086e9cb062e1264c1c354ac5ce1a05f27
- Use rotator buffer for UI mirroring on HDMI
- Avoid ioctl calls on getPosition
CRs-fixed: 278858
Change-Id: Id390e2b85fe939d8388ed17f5f9c7fcd30499755
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
Call setPosition and setParameter for HDMI only when there is a
change in the rotation or position.
Change-Id: Id11b58408607c2f9799bb332c30d52f52957ec4e
For portrait mode: Actionsafe width depends on actionsafe
height, thus maintaining the aspect ratio.
User entered value for actionsafe width doesn't matter.
For landscape mode: Both, user entered actionsafe width
and height matter. Aspect ratio may change, in an attempt to fill
up the TV screen till the edges to avoid overscan/underscan.
Picks actionsafe rectangle as the final rectangle.
Change-Id: I4e16a2d57978d3443283e9311c2efdc6494f8a94
CRs-fixed: 271567
Fix position, aspect ratio of HDMI UI when the
primary panel type is MIPI, 8660 Panel or 7x30 Panel
Change-Id: I8e9824520317e3facb4ef25bc25dd9b1de60b4ce
CRs-fixed: 263690, 269433
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
Add support in the overlay to display 3D content on the HDMI.
The 3D input and out formats are passed along with the regular color format.
Change-Id: I4e0338e8b2c07eca0f211c50a17bf7d82c35279b
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
PRIV_FLAGS_NEEDS_FLUSH will trigger an ioctl call into the PMEM
driver in unlock(), so it makes not sense to set this flag for
non pmem buffers.
Change-Id: Ie1e077c10df86d3689b82fa6ce5d6c856fc95688
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