[Mesa-dev] gralloc_drm_pipe

Rob Clark robdclark at gmail.com
Fri Mar 4 17:59:26 UTC 2016


So, I've been advocating that for android, gallium drivers use
gralloc_drm_pipe, since with android it seems like you end up with
both gralloc and libGL in the same process, and having both share the
same pipe_screen avoids lots of headaches with multiple gem handles
pointing to same underlying buffer.

But the awkward thing is that gralloc_drm_pipe is using gallium APIs
that aren't particularly intended to be used out-of-tree.  Ie. not
really stable APIs.  At the time, the thing that made sense to me was
to pull drm_gralloc into mesa.  But at the time, there were no
non-mesa users of drm_gralloc, which isn't really true anymore.

Maybe what makes more sense now is to implement a gralloc state
tracker, which exposes a stable API for drm_gralloc?  It would mostly
be a shim to expose gallium import/export/transfer APIs in a stable
way, but would also be where the code that figures out which driver to
use to create/get the pipe_screen.

Thoughts?

BR,
-R


More information about the mesa-dev mailing list