| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Should have been __GLIBC__, but the code is dead anyway.
Change-Id: I773f296a9c31949fa631cad863b841584c71f0ef
|
|
|
|
|
|
|
| |
Fix LP64 pointer casting warnings, unused parameters, and
turn off missing initializer warnings.
Change-Id: Idb70f4534282fed64ae81cb1e154d3f5b93091b0
|
|
|
|
| |
Change-Id: Ibc7e70887b61f7dd885c86d412387636d3a6a867
|
|
|
|
|
| |
Bug: 8468756
Change-Id: Ia883f459ea9e2648ca4a0b5a6f09ded4f46f13b3
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
See https://android-git.corp.google.com/g/#/c/157220
Bug: 5449033
Change-Id: I0cbe865d464a37365fa3be84948b07e5a0d181d0
|
|
|
|
|
|
|
| |
See https://android-git.corp.google.com/g/156016
Bug: 5449033
Change-Id: I98e83cc9d22f0ea8fbf397ccccd9ce7773119551
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
| |
but at least it builds.
|
|
|
|
| |
more address space than needed.
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
|
| |
- 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".
|
|
SurfaceFlinger rework for new EGL driver model support.
|