Hi Lucas,
Am Mittwoch, den 20.05.2020, 12:10 +0200 schrieb Martin Fuzzey: What's the use-case where you did hit this issue? mmap'ing of imported buffers through the etnaviv DRM device is currently not well defined and I was pondering the idea of forbidding it completely by not returning a mmap offset for those objects.
I hit this on Android 8 (on i.MX6 using mesa 20.0.6 with gbm gralloc and drm hwcomposer) and had a memory leak every time an activity was started. I'm not sure exactly why but Android does a gralloc.lock() and gralloc.unlock() on every activity startup. Those map and unmap the buffer.
Under Android (at least in 8+) the actual graphics buffer allocations are done by a dedicated process (android.hardware.graphics.allocator@2.0-service) because it uses a "binderized HAL" for the allocation [https://source.android.com/devices/architecture/hal-types] This means that buffers are *always* imported (though they are usually only mmaped for SW rendering or screen shots).
Regards,
Martin