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
make sure to reject incompatible buffers in special function
GRALLOC_MODULE_PERFORM_CREATE_HANDLE_FROM_BUFFER
we use ioctl(PMEM_GET_SIZE) to validate that the given buffer is indeed
a pmem buffer.
Merge commit '57d3b3680a6d37ffe04e1f24be25b4907bcbaa20'
* commit '57d3b3680a6d37ffe04e1f24be25b4907bcbaa20':
gralloc-qsd8k: make sure that we never try to allocatio 0 bytes
Merge commit '6a6befc0430820ab5d837694f1b71b63c34f8b14' into eclair-mr2-plus-aosp
* commit '6a6befc0430820ab5d837694f1b71b63c34f8b14':
gralloc-qsd8k: make sure that we never try to allocatio 0 bytes
Merge commit '2754389d0e7638b3065ecb3c965b1f262d2205ed' into eclair-mr2
* commit '2754389d0e7638b3065ecb3c965b1f262d2205ed':
gralloc-qsd8k: make sure that we never try to allocatio 0 bytes
Merge commit '2754389d0e7638b3065ecb3c965b1f262d2205ed' into eclair-plus-aosp
* commit '2754389d0e7638b3065ecb3c965b1f262d2205ed':
gralloc-qsd8k: make sure that we never try to allocatio 0 bytes
Merge commit '4842a5eaee0b93950297f52dd1ce56d13f7628eb'
* commit '4842a5eaee0b93950297f52dd1ce56d13f7628eb':
gralloc-qsd8k: Change composition_complete being a glfinish from stopship to a TODO
Merge commit '288cb24be01d065843a2a98ed6c0fdbb5faa8268' into eclair-mr2-plus-aosp
* commit '288cb24be01d065843a2a98ed6c0fdbb5faa8268':
gralloc-qsd8k: If using gpu composition, request rgba8888 instead of rgbx8888
Merge commit 'dc80f522f23ecda902bf8ddf5de68d6fe10e2c05' into eclair-plus-aosp
* commit 'dc80f522f23ecda902bf8ddf5de68d6fe10e2c05':
gralloc-qsd8k: If using gpu composition, request rgba8888 instead of rgbx8888
Merge commit 'dc80f522f23ecda902bf8ddf5de68d6fe10e2c05' into eclair-mr2
* commit 'dc80f522f23ecda902bf8ddf5de68d6fe10e2c05':
gralloc-qsd8k: If using gpu composition, request rgba8888 instead of rgbx8888
Merge commit '7422163dfcbad4997d30274bb7c438997269ae4d' into eclair-mr2-plus-aosp
* commit '7422163dfcbad4997d30274bb7c438997269ae4d':
gralloc-qsd8k: Change composition_complete being a glfinish from stopship to a TODO
Merge commit 'c3f00492488dec0b8eaa5d28aac1bcc8ca899a3c' into eclair-plus-aosp
* commit 'c3f00492488dec0b8eaa5d28aac1bcc8ca899a3c':
gralloc-qsd8k: Change composition_complete being a glfinish from stopship to a TODO
Merge commit 'c3f00492488dec0b8eaa5d28aac1bcc8ca899a3c' into eclair-mr2
* commit 'c3f00492488dec0b8eaa5d28aac1bcc8ca899a3c':
gralloc-qsd8k: Change composition_complete being a glfinish from stopship to a TODO
We really need to fix this eventually, but it's not a ship blocker.
Change-Id: I35f66988e7adba13e47c2a86e13a7425cc5aada3
Signed-off-by: Dima Zavin <dima@android.com>
Merge commit '9f879fb0625bbbc117f5d6ce94451204f5fe8f04'
* commit '9f879fb0625bbbc117f5d6ce94451204f5fe8f04':
libgralloc-qsd8k: Do not use the physical address of surfaces/framebuffer
Merge commit 'e817fcdedf46750b4ef57c8eeec0d44d5c46a252' into eclair-mr2-plus-aosp
* commit 'e817fcdedf46750b4ef57c8eeec0d44d5c46a252':
libgralloc-qsd8k: Do not use the physical address of surfaces/framebuffer
Merge commit '49a5c99a84626b5b1db4eda5239307e3366e28fa' into eclair-mr2
* commit '49a5c99a84626b5b1db4eda5239307e3366e28fa':
libgralloc-qsd8k: Do not use the physical address of surfaces/framebuffer
Merge commit '49a5c99a84626b5b1db4eda5239307e3366e28fa' into eclair-plus-aosp
* commit '49a5c99a84626b5b1db4eda5239307e3366e28fa':
libgralloc-qsd8k: Do not use the physical address of surfaces/framebuffer
The GPU now correctly maps everything throug hthe MMU so physical addresses
are no longer needed.
Change-Id: Id16a690f63d7141c8ee6694b246b1955f450b8ed
Signed-off-by: Dima Zavin <dima@android.com>
Merge commit '83fb1ada26d894c807686a93925c1e255fddb28c' into eclair-mr2-plus-aosp
* commit '83fb1ada26d894c807686a93925c1e255fddb28c':
part of fix [2186418] switch qsd8k devices to 24-bits framebuffer
Merge commit 'bd94d9af5cc7067b0e849af076183626b4c32e4e' into eclair-plus-aosp
* commit 'bd94d9af5cc7067b0e849af076183626b4c32e4e':
part of fix [2186418] switch qsd8k devices to 24-bits framebuffer
Merge commit 'bd94d9af5cc7067b0e849af076183626b4c32e4e' into eclair-mr2
* commit 'bd94d9af5cc7067b0e849af076183626b4c32e4e':
part of fix [2186418] switch qsd8k devices to 24-bits framebuffer