Xorg 7.0-rc1 and EXA (radeon 9200)
marchesin at icps.u-strasbg.fr
Wed Oct 26 07:00:33 PDT 2005
On Wed, Oct 26, 2005 at 08:37:55AM +1000, Benjamin Herrenschmidt wrote:
> > Did you actually try this with dri enabled ? I think this will break the
> > surfaces. In fact, when using DRI, X shouldn't setup the surfaces
> > directly bu only through DRM.
> Yes, with DRI enabled. You are right though, clearing the surfaces may
> not be that a good idea at this point. It will generally not matter
> because that fixup is usually only done once on server launch tho.
> Note about the surfaces in the kernel, I don't like it very much. I want
> to be able to reserve at least 2 or 3 surface registers for the server
> and use them directly to avoid the overhead of going to the kernel all
> the time. (I need surfaces in the EXA code for access to offscreen
Well, you see, about half of the issues with X are due to lack o
arbitration. Think for example the radeon ddx using half the video ram
for pixmaps, or the vt switch issues...
So using arbitration is actually the way to go, and drm is probably the
right place to do that when it's available.
Now, for your surface, I suggest you just do tiled pixel acess, the
tiling functions are in the radeon_span* files in the radeon dri driver.
> I think the solution is to add something to the DRM for the server to
> "reserve" some surfaces...
This is definitely not future-proof, just like when the ddx allocates
half of the video memory for pixmaps even when it doesn't need them.
More information about the xorg