Sharing surfaces and multiple drivers

Jon Smirl jonsmirl at gmail.com
Fri Apr 29 18:05:37 PDT 2005


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.

I'm looking at the code in src/egl/drivers and multiple drivers is not
addressed by it. I'm thinking about how I can get SW mesa running with
a dumb FB and egl support.

-- 
Jon Smirl
jonsmirl at gmail.com


More information about the dri-egl mailing list