47 Commits

Author SHA1 Message Date
Mathias Agopian
9efee771b2 reject odd widths or heights for YV12 format
Change-Id: I66cbb5fbc20630218947cd41552a95503b58e15e
2010-09-10 14:40:10 -07:00
Mathias Agopian
31f0df4eba don't revert to ashmem if HW usage bits are set
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
2010-08-20 16:02:29 -07:00
Mathias Agopian
0ff47fbdac only set the PRIV_FLAGS_NEEDS_FLUSH flag on PMEM buffers
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
2010-08-20 11:47:44 -07:00
Mathias Agopian
7461d57eca add qcom specific pixelformats
Change-Id: I70395b93afc4dee13e805649ee2307ffe895aaf1
2010-08-19 13:15:39 -07:00
Jamie Gennis
38b90c13c4 Change the constant name identifying the NV21 Adreno format.
This updates the qsd8k gralloc to support the new name for the NV21 Adreno
pixel format.

Change-Id: I358bf12db058d3740a5e49ee30d95c2afb708295
2010-08-06 12:09:15 -07:00
Mathias Agopian
041cfdf2cf fix [2855380] GRG19 monkey native crash in GraphicBufferAllocator
we were dereferencing the null pointer when freeing ashmem buffers.

Change-Id: I7be6e1ae064148bea1076193c21a73b5a3f90297
2010-07-28 18:12:39 -07:00
Mathias Agopian
fce1cc8a83 Remove the YV16 format.
Change-Id: I3f7995ba0cf41bcde995df293bea78bce7d82fc9
2010-07-14 16:29:43 -07:00
Mathias Agopian
3f3bead8b6 make the gralloc test linux only
Change-Id: Ib245f7936bbe71b34903172629e09763dd725d80
2010-07-02 16:37:27 -07:00
Jamie Gennis
5bc176b1a6 Refactor the qsd8k gralloc implementation.
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
2010-07-02 12:57:36 -07:00
Mathias Agopian
6c2bc88a03 remove unused YUV formats
Change-Id: Ia590a9cb9a02bf62f35da344f29775d1256e3da7
2010-07-01 21:19:31 -07:00
Mathias Agopian
d3c18d4938 NV12 tiled needs 8K plane alignment
Change-Id: I8f2ca6f058ff9d7dd666871a696428c55dbe6cf1
2010-06-22 22:06:12 -07:00
Mathias Agopian
0adc045aa2 remove unused YUV formats
Change-Id: I41c18551a61bec9f928399544a12024c81947ed0
2010-06-22 16:15:31 -07:00
Mathias Agopian
a82aad454a fix typo in ALIGN macro
Change-Id: Idaddf65f0b726a158f47639223f4281fd07447a7
2010-06-22 16:15:10 -07:00
Mathias Agopian
0f6dc7ea55 Add support for allocating YUV formats
Currently they're all allocated in pmem, instead of pmem_adsp.

Change-Id: Ibc3edf2da4155d2f086d81dee8940270f9cb9f6b
2010-06-22 16:14:35 -07:00
Mike Lockwood
151d2b884b Revert "Add support for allocating YUV formats"
This reverts commit 7b1f00a95490552131d06a13b78c279f6c779a1a.
2010-06-22 13:32:55 -04:00
Mike Lockwood
5d471952a5 Revert "remove unused YUV formats"
This reverts commit 05ea9ede5600fef7a8fdf416b44ec98e58fb224b.
2010-06-22 13:32:36 -04:00
Mathias Agopian
ce599f6e8d remove unused YUV formats
Change-Id: I47769af34112856e6a2ef177a966f6e8e6242031
2010-06-21 18:23:23 -07:00
Mathias Agopian
b43cd9549f Add support for allocating YUV formats
Currently they're all allocated in pmem, instead of pmem_adsp.

Change-Id: Ief367a64667dc0b67fdeabeabbf9f201082d6ad2
2010-06-16 14:27:27 -07:00
Jean-Baptiste Queru
ec040bb3a1 Add tags and notices where appropriate.
Also tweak copyright notices as appropriate.

Bug: 2084753
Change-Id: Ifbf795b8b16dbc45cf5ac9a72b97f2b74cbf3550
2010-03-19 15:50:23 -07:00
Dima Zavin
c0f1d75920 libgralloc-qsd8k: flush SW_WRITE cached pmem regions in unlock
Change-Id: I31d1257f031c6b9b8dae604c2c1a8aa246ce3b84
Signed-off-by: Dima Zavin <dima@android.com>
2010-03-02 15:14:57 -08:00
Mathias Agopian
48000e415a fix [2444483] gralloc size for YUV formats 2010-02-16 14:04:36 -08:00
Mathias Agopian
fd92f42c39 part of fix for [2363506] [Sapphire] Video playback broken
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.
2010-01-20 13:22:35 -08:00
Dima Zavin
8533232290 am 2754389d: 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
2009-12-10 17:56:59 -08:00
Mathias Agopian
cbe53680bf am f7e40a33: improve cache behavior of gralloc allocations on qsd8k
Merge commit 'f7e40a3311ae78b3edd9259980c224a5a9d91653' into eclair-mr2

