History log of /hardware/libhardware/modules/gralloc/gralloc_priv.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
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