[Mesa-dev] MesaGL <-> non-Mesa OpenCL interop interface

Marek Olšák maraeo at gmail.com
Wed Feb 17 19:27:25 UTC 2016


On Sat, Feb 6, 2016 at 10:43 PM, Marek Olšák <maraeo at gmail.com> wrote:
> On Sat, Feb 6, 2016 at 6:53 PM, Jason Ekstrand <jason at jlekstrand.net> wrote:
>> I'm adding Chad to the Cc.  At some point, it would be good to get Beignet
>> playing well with mesa.  Personally, I have substantial reservations about
>> getting the kernel involved in surface layout for anything more than 2-D
>> non-mipmapped non-array surfaces.  Laying them out can be complicated, and
>> committing to a stable API, or worse a kernel API seems a bit tricky.  But
>> I'll let chad rant about that :-)
>
> Well, the kernel isn't really involved much. We have 2 mechanisms to
> set the surface layout:
>
> 1) Tiling flags limited to 2D surfaces only. This is how the surface
> layout is communicated to the display kernel code and between X and
> apps.
>
> 2) Opaque metadata. Every buffer has 256 bytes of CPU memory. The
> format is opaque to the kernel. It's meant for userspace drivers to
> exchange any information about buffers they want, even multiple
> allocations/surfaces per buffer, etc. So far the only use case for
> this feature is the GL-CL interop.

So do you guys plan to add support for opaque metadata attached to each buffer?

It would be nice if DMABUF handles were the only things exchanged between APIs.

OpenGL can set the metadata (surface layout) on the handle and OpenCL
can query the metadata.

Marek


More information about the mesa-dev mailing list