Some interesting (imho) things I found:
The fglrx driver uses the old txformat/txfilter etc. registers from the radeon for tex units 0-2, since it never run on the old radeon cards this is a bit weird.
It writes to some undocumented registers:
- 0x1c30, right between RB3D_ZSTENCILCNTL and RB3D_ZMASKOFFSET. Seems to write always 0 though.
- 0x2cf8. No idea what this is good for, but in the couple of demos I tried the driver always wrote 0x17.
- 0x2680. Always 0.
- 0x2210, 0x2214, 0x2218, 0x221c. Those actually exist in radeon_reg.h, but I have some doubts they have the same use (they are the emmissive part of the material property, but other parts of the same material use registers which are for something different on r200).
- 0x2284. This one is interesting. The script gives this the name "X_VAP_PVS_WAITIDLE", the driver always emits this right before R200_SE_VAP_CNTL. Apparently it exists on r200 too. Looks like it forces the VAP (whatever that stands for...) to wait. Would we need to emit that too?
- 0x3254 (ZCACHE_CTLSTAT, I only saw the value 0x05), 0x325c (only saw 0x03), 3260 (only saw 0x0).
Roland
r200_pretty_print_command_stream.tcl
Description: Tcl script