f5811ba2dfb9bc9abf754b2e87b1568ef5ee3356 |
|
03-Mar-2014 |
Greg Hackmann <ghackmann@google.com> |
gralloc: make private_handle_t layout consistent on 32/64-bit private_handle_t's memory layout must be consistent between the 32-bit and 64-bit gralloc, in case buffers are passed between processes. Replace the (variably sized) uintptr_t base with a fixed size uint64_t, and enforce 8-byte alignment for architectures where uint64_t alignment varies between 32-bit and 64-bit. Change-Id: I06cb31d4b9620ea18e5b50d3a3142b5adb2d2a14 Signed-off-by: Greg Hackmann <ghackmann@google.com>
/hardware/libhardware/modules/gralloc/gralloc_priv.h
|
d2be74aa57aef69853e3451839dab43cfad39a02 |
|
06-Feb-2014 |
Ashok Bhat <ashok.bhat@arm.com> |
AArch64: Calculate private_handle_t's numInts A constant sNumInts with a value of 6 was being assigned to the numInts attribute in the private_handle_t constructor, and was also used in the validate method. That constant value is appropriate for 32-bit systems but is not appropriate for a 64-bit system where uintptr_t used for base attribute will be 64-bit. sNumInts is now changed to a static inline function that calculates numInts. Change-Id: I482ddb5915c9ff55fb2e2a87887a0ec2dc2299ed Signed-off-by: Marcus Oakland <marcus.oakland@arm.com> Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
/hardware/libhardware/modules/gralloc/gralloc_priv.h
|
febaaa937f2bb08197ab5636afce210028357888 |
|
06-Feb-2014 |
Colin Cross <ccross@android.com> |
gralloc: fix warnings Fix LP64 pointer casting warnings, unused parameters, and turn off missing initializer warnings. Change-Id: Idb70f4534282fed64ae81cb1e154d3f5b93091b0
/hardware/libhardware/modules/gralloc/gralloc_priv.h
|
0d8f81a9848b47afd7f4a75cda9955a5cc77b465 |
|
29-Mar-2013 |
Jesse Hall <jessehall@google.com> |
Log when creating a second buffer mapping in a process Bug: 8468756 Change-Id: Ia883f459ea9e2648ca4a0b5a6f09ded4f46f13b3
/hardware/libhardware/modules/gralloc/gralloc_priv.h
|
c71b6caece3fb1b85327f05acdd1becae4eda137 |
|
28-Mar-2013 |
Jesse Hall <jessehall@google.com> |
Remove pid check in register/unregister The register/unregister gralloc calls were avoiding mmapping/munmapping the shared memory region if the buffer was created by the current process. This is left over from the pmem-based implementation, where trying to map the same region twice in the same process would fail, or would reuse a single mapping without refcounting. This causes problems if a buffer is - allocated in process A, - transferred from A to process B and registered there - unregistered/freed in A - transferred back from B to A and re-registered Process A then has a new handle to the buffer, but since it originally created the buffer it will not be mmapped, so trying to read or write the buffer will crash. With ashmem, mmaping a region twice in the same process creates two distinct mappings which can be used and munmapped independently. So we no longer need to avoid mmapping again in the allocating process. Bug: 8468756 Change-Id: I167bec5ca07e5534c5e2115630fe8386e481388e
/hardware/libhardware/modules/gralloc/gralloc_priv.h
|
60d056bf2926357260592409dee31374fa8e301b |
|
08-Jan-2012 |
Steve Block <steveblock@google.com> |
Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE See https://android-git.corp.google.com/g/#/c/157220 Bug: 5449033 Change-Id: I0cbe865d464a37365fa3be84948b07e5a0d181d0
/hardware/libhardware/modules/gralloc/gralloc_priv.h
|
ee4e57e94903f497c936aa23e474e26ba74182c5 |
|
16-Dec-2009 |
Mathias Agopian <mathias@google.com> |
remove unused code
/hardware/libhardware/modules/gralloc/gralloc_priv.h
|
f96b2064d7753af7ab75f05eff9559f401e1a4ad |
|
15-Dec-2009 |
Mathias Agopian <mathias@google.com> |
remove all references to pmem and simplify the lock/unlock hooks this gralloc module is only used on the emulator or without a h/w renderer. therefore there is no synchronization to do in lock/unlock and pmem buffers are not relevant. hopefully this will remove some of the confusion about how gralloc should be implemented and make it more obvious that this implementation is not intended to be used by h/w renderers.
/hardware/libhardware/modules/gralloc/gralloc_priv.h
|
fc0541328190d60b3cf6beb72b630e115dc7a2be |
|
19-Aug-2009 |
Mathias Agopian <mathias@google.com> |
split gralloc_priv.h and make sure it is C friendly
/hardware/libhardware/modules/gralloc/gralloc_priv.h
|
876b4e8b84087ad99f499c064758a2660a990e5c |
|
19-Aug-2009 |
Mathias Agopian <mathias@google.com> |
integrate this change from the generic gralloc
/hardware/libhardware/modules/gralloc/gralloc_priv.h
|
bd80b38f2945ac918f66fb336c149b28b9dd030e |
|
08-Jul-2009 |
Mathias Agopian <mathias@google.com> |
more fixes for [1965730]. We now free (unmap) both ashmem and pmem regions.
/hardware/libhardware/modules/gralloc/gralloc_priv.h
|
f84106910d128885775b1e7b75e451d7d389889c |
|
07-Jul-2009 |
Andy McFadden <fadden@android.com> |
Fix build on some linux distros. The place where the PAGE_SIZE value is defined varies, mostly because you're not supposed to be using it directly. sysconf(_SC_PAGE_SIZE) is the approved method, and in fact some Linux distros actually #define PAGE_SIZE to the library call.
/hardware/libhardware/modules/gralloc/gralloc_priv.h
|
a4b587cb063dfd1b11f0006b0149e5e3045cc873 |
|
07-Jul-2009 |
Marco Nelissen <marcone@google.com> |
Simulator build fixes for the new GL stuff. The simulator still doesn't run, but at least it builds.
/hardware/libhardware/modules/gralloc/gralloc_priv.h
|
689fa73c067e1618bbdb62f32c2a34750b8ec48b |
|
25-Jun-2009 |
Mathias Agopian <mathias@google.com> |
copybit now uses a native_handle_t* instead of a fd/offset
/hardware/libhardware/modules/gralloc/gralloc_priv.h
|
8c4ab1fa14cc13c324bde91c0271f9ab5f4663d3 |
|
12-Jun-2009 |
Mathias Agopian <mathias@google.com> |
pmem allocator in gralloc. enabled for all surfaces. currently it uses a lot more address space than needed.
/hardware/libhardware/modules/gralloc/gralloc_priv.h
|
72c8508db9c3895a34437a3e780b90ec43a920a2 |
|
11-Jun-2009 |
Mathias Agopian <mathias@google.com> |
add an offset field to gralloc handles so the framebuffer can work with copybit
/hardware/libhardware/modules/gralloc/gralloc_priv.h
|
5115665397e5f5be5a5d464bc22b70b023d243d9 |
|
10-Jun-2009 |
Mathias Agopian <mathias@google.com> |
with the new lock/unlock API we don't really mean reference counting on mmap/munmap because we're guaranteed to map the buffers only once within a process. no need to track all handles anymore, which simplifies the code a lot.
/hardware/libhardware/modules/gralloc/gralloc_priv.h
|
485e69809aef8bf301b6bf19c03dc2d7693aaa1a |
|
06-May-2009 |
Mathias Agopian <mathias@google.com> |
better documentation and implementation for lock/unlock
/hardware/libhardware/modules/gralloc/gralloc_priv.h
|
988b8bd553180e8d71b4028ecb721f46312efe62 |
|
04-May-2009 |
Mathias Agopian <mathias@google.com> |
lock will now return the vaddr of the buffer. map/umap are gone. - make sure to return an error if a buffer is locked twice or unlocked while not locked. - added registerBuffer() and unregisterBuffer() to the gralloc module so that we can do some cleanup when a buffer is no longer needed. this became necessary after we removed map/unmap so we have a place to unmap buffers without the need of a kernel module. - change the constants for GRALLOC_USAGE_SW_{READ|WRITE}_NEVER to 0, so that NOT specifying them means "NEVER".
/hardware/libhardware/modules/gralloc/gralloc_priv.h
|
a8a75166a2d3c7639a7432a67075c98796165206 |
|
10-Apr-2009 |
Mathias Agopian <mathias@google.com> |
Integrate from //sandbox/mathias/donut/...@145728 SurfaceFlinger rework for new EGL driver model support.
/hardware/libhardware/modules/gralloc/gralloc_priv.h
|