On Fri, 14 Jan 2005, Jerome Glisse wrote:
On Fri, 2005-01-14 at 16:34 +0100, Jerome Glisse wrote:What about INREG16 & OUTREG ?
Anyway i wanted to ask mesa folks how to make a real proper patch. The fact is that INREG & OUTREG in server/radeon_macros.h have to do endian swapping. Moreover the swapping is only needed for r300, isn't it ? So do we need to have our own copy of radeon_macros.h insted of using the one from dri/radeon/ ?
No. Try this patch, which is quite ugly though, most of this shouldn't be in driver specific code IMHO.
The 3D driver shouldn't have write access to the registers, and at least the radeon and r200 drivers only use 32 bit register reads because all registers relevant to them are 32 bit. Has this changed in r300?
Don't think this have changed, i haven't looked to the whole code, still reading r200 & r300 code to understood the whole things :)
No it did not, I certainly would not mess with it.
One idea/suggestion that I had for a long while is to not correct for endianness in software but rather use a feature of Radeon cards where several apertures are available.
For example, there are two copies of register aperture one with low-endian translation and one with big-endian.
One could map the appropriate one for plain reads, and use properly modified register addresses for HOSTDATA_BLT - though I am not 100% sure about how this will work.
It might be that ATI got rid of all the friendly endianness swapping bits in favour of this approach.
best
Vladimir Dergachev
------------------------------------------------------- The SF.Net email is sponsored by: Beat the post-holiday blues Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt -- _______________________________________________ Dri-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/dri-devel
