Friday, August 8, 2008

Matthias Hopf: DRI working soon on R6xx - except for rendering...

Yes, this is contradicting. In fact we should have seen glxgears run on r6xx or r7xx for one or two weeks now, but (as always) things didn't turn out as they should. Me having my little finger broken didn't exactly help either.

So I think it's time for a current status report, even though nothing is to be seen right now:


I've been working on a bringup tool named r600_demo, initially derived from r300_demo, but there's not much left from the old code. We need this to get a good understanding how the chips actually behave before getting into DRI, because r6xx and r7xx chips are so fundamentally different than r5xx when it comes to 3D programming. And it's never good to learn something new in a complex environment.

This appears to be a good idea, because the chip turned out to be extremely picky in some regards. CP (command processor), type3 packets, DMA, all works beautifully. So we're sure that the memory layout is fine as well. But we haven't seen a single triangle yet, and currently fail to understand why. Alex, RichardZ, and Wolke from ATI are analyzing the problem as well, so far no luck. I've added tons of status register analysis code, and yes, the chip is busy, but interpreting what those busy flags and their combination actually mean is definitely nontrivial.

Lately, Alex has verified that the in-house tools (TCore) are able to render triangles, and captured memory + register accesses. With this log he added a routine to r600_demo to program the chip in exactly the same way as indicated in the log. Guess what: no triangles.

And just to reduce work hours during this hot phase on this subject, I'm going to SigGraph today, and on vacation and another conference afterwards. So I won't be working on this for the next 4-5 weeks. :-(

The 3D documentation isn't available yet to the public either, because IP review apparently turned out to be much more complex then anticipated. Much to the annoyance for everybody involved, including explicitely those poor guys at ATI that have to review them.


Bottom line is: we will eventually get there, but even with ATI's great help it's more difficult than anticipated. The programming itself isn't that bad (though definitely much more complex than with r5xx), it's the tiny little details that bite you...


Complete Story

0 comments:

Sign up for PayPal and start accepting credit card payments instantly.
ILoveTux - howtos and news | About | Contact | TOS | Policy