Sharing surfaces and multiple drivers

Jon Smirl jonsmirl at gmail.com
Sat Apr 30 13:15:03 PDT 2005


On 4/30/05, Brian Paul <brian.paul at tungstengraphics.com> wrote:
> Jon Smirl wrote:
> > My current machine has a R200, R128 and software mesa. Do we handle
> > this correctly? There are three kinds of surfaces, R200, R128 and
> > system RAM. Is AGP space another surface type? System RAM surfaces can
> > be shared between the two hardware drivers, but the board specific
> > ones can't. Another variation on this would be multiple identical
> > cards sharing a single driver.
> >
> > Surfaces can generate at least three types of errors:
> > bad handle
> > surface lost - card removed
> > not appropriate for the context - selecting R200 surface into R128 context
> >
> > 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 was looking at EGLDisplay as having at least two devices, the
hardware one and the software renderer.

-- 
Jon Smirl
jonsmirl at gmail.com


More information about the dri-egl mailing list