Quite a few bugs were found and squashed and jkolb reached the next goal: A triangle was rendered. But always black (and as the background was black too, first diagnosis was:" It doesn't render at all :)). Next step done by marcheu: A colored triangle. Not to be outdone jkolb added texturing to the mix. Next was then to get EXA working on NV30. Again marcheu did it again with help from jkolb but when marcheu tested desktop performance with a composite manager and compared performance with "MigrationHeuristics Always" (should be fastest with EXA) against "MigrationHeuristics Greedy" (fastest when EXA is not fully accelerated). So EXA on NV3x is currently not yet usable, due to performance and due to some missing routines (plus some bugs).
Unfortunately, this isn't the case yet and so Marcheu and JKolb decided to investigate this.
Some short topics:
· Some memcpy() routines were inlined and gave some noticeable
· Once again some PPC endian bugs has been under investigation by Marcheu. Some proved difficult to track but with the help of BenH, marcheu was able to commit a fix. Unfortunately the reporting PowerBook user had a hard disk crash, so that we are not sure yet whether the fix works. Even worse, it seems a x86 /x64_86 only compile time option has crept into the makefile (for inlining see above).
· In order to make the NV5x driver more maintainable GrowlZ took on the task to deobfuscate the driver which we "stole" from X11's nv driver. It was only slightly deobfuscated by darktama then mostly in parts where it got adapted to our DRM infrastructure.
· pq did some work on creating docs from his rules-ng database too. Find the results here. When ahuillet saw that, he promised to write up register docs for Xv too.
So what is missing now for a acceptable 2D driver?
· NV10 EXA needs to be implemented or
· NV04 needs to calm that IRQ storm
· NV20 will use NV10 EXA
· NV30 EXA needs to get faster (with still some fallbacks, which should be accelerated not software)
· NV40 EXA is working but not as fast as it could
· NV50 text mode setting for a very basic driver (no Xv yet)
Ahuillet is asking for testers of his NV04 code. And if someone is willing to write some documentation, please contact him too. He will give you any info you'll need, but he currently hasn't the time to do it himself (a good newbie task).
If you have a PPC based system, please do test and report back to marcheu.
Once again, we were the target of a hardware donation. So, on behalf of the Nouveau project Pekka Paalanen (pq) would like to thank Ville Herva from Vianova Systems Finland Oy for donating a GeForce 3 card and a GeForce 256 card. Thank you very much!
Discuss this article in our forums, IRC channel, or email the author. You can also follow our content via RSS and on social networks like Facebook, Identi.ca, and Twitter (@Phoronix and @MichaelLarabel). Subscribe to Phoronix Premium to view our content without advertisements, view entire articles on a single page, and experience other benefits.