[PATCH] tracedump: add --help and --function-histogram

José Fonseca jose.r.fonseca at gmail.com
Sat Sep 10 16:56:51 PDT 2011


On Sat, Sep 10, 2011 at 3:24 PM, Zack Rusin <zack at kde.org> wrote:
> On Saturday, September 10, 2011 07:23:14 AM José Fonseca wrote:
>> Furthermore the GUI already passes warnings/errors from glretrace. So
>> passing GL misuse notices would be a natural extension.
>
> This is not really what I was talking about. The usage of the passes should
> indeed be in glretrace but there are other parts of it. At the very least that
> includes getting the names of the passes, getting their descriptions, ability
> to disable them, using random combination of them.

I don't understand the meaning of a "pass" here. Could you give
concrete examples?

AFAICS, if a GL misuse analysis is sought, then the calls have to be
replayed/analysed in order, from start to
finish, because GL state can only be queried within the context of all
previous calls replayed in sequence. That is, everything must be done
in a single pass,  a single read of the trace file.

> And yes, while it's
> possible that the gui could again call glretrace with some --show-passes and
> have glretrace again output some format that it can parse, it's getting harder
> and harder to do things in the gui to a point that warrants consideration or
> at least, like I said in the original tool, it should be done in a way that
> makes parsing of that stuff really easy.

Unless I'm missing something, I see no need for communicating passes
back and forth. A glretrace --analyse  option (in same way we have a
benchmark option), which spews as much as tips about the GL usage,
triggered by a menu option of the GUI, which then reads the output
into the error list pane, seems quite enough to me.

Even if these configurable set of passes make sense, there is no need
for the gui to invoke glretrace to inquire about stuff that is
statically determinable at compile time. The GUI and glretrace are
always built from the same tree, and no binary back-wards
compatabtility between the gui/glretrace/etc is given, so having this
list of passes shared between them in a header (or even just
duplicated) is perfectly fine.

Jose


More information about the apitrace mailing list