ApiTrace 1.0 Released: A Great Way To Debug Graphics
Phoronix: ApiTrace 1.0 Released: A Great Way To Debug Graphics
Josť Fonseca and Zack Rusin have spent the last several months writing ApiTrace, which formerly was known as GLretrace. This is meant to be a powerful utility to debug OpenGL and Direct3D graphics applications and drivers. It allows you to easily capture the graphics API calls, analyze them in a step-by-step manner, and to playback traces at a later point. ApiTrace also allows for real-time editing of shaders and other OpenGL/Direct3D calls to see their impact on the rendering and drivers...
I used this to isolate a problem in Trine: the ARB fragment shaders had an errant option that needed an extension not exposed by Mesa. Since the log didn't really give any meaningful info, tracking this without source would have been tough. Definitely an awesome proggie!
I'm more interested in seeing a comparison with PIX than with gDEBugger. gDEBugger is... quaint. An Open Source version of it is nice and all, but the quality of the OpenGL tools compared to the D3D tools is a very large reason of why OpenGL programming sucks donkey balls.
Still, an Open Source version is better than a proprietary version, so I'm not saying apitrace isn't damn nice to have. Even though I'm sure apitrace is nowhere near to the same level as PIX (yet!), at least there's a chance of apitrace being evolved to that point eventually, unlike gDEBugger which seems to have stopped evolving years ago.
Neat thing is, with llvmpipe and even softpipe, I think there's a chance for apitrace to do more than PIX ever did. The key bit is being able to step through and debug the shaders themselves (not just edit them, but actually step over instructions in the shader, watch fragment shader outputs, etc.). Once that's there, apitrace can start really innovating on the graphics debugging tool front.