tools/apitrace.git
13 years agocli: Add a new "apitrace diff" command.
Carl Worth [Fri, 4 Nov 2011 22:45:09 +0000 (15:45 -0700)]
cli: Add a new "apitrace diff" command.

This command simply provides a more consistent way of getting access
to the existing tracediff.sh command, (which is now installed to
<prefix>/lib/apitrace/scripts for the "apitrace diff" command to
invoke, but not necessarily for users to invoke directly).

13 years agoSeparate wrappers/ and scripts/ under <prefix>/lib/apitrace
Carl Worth [Fri, 4 Nov 2011 22:42:02 +0000 (15:42 -0700)]
Separate wrappers/ and scripts/ under <prefix>/lib/apitrace

We now define a new APITRACE_SCRIPTS_INSTALL_DIR:

<prefix>/lib/apitrace/scripts

where scripts will soon be installed (as needed).

Meanwhile, APITRACE_WRAPPER_INSTALL_DIR is updated to:

<prefix>/lib/apitrace/$arch/wrappers

(where before it didn't have the final "wrappers" directory).

13 years agoFix "apitrace trace" when running from installed location.
Carl Worth [Fri, 4 Nov 2011 23:20:57 +0000 (16:20 -0700)]
Fix "apitrace trace" when running from installed location.

A missing path separator was causing the wrapper library to fail to be found.

13 years agogui: Handle incomplete calls.
José Fonseca [Sat, 5 Nov 2011 08:50:25 +0000 (08:50 +0000)]
gui: Handle incomplete calls.

Should fix issue 48.

13 years agoOnly re-allocate if the snappy cache buffer when it is not big enough.
José Fonseca [Thu, 3 Nov 2011 19:27:57 +0000 (19:27 +0000)]
Only re-allocate if the snappy cache buffer when it is not big enough.

13 years agoUpdate glxtrace.so path in docs.
José Fonseca [Thu, 3 Nov 2011 14:32:45 +0000 (14:32 +0000)]
Update glxtrace.so path in docs.

13 years agoFix typo.
José Fonseca [Thu, 3 Nov 2011 14:24:01 +0000 (14:24 +0000)]
Fix typo.

13 years agoMake findFile non-static, given it will be necessary for other commands.
José Fonseca [Thu, 3 Nov 2011 14:17:55 +0000 (14:17 +0000)]
Make findFile non-static, given it will be necessary for other commands.

13 years agoSplit common functionality out of cli.
José Fonseca [Thu, 3 Nov 2011 13:59:54 +0000 (13:59 +0000)]
Split common functionality out of cli.

13 years agoMake file_exists as os::Path method.
José Fonseca [Thu, 3 Nov 2011 13:19:48 +0000 (13:19 +0000)]
Make file_exists as os::Path method.

13 years agoKeep info on how to manually retrace in a separate section.
José Fonseca [Thu, 3 Nov 2011 12:30:18 +0000 (12:30 +0000)]
Keep info on how to manually retrace in a separate section.

13 years agoAdd a new "apitrace trace" command to the command-line interface.
Carl Worth [Wed, 2 Nov 2011 00:54:19 +0000 (17:54 -0700)]
Add a new "apitrace trace" command to the command-line interface.

There is no code to support Windows yet, but there is specific code
for both Linux and Mac OS X. The documentation is also updated to
reflect the new command.

Signed-off-by: José Fonseca <jose.r.fonseca@gmail.com>
13 years agoPut glxtrace.so also in the wrappers directory.
José Fonseca [Thu, 3 Nov 2011 11:54:05 +0000 (11:54 +0000)]
Put glxtrace.so also in the wrappers directory.

For consistency among all platforms, per Carl Worth's suggestion,
but the wrappers DLLs must remain in a directory of their own to
avoid interfering with other executables.

13 years agoGive CLI command names a _command prefix
Carl Worth [Tue, 1 Nov 2011 20:47:26 +0000 (13:47 -0700)]
Give CLI command names a _command prefix

This is just to set things up for a trace_command command, (which
cannot be named "trace" since that would conflict with "namespace
trace").

13 years agoAdd os::Path.trimFilename function.
Carl Worth [Tue, 1 Nov 2011 20:49:43 +0000 (13:49 -0700)]
Add os::Path.trimFilename function.

This is the counterpart to trimDirectory. This function trims the
final filename component from the path leaving just the containing
directory.

13 years agoTODO: Add some notes on additions we want to the command-line interface
Carl Worth [Tue, 1 Nov 2011 21:26:38 +0000 (14:26 -0700)]
TODO: Add some notes on additions we want to the command-line interface

These come from some recent dicussion on the mailing list.

13 years agoMinor typo correction of code comment
Carl Worth [Tue, 1 Nov 2011 20:48:55 +0000 (13:48 -0700)]
Minor typo correction of code comment

Without this, the sentence is not gramatically well-formed.

13 years agoMac OS X: Fix getProcessName() to avoid assertion failure in truncate
Carl Worth [Wed, 2 Nov 2011 00:31:28 +0000 (17:31 -0700)]
Mac OS X: Fix getProcessName() to avoid assertion failure in truncate

Apparently _NSGetExecutablePath doesn't actually set the len field in
the case of successfully copying a value to buf. In this case, the
value in buf is properly terminated, so we can just use strlen to find
a legal value to use when calling truncate.

13 years agoExpose build/install dirs as a define.
José Fonseca [Tue, 1 Nov 2011 08:27:12 +0000 (08:27 +0000)]
Expose build/install dirs as a define.

Also, pick a wrapper install dir that varies with architecture, to allow
tracing of multiple binaries on multiarch.

13 years agoFix typos in _vscprintf comment.
José Fonseca [Tue, 1 Nov 2011 07:14:46 +0000 (07:14 +0000)]
Fix typos in _vscprintf comment.

13 years agoChange non-executable install directories to include an "apitrace" component
Carl Worth [Tue, 18 Oct 2011 23:06:05 +0000 (16:06 -0700)]
Change non-executable install directories to include an "apitrace" component

It's just more polite to put documentation into
<prefix>/share/doc/apitrace rather than just dumping it into the
top-level <prefix>/doc.

Similarly, since glxtrace.so is not a conventional library, it doesn't
belong in <prefix>/lib but is well-suited for <prefix>/lib/apitrace.

13 years agoMerge branch 'os-path'
José Fonseca [Mon, 31 Oct 2011 15:41:14 +0000 (15:41 +0000)]
Merge branch 'os-path'

13 years agoMore os::Path fixes.
José Fonseca [Mon, 31 Oct 2011 13:58:32 +0000 (13:58 +0000)]
More os::Path fixes.

13 years agoFix os::Path::format on MinwGW.
José Fonseca [Mon, 31 Oct 2011 13:57:53 +0000 (13:57 +0000)]
Fix os::Path::format on MinwGW.

13 years agoInclude sys/syslimits.h for PATH_MAX on MacOSX.
José Fonseca [Mon, 31 Oct 2011 11:52:10 +0000 (11:52 +0000)]
Include sys/syslimits.h for PATH_MAX on MacOSX.

13 years agoUpdate docs / scripts for tracedump -> apitrace dump change.
José Fonseca [Sun, 30 Oct 2011 14:37:35 +0000 (14:37 +0000)]
Update docs / scripts for tracedump -> apitrace dump change.

13 years agoDrop first_arg_command.
José Fonseca [Sun, 30 Oct 2011 14:29:28 +0000 (14:29 +0000)]
Drop first_arg_command.

Unnecessary.

13 years agoBetter isolation of CLI source files.
José Fonseca [Sun, 30 Oct 2011 14:21:03 +0000 (14:21 +0000)]
Better isolation of CLI source files.

13 years agoTweak help output.
José Fonseca [Sun, 30 Oct 2011 14:07:20 +0000 (14:07 +0000)]
Tweak help output.

* accept "apitrace dump --help" as help.
* list commands in "apitrace help" too.
* tweak whitespace.

13 years agoUse a slightly different naming convention for cli source files.
José Fonseca [Sun, 30 Oct 2011 13:38:25 +0000 (13:38 +0000)]
Use a slightly different naming convention for cli source files.

13 years agoCleanup headers.
José Fonseca [Sun, 30 Oct 2011 13:35:33 +0000 (13:35 +0000)]
Cleanup headers.

Eliminate unused & unix specific headers.

13 years agoapitrace: Replace tracedump program with new "apitrace dump" command
Carl Worth [Sat, 22 Oct 2011 03:40:56 +0000 (20:40 -0700)]
apitrace: Replace tracedump program with new "apitrace dump" command

The code just copies right over so should work exactly as before, but
with our nice, new, unified command-line syntax.

13 years agoAdd a top-level apitrace program.
Carl Worth [Thu, 20 Oct 2011 01:02:33 +0000 (18:02 -0700)]
Add a top-level apitrace program.

This is intended to eventually be a program which will provide access
to all apitrace functionality (tracing, trimming, replaying,
analyzing, launch the gui, etc.).

To start with it implements only the stub "apitrace help" command so
there's not any real functionality here yet.

13 years agoMove os::Path to a separate header.
José Fonseca [Sun, 30 Oct 2011 12:59:40 +0000 (12:59 +0000)]
Move os::Path to a separate header.

Much less re-compiles.

Also eliminate wide-spread use of PATH_MAX.

13 years agoHave selected call always match the current call.
José Fonseca [Sun, 30 Oct 2011 10:51:53 +0000 (10:51 +0000)]
Have selected call always match the current call.

The current call (highlighted with single-click or keyboard navigation)
was serving no purpose, and this make navigation much more effective.

13 years agoOnly jump to errors when the error item is activated.
José Fonseca [Sun, 30 Oct 2011 10:49:19 +0000 (10:49 +0000)]
Only jump to errors when the error item is activated.

Because currentItemChanged signal is too frequent/random, happening even
at times where errors window is invisible, when switching between tabs of
the current state pane, causing the current call to go out of focus.

13 years agoMany fixes to os::Path.
José Fonseca [Sun, 30 Oct 2011 00:14:29 +0000 (01:14 +0100)]
Many fixes to os::Path.

13 years agoAdd a path manipulating class.
José Fonseca [Fri, 28 Oct 2011 07:39:06 +0000 (08:39 +0100)]
Add a path manipulating class.

13 years agoMore tweaks/cleanups to D3D9 spec.
José Fonseca [Thu, 27 Oct 2011 23:15:09 +0000 (00:15 +0100)]
More tweaks/cleanups to D3D9 spec.

13 years agoMinor tweaks to d3d9 spec.
José Fonseca [Thu, 27 Oct 2011 17:14:45 +0000 (18:14 +0100)]
Minor tweaks to d3d9 spec.

Some state is a mixture of enum/flags

13 years agoDefine GLhandleARB as unsigned long on MacOSX.
José Fonseca [Thu, 27 Oct 2011 13:43:10 +0000 (14:43 +0100)]
Define GLhandleARB as unsigned long on MacOSX.

13 years agoRetrace applications with mix ARB and core uniform calls correctly.
José Fonseca [Thu, 27 Oct 2011 13:35:07 +0000 (14:35 +0100)]
Retrace applications with mix ARB and core uniform calls correctly.

A bit of an hack.

13 years agoFix buffer overflow when manipulating extensions string.
José Fonseca [Thu, 27 Oct 2011 12:23:17 +0000 (13:23 +0100)]
Fix buffer overflow when manipulating extensions string.

13 years agoSwitch os functions to camelcase.
José Fonseca [Thu, 27 Oct 2011 07:10:56 +0000 (08:10 +0100)]
Switch os functions to camelcase.

13 years agoLower case namespaces.
José Fonseca [Thu, 27 Oct 2011 06:43:19 +0000 (07:43 +0100)]
Lower case namespaces.

13 years agoRename trace writer files to group nicely.
José Fonseca [Wed, 26 Oct 2011 22:39:16 +0000 (23:39 +0100)]
Rename trace writer files to group nicely.

13 years agoRe-organize the Trace::File code.
José Fonseca [Wed, 26 Oct 2011 22:37:01 +0000 (23:37 +0100)]
Re-organize the Trace::File code.

This should allow stop linking the zlib code from the wrappers.

13 years agoDocument coding syntax, and other development practices.
José Fonseca [Wed, 26 Oct 2011 22:02:08 +0000 (23:02 +0100)]
Document coding syntax, and other development practices.

13 years agoAdd --color option when pipeing traceoutput to less.
José Fonseca [Wed, 26 Oct 2011 07:19:12 +0000 (08:19 +0100)]
Add --color option when pipeing traceoutput to less.

13 years agoCleanup X11 event handling.
José Fonseca [Wed, 26 Oct 2011 17:43:21 +0000 (18:43 +0100)]
Cleanup X11 event handling.

Fixes an infinite loop on GlxDrawable::show() in certain traces.

13 years agoImprove the indention in emacs just a bit.
Zack Rusin [Wed, 26 Oct 2011 02:52:49 +0000 (22:52 -0400)]
Improve the indention in emacs just a bit.

By default emacs offsets both the inline and in-namespaces, lets
fix that.

13 years agoReplace .emacs-dirvars with .dir-locals.el
José Fonseca [Tue, 25 Oct 2011 22:16:35 +0000 (23:16 +0100)]
Replace .emacs-dirvars with .dir-locals.el

Just basic whitespace formatting settings for all file types for now.
(And let the emacs pros do the rest later)

13 years agoDocument known issues.
José Fonseca [Tue, 25 Oct 2011 08:57:01 +0000 (09:57 +0100)]
Document known issues.

Issue 47.

13 years agoEmit a warning when the window size cannot be inferred.
José Fonseca [Tue, 25 Oct 2011 08:56:15 +0000 (09:56 +0100)]
Emit a warning when the window size cannot be inferred.

Issue 47.

13 years agotracedump: Add tri-state --color option (auto, always, or never)
Carl Worth [Thu, 20 Oct 2011 22:22:09 +0000 (15:22 -0700)]
tracedump: Add tri-state --color option (auto, always, or never)

This follows a pattern similar to that provided by other tools, (such
as grep). The default auto mode colorizes if stdout is a tty. The always
and never modes explicit enable or disable colorizing.

The old --no-color and --no-colour options are deprecated, (no longer
documented but still supported to avoid any regressions of scripts).

Signed-off-by: José Fonseca <jose.r.fonseca@gmail.com>
13 years agoBe more concise about DXSDK requirements.
José Fonseca [Sun, 23 Oct 2011 10:07:38 +0000 (11:07 +0100)]
Be more concise about DXSDK requirements.

13 years agoretracediff: More helpful error message when glretrace is not found.
José Fonseca [Thu, 20 Oct 2011 14:12:10 +0000 (16:12 +0200)]
retracediff: More helpful error message when glretrace is not found.

13 years agoTrace glXCreateGLXPixmapMESA.
José Fonseca [Wed, 19 Oct 2011 15:28:49 +0000 (17:28 +0200)]
Trace glXCreateGLXPixmapMESA.

13 years agoGenerated code formatting improvements.
José Fonseca [Sun, 16 Oct 2011 13:15:36 +0000 (14:15 +0100)]
Generated code formatting improvements.

13 years agoCleanup Literal class.
José Fonseca [Sat, 15 Oct 2011 14:10:06 +0000 (15:10 +0100)]
Cleanup Literal class.

13 years agoDistinguish between tags and ids.
José Fonseca [Sat, 15 Oct 2011 12:17:26 +0000 (13:17 +0100)]
Distinguish between tags and ids.

13 years agoRemove dead base parameter to literal types.
José Fonseca [Sat, 15 Oct 2011 10:21:15 +0000 (11:21 +0100)]
Remove dead base parameter to literal types.

Unnecessary given we encode it in binary form anyway.

13 years agoSpecify constant array lengths as integers.
José Fonseca [Sat, 15 Oct 2011 09:26:30 +0000 (10:26 +0100)]
Specify constant array lengths as integers.

13 years agoBring some of the virtual-memory-regions
José Fonseca [Fri, 14 Oct 2011 10:34:27 +0000 (11:34 +0100)]
Bring some of the virtual-memory-regions

Tracking user memory by querying virtual memory subsystem is not reboust
enough for master, but works in many cases, yielding much smaller and
efficient traces.

This change brings the ability of retracing traces generated by the
virtual-memory-regions branch.

It also brings more efficient tracing of glFlushMappedBufferRange calls.

The trace file version is bumped as a result.

13 years agoFactor out polymorphic type generated code into functions.
José Fonseca [Fri, 14 Oct 2011 09:15:02 +0000 (10:15 +0100)]
Factor out polymorphic type generated code into functions.

13 years agoGenerate more compact switch statements for polymorphic types.
José Fonseca [Fri, 14 Oct 2011 09:04:55 +0000 (10:04 +0100)]
Generate more compact switch statements for polymorphic types.

13 years agoMore polymorphic types in D3D9.
José Fonseca [Fri, 14 Oct 2011 09:04:12 +0000 (10:04 +0100)]
More polymorphic types in D3D9.

13 years agoAllow basic specification of polymorphic types.
José Fonseca [Thu, 13 Oct 2011 08:52:52 +0000 (09:52 +0100)]
Allow basic specification of polymorphic types.

Unfortunately quite common in GL/D3D APIs.  And this will help hanlding
better without less hand written code.

Just D3D9 for now as guinea pig.

13 years agoHandle GLenums disguised as GLdoubles too.
José Fonseca [Thu, 13 Oct 2011 07:26:27 +0000 (08:26 +0100)]
Handle GLenums disguised as GLdoubles too.

13 years agoAdd comment about SetUnhandledExceptionFilter
José Fonseca [Tue, 11 Oct 2011 19:29:02 +0000 (20:29 +0100)]
Add comment about SetUnhandledExceptionFilter

13 years agoFix retracing of wglShareLists for currently bound contexts.
José Fonseca [Tue, 11 Oct 2011 18:33:22 +0000 (19:33 +0100)]
Fix retracing of wglShareLists for currently bound contexts.

13 years agoHandle null strings in json writer.
José Fonseca [Tue, 11 Oct 2011 18:33:02 +0000 (19:33 +0100)]
Handle null strings in json writer.

13 years agoAvoid depending on MinGW runtime DLLs.
José Fonseca [Tue, 11 Oct 2011 18:32:30 +0000 (19:32 +0100)]
Avoid depending on MinGW runtime DLLs.

13 years agoAdd a few comments/links to Cocoa development resources.
José Fonseca [Mon, 10 Oct 2011 19:51:43 +0000 (20:51 +0100)]
Add a few comments/links to Cocoa development resources.

13 years agoFix dumb typo.
José Fonseca [Mon, 10 Oct 2011 19:17:35 +0000 (20:17 +0100)]
Fix dumb typo.

13 years agoIgnore several harmless CGL calls when rectracing.
José Fonseca [Mon, 10 Oct 2011 18:36:59 +0000 (19:36 +0100)]
Ignore several harmless CGL calls when rectracing.

13 years agoUse Cocoa on Mac OS X.
José Fonseca [Fri, 7 Oct 2011 14:33:48 +0000 (15:33 +0100)]
Use Cocoa on Mac OS X.

It will enable better control for OpenGL context creation.

13 years agos/unknown/unsupported.
José Fonseca [Sun, 9 Oct 2011 16:27:23 +0000 (17:27 +0100)]
s/unknown/unsupported.

13 years agoFix MacOSX build.
José Fonseca [Sun, 9 Oct 2011 16:05:58 +0000 (17:05 +0100)]
Fix MacOSX build.

13 years agoMore GL api spec cleanups.
José Fonseca [Sun, 9 Oct 2011 15:54:57 +0000 (16:54 +0100)]
More GL api spec cleanups.

13 years agoCleanup param size computation.
José Fonseca [Sun, 9 Oct 2011 15:33:00 +0000 (16:33 +0100)]
Cleanup param size computation.

13 years agoCreate contexts with DEBUG_BIT when not benchmarking.
José Fonseca [Sun, 9 Oct 2011 15:16:18 +0000 (16:16 +0100)]
Create contexts with DEBUG_BIT when not benchmarking.

13 years agoFix public/private GL symbols.
José Fonseca [Sun, 9 Oct 2011 13:56:16 +0000 (14:56 +0100)]
Fix public/private GL symbols.

According to the ABI.

13 years agoTweak GLX specs.
José Fonseca [Sun, 9 Oct 2011 13:50:24 +0000 (14:50 +0100)]
Tweak GLX specs.

13 years agoRemove the GL_KTX_buffer_region entry points with EXT suffix.
José Fonseca [Sun, 9 Oct 2011 09:57:43 +0000 (10:57 +0100)]
Remove the GL_KTX_buffer_region entry points with EXT suffix.

It was a glew bug, fixed in 1.7.0.

13 years agoSimplify glws class hierarchy.
José Fonseca [Sun, 9 Oct 2011 09:36:44 +0000 (10:36 +0100)]
Simplify glws class hierarchy.

13 years agoFix retracing of several older extensions.
José Fonseca [Sun, 9 Oct 2011 08:45:22 +0000 (09:45 +0100)]
Fix retracing of several older extensions.

13 years agoFix retracing of glGetSeparableFilter w/ pack buffer.
José Fonseca [Sun, 9 Oct 2011 08:44:03 +0000 (09:44 +0100)]
Fix retracing of glGetSeparableFilter w/ pack buffer.

13 years agoHandle glDraw*BaseInstance.
José Fonseca [Sun, 9 Oct 2011 00:04:17 +0000 (01:04 +0100)]
Handle glDraw*BaseInstance.

13 years agoUniformize warning output.
José Fonseca [Sat, 8 Oct 2011 19:23:18 +0000 (20:23 +0100)]
Uniformize warning output.

13 years agoRefactor more common retracing code.
José Fonseca [Sat, 8 Oct 2011 16:16:18 +0000 (17:16 +0100)]
Refactor more common retracing code.

13 years agoHide retrace_unknown().
José Fonseca [Sat, 8 Oct 2011 16:04:13 +0000 (17:04 +0100)]
Hide retrace_unknown().

13 years agoFix MSVC build.
José Fonseca [Sat, 8 Oct 2011 16:30:27 +0000 (17:30 +0100)]
Fix MSVC build.

13 years agoIgnore unexpected end of file in gzread.
José Fonseca [Sat, 8 Oct 2011 12:17:55 +0000 (13:17 +0100)]
Ignore unexpected end of file in gzread.

zlib-1.2.4 onwards makes it is impossible to read the last block of
incomplete gzip traces without this modification.

13 years agoUpgrade bundled zlib to 1.2.5 again.
José Fonseca [Sat, 8 Oct 2011 10:48:47 +0000 (11:48 +0100)]
Upgrade bundled zlib to 1.2.5 again.

13 years agoUniversal config.h for snappy.
José Fonseca [Sat, 8 Oct 2011 15:47:33 +0000 (16:47 +0100)]
Universal config.h for snappy.

Should (hopefully) work on all platforms that apitrace builds.

And this will make my life easier, as it will allow mixed in/out of
source builds flawlessly.

13 years agoFix mixed in/out of source builds.
José Fonseca [Sat, 8 Oct 2011 11:42:56 +0000 (12:42 +0100)]
Fix mixed in/out of source builds.

Mixing in/out of source builds is not really a good policy, but
something I do quite often due to convenience.

13 years agoUpdate glext.h
José Fonseca [Sat, 8 Oct 2011 09:25:35 +0000 (10:25 +0100)]
Update glext.h

13 years agoUpgrade bundled snappy to version 1.0.4.
José Fonseca [Sat, 8 Oct 2011 09:22:08 +0000 (10:22 +0100)]
Upgrade bundled snappy to version 1.0.4.

13 years agoFix a crash when loading multiple frames at once.
Zack Rusin [Sat, 8 Oct 2011 03:55:55 +0000 (23:55 -0400)]
Fix a crash when loading multiple frames at once.

Happens particularly often when replay has multiple errors in
different frames and they're loaded in a rapid-fire fashion.