On Wed, Mar 20, 2002 at 01:51:06PM -0800, Ian Romanick wrote:
> > Michael also implemented agp support for radeon with a similar simplistic
> > strategy, but ran into some issues looking at tcl and/or mesa-4-0. I think
> > these turned out to be artefacts rather than anything serious. In any case I
> > think he decided to wait on some forthcoming reorganization of the texture
> > management code in all the drivers... (nudge nudge, wink wink)
> Heh...which is actually why I was asking. :) There are a number of code
> paths in my code that I can't test on the Radeon (one of my two development
> platforms) without AGP texturing.
That's confusing, since 'AGP' is really already there, it's not enabled as such,
you just allocate from the RADEON_AGP_HEAP instead of the RADEON_CARD_HEAP.
(Confusing because if your code replaces the mm in the radeon driver,
you'll be writing the code you're asking to be committed?)
The fix for current code (in all trunks afaiaa) is that
RADEON_AGP_TEX_OFFSET is 0x02000000 and it should be 0x04000000 (at
least on my radeon - I don't know what that does to 64mb radeons,
7500's, mobilities etc? - the 0x02000000 figure is left over from the
r128 by the looks of it, so perhaps it is a constant?)
Beyond that, there's no magic that I found that needs to be done, so you
can ignore the 'fixup agp texture offset' that's in the #if 0 part of
radeon_texmem, you just add the mmAlloc offset to the heap offset in the
same way card local textures are done.
The patch is in the archives of this list so you could grab that
(next to nothing has changed in this area in TCL) I can probably dig it
up if you can't find it.
That said, I've been implementing utah-glx swapping c/w AGP texturing in
a way that only the overrun goes into AGP even as these messages
arrived. It sounds like you are doing much the same...which is a waste
of one of our efforts - are you saying that IBM are letting you release
your code now?
If they have, perhaps I should jump to another item on my list?
Lastly, it may well crash a load of machines (although the driver uses
agp anyway, I bet there are dodgy motherboards out there that don't like
it and a couple of people said their machines had crashed with my patch,
unless the fixes Daryll mentioned fix this?) so it may need to be
an env variable or XF86Config-4 option?