* commit 'f7e40a3311ae78b3edd9259980c224a5a9d91653':
  improve cache behavior of gralloc allocations on qsd8k
2009-12-10 16:43:17 -08:00
Dima Zavin
7e8932dad3 gralloc-qsd8k: make sure that we never try to allocatio 0 bytes
Change-Id: Ic05b895c09a55d746c737aa0c3356edc511d7c96
Signed-off-by: Dima Zavin <dima@android.com>
2009-12-09 21:13:44 -08:00
Mathias Agopian
e17d093d0c improve cache behavior of gralloc allocations on qsd8k
make sure to use cached buffers only when frequent cpu access is needed.
also, always flush buffers after they are allocated and cleared.
2009-12-08 19:34:43 -08:00
Dima Zavin
ce844ce07c am dc80f522: 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
2009-12-04 20:25:50 -08:00
Dima Zavin
6d4fd653ce gralloc-qsd8k: If using gpu composition, request rgba8888 instead of rgbx8888
Change-Id: Ic41d4854d6acbc21c85a03e82bd63af234273886
Signed-off-by: Dima Zavin <dima@android.com>
2009-12-04 20:22:41 -08:00
Dima Zavin
3d70fea63c am c3f00492: 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
2009-12-04 17:48:11 -08:00
Dima Zavin
62447949f2 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>
2009-12-04 15:41:54 -08:00
Dima Zavin
936ac4f834 am 49a5c99a: 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
2009-12-03 02:16:39 -08:00
Dima Zavin
be6f97aad3 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>
2009-12-02 21:15:33 -08:00
Mathias Agopian
46d61081aa am bd94d9af: 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
2009-11-24 14:43:43 -08:00
Mathias Agopian
1e1a87f0a5 part of fix [2186418] switch qsd8k devices to 24-bits framebuffer
Add support for 32 bits framebuffers
2009-11-23 23:19:54 -08:00
Mathias Agopian
3e756c25d5 am 87ea1dfa: fix[2222341] Soft reset while going back from camcorder settings
Merge commit '87ea1dfa60cf130fafdbab8e94cb2ce9ff8d0975' into eclair-mr2

* commit '87ea1dfa60cf130fafdbab8e94cb2ce9ff8d0975':
  fix[2222341] Soft reset while going back from camcorder settings
2009-10-30 15:02:10 -07:00
Mathias Agopian
b73f40535f fix[2222341] Soft reset while going back from camcorder settings
add a way to convert a mapped "pushbuffer" buffer to a gralloc handle
which then can be safely used by surfaceflinger

also make sure to not send empty rectangles to the MDP.
2009-10-30 14:52:52 -07:00
Patrick Scott
4705b7db85 Remove calls to dump_l.
This fails to compile without NDEBUG and the log statement is accomplishing the
same thing.
2009-10-29 08:35:22 -04:00
Dima Zavin
ef7776257a gralloc-qsd8k: Call glFinish on composition complete.
Change-Id: I09c8287bcaf89f3f8bcaa4108631641a0fcc397b
Signed-off-by: Dima Zavin <dima@android.com>
2009-10-08 01:13:51 -07:00
Simon Wilson
fde8e11201 Enforce 32 pixel alignment for Adreno 200 2009-08-25 14:01:36 -07:00
Mathias Agopian
717cf60b7a fix gralloc qsd8k. we actually don't need to use /pmem/gpu1, since the gpu is now able to use regular PMEM.
this module is now closer to the generic gralloc module, although it will have to evolve in the near future.
2009-08-20 15:41:34 -07:00
Mathias Agopian
854a1e77bb use the same magic value for native_handle in 7k and 8k, since the handles are actually identical 2009-08-19 15:16:48 -07:00
Mathias Agopian
c779b2b67d make gralloc_priv.h for msm7k and qsd8k identical and C friendly 2009-08-19 14:17:17 -07:00
Mathias Agopian
6e83a30251 reenabled partial updates in msm7k/qsd8k 2009-08-19 13:45:02 -07:00
Mathias Agopian
78087b2664 make gralloc-qsd8k closer to the generic gralloc so it's easier to maintain 2009-08-19 13:14:55 -07:00
Dima Zavin
0c7b6963a6 gralloc8k: make sure to set the physical address of the framebuffer
Signed-off-by: Dima Zavin <dima@android.com>
2009-08-13 16:43:21 -07:00
Dima Zavin
0f1f4c1ac8 gralloc8k: fix partial updates, some cleanups
Signed-off-by: Dima Zavin <dima@android.com>
2009-08-13 16:43:19 -07:00
Dima Zavin
4799671722 qsd8k: add gralloc for 8k
Signed-off-by: Dima Zavin <dima@android.com>
2009-08-13 16:43:18 -07:00