Sharing surfaces and multiple drivers

Jon Smirl jonsmirl at gmail.com
Sat Apr 30 13:44:36 PDT 2005


On 4/30/05, Brian Paul <brian.paul at tungstengraphics.com> wrote:
> > This can be complex, create a software surface in RAM using SW mesa.
> > Now you want to use it with an R200 context. The R200 context can't
> > get to it. You need to use a SW mesa context to copy between system
> > RAM and AGP space. Then the R200 one to get from AGP space to VRAM. Or
> > maybe use the mesa context to copy directly to VRAM.
> 
> EGL contexts and surfaces are created with respect to an EGLDisplay
> connection.  An EGL context/surface created with one display can't be
> used with another.
> 
> I've been assuming that an EGLDisplay connection corresponds to a
> graphics card/device.  So, moving/sharing surfaces between devices
> isn't directly supported.
> 
> Can you live without that feature for the time being?

I'm not asking for automatic migration of a surface to another display
if the display can't access it. If the display can't access it you
would just get an error.

But I would assume that every hardware driver can copy a surface from
VRAM to AGP/PCI space if asked to. Once in AGP/PCI space I would
assume that Software MESA can then access the surface. SW mesa could
then move the surface to where the other hardware can find it. The
compositing manager would manually make the copy calls to migrate the
surface.

This would let the compositing manager then choose to render a window
using hardware/VRAM and copy it to the other board or it could render
the window using SW mesa and copy to each board.

-- 
Jon Smirl
jonsmirl at gmail.com


More information about the dri-egl mailing list