[Mesa-dev] apitrace 1.0 (was: glretrace)

José Fonseca jose.r.fonseca at gmail.com
Tue Apr 26 15:54:34 PDT 2011

FYI, over these past months I've been continuing to improve glretrace
on my spare time, and lifted several of the previous limitations:
added support for DrawArrays/Elements with user pointers;
Map/UnmapBuffer; more extensions; several bug fixes. To the point that
a great deal of GL apps trace & retrace flawlessly (tested e.g.,
Quake3, Unigine Heaven, Cinebench R11, Autodesk Maya).

And recently Zack Rusin offered to write a QT-based GUI for glretrace,
also on his personal time. Warning: this GUI is not the cherry on top
of the cake, it's the whole sugar coating and it will make you
salivate like a rabid dog! It allows to view the traced calls, view
the state (parameters, shaders, textures, etc) at any call, and edit
the calls, and more. Pretty amazing stuff, useful both for GL users
and implementers, and I'm sure Zack will write up about it very soon.

We thought the work so far was worthy of a 1.0 release -- not "1.0" as
in  it's-all-done-and-finished, but more in the sense of being ready
to be used by an wider audience, who will hopefully contributing stuff
back to it (as the TODO is actually bigger than before, since for
every item we strike out, we get ideas to do two more).

You can get the source from
https://github.com/apitrace/apitrace/tree/1.0 . Build/usage
instructions on the README.


----- Original Message -----
> FYI, I've extended my apitrace project to be able not only to show a
> list of GL calls, but also replay them.

> The idea is to facilitate reproduction of bugs, help finding
> regressions, and do it across different platforms.

> Code is in
> http://cgit.freedesktop.org/~jrfonseca/apitrace/log/?h=retrace

> There is a sample trace on
> http://people.freedesktop.org/~jrfonseca/traces/ which can be
> replayed

> glretrace -db topogun-1.06-orc-84k.trace

> GL API is massive, and spite code generation being used, there are
> many
> holes. The biggest is non-immediate non-vbo arrays/elements drawing
> (ie., glXxxxxxPointer with pointer to vertices instead of offsets).
> And
> there's much more listed in the TODO file. There are also many places
> where the size of arrays depend on another parameter and an auxiliary
> function is needed.

> Cover the whole GL API is an herculean task, so help would be very
> much
> welcome.

> Jose

More information about the mesa-dev mailing list