tools/apitrace.git
13 years agoImplement ZlibFile::currentOffset.
José Fonseca [Sun, 11 Sep 2011 13:12:12 +0000 (14:12 +0100)]
Implement ZlibFile::currentOffset.

It helps making the parsing code simpler, and should not have any
performance impact.

13 years agoPass size_t to File::skip().
José Fonseca [Sun, 11 Sep 2011 10:35:27 +0000 (11:35 +0100)]
Pass size_t to File::skip().

13 years agoRemove unnecessary header.
José Fonseca [Thu, 8 Sep 2011 22:19:19 +0000 (23:19 +0100)]
Remove unnecessary header.

13 years agoMake state lookups with on-demand loading work.
Zack Rusin [Wed, 7 Sep 2011 05:36:41 +0000 (01:36 -0400)]
Make state lookups with on-demand loading work.

13 years agoFirst working on demand loading!
Zack Rusin [Wed, 7 Sep 2011 01:11:36 +0000 (21:11 -0400)]
First working on demand loading!

searching, editing and state lookups don't work quite yet, but the
frames are being loaded on demand.

13 years agoFix indention.
Zack Rusin [Tue, 6 Sep 2011 22:25:34 +0000 (18:25 -0400)]
Fix indention.

13 years agoLoad the last few calls.
Zack Rusin [Tue, 6 Sep 2011 22:23:06 +0000 (18:23 -0400)]
Load the last few calls.

13 years agoMerge remote-tracking branch 'origin/master' into on-demand-loading
Zack Rusin [Tue, 6 Sep 2011 21:45:34 +0000 (17:45 -0400)]
Merge remote-tracking branch 'origin/master' into on-demand-loading

13 years agoSwitch the gui to the on-demand-loader.
Zack Rusin [Tue, 6 Sep 2011 21:44:43 +0000 (17:44 -0400)]
Switch the gui to the on-demand-loader.

Doesn't yet do actual on demand loading, but a lot of the code is
in place.

13 years agoImplement an incremental on demand loader for the gui.
Zack Rusin [Tue, 6 Sep 2011 15:50:07 +0000 (11:50 -0400)]
Implement an incremental on demand loader for the gui.

13 years agoHighlight retracediff output.
José Fonseca [Tue, 6 Sep 2011 09:22:56 +0000 (10:22 +0100)]
Highlight retracediff output.

13 years agoMore writePNM optimizations.
José Fonseca [Tue, 6 Sep 2011 09:14:57 +0000 (10:14 +0100)]
More writePNM optimizations.

13 years agoOptimize Image::writePNM.
José Fonseca [Tue, 6 Sep 2011 08:19:57 +0000 (09:19 +0100)]
Optimize Image::writePNM.

13 years agoUpdate To-DO
José Fonseca [Tue, 6 Sep 2011 00:20:44 +0000 (01:20 +0100)]
Update To-DO

13 years agoSplit build instructions. Document advanced usage.
José Fonseca [Tue, 6 Sep 2011 00:17:48 +0000 (01:17 +0100)]
Split build instructions. Document advanced usage.

13 years agoCleanup retracediff.
José Fonseca [Mon, 5 Sep 2011 23:15:32 +0000 (00:15 +0100)]
Cleanup retracediff.

13 years agoMake retracediff.py get the images from glretrace via stdout.
José Fonseca [Mon, 5 Sep 2011 23:07:41 +0000 (00:07 +0100)]
Make retracediff.py get the images from glretrace via stdout.

Much better performance, as no need to compress and write images to disk,
and also more synchronicity between child processes.

13 years agoEmbedded the call no in PNM images as a comment.
José Fonseca [Mon, 5 Sep 2011 22:18:41 +0000 (23:18 +0100)]
Embedded the call no in PNM images as a comment.

13 years agoAdd code to report parsing/scanning progress.
Zack Rusin [Sun, 4 Sep 2011 20:14:22 +0000 (16:14 -0400)]
Add code to report parsing/scanning progress.

13 years agoTime fetch of the biggest frame.
Zack Rusin [Sat, 3 Sep 2011 20:23:44 +0000 (16:23 -0400)]
Time fetch of the biggest frame.

13 years agoRemove some currently unused member variables.
Zack Rusin [Fri, 2 Sep 2011 23:19:03 +0000 (19:19 -0400)]
Remove some currently unused member variables.

13 years agoDon't decompress blocks that we'll skip.
José Fonseca [Sat, 3 Sep 2011 13:17:29 +0000 (14:17 +0100)]
Don't decompress blocks that we'll skip.

Should help when skipping very big blobs, but don't have such trace
handy now.

13 years agoMake skip length size_t.
José Fonseca [Sat, 3 Sep 2011 12:45:52 +0000 (13:45 +0100)]
Make skip length size_t.

13 years agoMerge branch 'master' into on-demand-loading
José Fonseca [Sat, 3 Sep 2011 12:36:33 +0000 (13:36 +0100)]
Merge branch 'master' into on-demand-loading

Conflicts:
trace_snappyfile.cpp

13 years agoSplit flushCache into read/write versions.
José Fonseca [Sat, 3 Sep 2011 12:30:16 +0000 (13:30 +0100)]
Split flushCache into read/write versions.

13 years agoAdjust for the changes in master.
Zack Rusin [Fri, 2 Sep 2011 23:14:57 +0000 (19:14 -0400)]
Adjust for the changes in master.

13 years agoMerge remote-tracking branch 'origin/master' into on-demand-loading
Zack Rusin [Fri, 2 Sep 2011 20:02:59 +0000 (16:02 -0400)]
Merge remote-tracking branch 'origin/master' into on-demand-loading

13 years agoEnsure full glReadPixels still get recognized as new frames.
José Fonseca [Fri, 2 Sep 2011 17:35:50 +0000 (18:35 +0100)]
Ensure full glReadPixels still get recognized as new frames.

13 years agoImplement scanning/skipping of fragments of the trace
Zack Rusin [Fri, 2 Sep 2011 05:08:49 +0000 (01:08 -0400)]
Implement scanning/skipping of fragments of the trace

for the initial scan. unfortunately it's not the improvement we
were looking for. (from 11.9 to about 9.2 secs on a 240mb trace).

13 years agoTime scanning of the file and a few frame reads.
Zack Rusin [Fri, 2 Sep 2011 03:41:57 +0000 (23:41 -0400)]
Time scanning of the file and a few frame reads.

13 years agoEnsure that calls for traces with a single frame are shown.
José Fonseca [Thu, 1 Sep 2011 18:17:41 +0000 (19:17 +0100)]
Ensure that calls for traces with a single frame are shown.

Otherwise we get a solitary "Frame 0" node without children.

13 years agoDon't (de)serialize mirror images.
José Fonseca [Thu, 1 Sep 2011 17:51:44 +0000 (18:51 +0100)]
Don't (de)serialize mirror images.

This makes the glstate.cpp more consistent.

13 years agoRecognise glFrameTerminatorGREMEDY when retracing.
José Fonseca [Thu, 1 Sep 2011 16:36:10 +0000 (17:36 +0100)]
Recognise glFrameTerminatorGREMEDY when retracing.

13 years agoFix memory usage in the on-demand-loading.
Zack Rusin [Thu, 1 Sep 2011 15:33:51 +0000 (11:33 -0400)]
Fix memory usage in the on-demand-loading.

just store offsets to the first call in a frame in the loader

13 years agoAdd a usedCacheSize() method.
José Fonseca [Thu, 1 Sep 2011 12:47:14 +0000 (13:47 +0100)]
Add a usedCacheSize() method.

Simplifies things a little, and makes the code slightly more robust,
as I trying to figure out why sometimes I get traces with trailing
garbagge.

13 years agoPrevent infinite loop reading snappy compressed files.
José Fonseca [Thu, 1 Sep 2011 12:30:53 +0000 (13:30 +0100)]
Prevent infinite loop reading snappy compressed files.

We were still ending up in an infinite loop when flushCache() was called
inside the while-loop in rawRead(), because m_cacheSize was never zeroed.

13 years agoAlways write snappy chunk lengths in little endian.
José Fonseca [Thu, 1 Sep 2011 11:16:49 +0000 (12:16 +0100)]
Always write snappy chunk lengths in little endian.

13 years agoAlways use size_t for length in files.
José Fonseca [Thu, 1 Sep 2011 10:54:48 +0000 (11:54 +0100)]
Always use size_t for length in files.

That's what the C/STL/zlib/snappy ends up using so it avoids needless casting.

13 years agoFirst working implementation of on-demand-loading of frames/calls.
Zack Rusin [Thu, 1 Sep 2011 05:50:56 +0000 (01:50 -0400)]
First working implementation of on-demand-loading of frames/calls.

13 years agoMerge remote-tracking branch 'origin/master' into on-demand-loading
Zack Rusin [Thu, 1 Sep 2011 04:01:02 +0000 (00:01 -0400)]
Merge remote-tracking branch 'origin/master' into on-demand-loading

13 years agoList GL_TEXTURE_xxx and GL_TEXTURE_BINDING_xxx params per texture unit.
José Fonseca [Wed, 31 Aug 2011 17:23:09 +0000 (18:23 +0100)]
List GL_TEXTURE_xxx and GL_TEXTURE_BINDING_xxx params per texture unit.

13 years agoFix a nasty crash.
Zack Rusin [Mon, 29 Aug 2011 21:24:44 +0000 (17:24 -0400)]
Fix a nasty crash.

the size of the compressed buffer can be under certain circumstances
bigger than the size of the input buffer.

13 years agonasty hack, but for now we need to keep the pointers
Zack Rusin [Mon, 29 Aug 2011 03:28:05 +0000 (23:28 -0400)]
nasty hack, but for now we need to keep the pointers

otherwise if we try to print the vertex/texture data we'll crash

13 years agoChange apiarray to use a qvector instead of a qlist
Zack Rusin [Mon, 29 Aug 2011 02:30:35 +0000 (22:30 -0400)]
Change apiarray to use a qvector instead of a qlist

163mb->151mb

13 years agoSwitch more places from qlist to qvector.
Zack Rusin [Mon, 29 Aug 2011 02:19:46 +0000 (22:19 -0400)]
Switch more places from qlist to qvector.

more memory saving, 182mb->169mb

13 years agoSwitch list to a vector.
Zack Rusin [Mon, 29 Aug 2011 02:05:31 +0000 (22:05 -0400)]
Switch list to a vector.

further reduces memory usage by avoiding overallocation on lists

13 years agoFix a silly mistake.
Zack Rusin [Mon, 29 Aug 2011 01:21:50 +0000 (21:21 -0400)]
Fix a silly mistake.

13 years agoShare enum signatures.
Zack Rusin [Mon, 29 Aug 2011 01:16:22 +0000 (21:16 -0400)]
Share enum signatures.

further reduces memory usage

13 years agoSave more memory.
Zack Rusin [Sun, 28 Aug 2011 23:38:00 +0000 (19:38 -0400)]
Save more memory.

lookup by id instead of the name. lets us use vector instead of a map
like in the trace_parser.

13 years agoReduce the size of ApiTraceCall, ApiTraceEvent and ApiTraceFrame
Zack Rusin [Sun, 28 Aug 2011 21:11:02 +0000 (17:11 -0400)]
Reduce the size of ApiTraceCall, ApiTraceEvent and ApiTraceFrame

This gets down the memory usage down quite a bit.

13 years agoDont't leak blobs all the time.
José Fonseca [Sun, 28 Aug 2011 11:37:30 +0000 (12:37 +0100)]
Dont't leak blobs all the time.

Only leak blobs that are bound, and only in glretrace.

13 years agopreallocate array values
Zack Rusin [Sun, 28 Aug 2011 07:10:01 +0000 (03:10 -0400)]
preallocate array values

13 years agoshave a few more megs by sizing trace call list correctly
Zack Rusin [Sun, 28 Aug 2011 06:38:34 +0000 (02:38 -0400)]
shave a few more megs by sizing trace call list correctly

13 years agoPreallocate a few lists with the correct size.
Zack Rusin [Sun, 28 Aug 2011 06:23:47 +0000 (02:23 -0400)]
Preallocate a few lists with the correct size.

shaves a few megs that were lost due to overallocation

13 years agoShare function signatures.
Zack Rusin [Sun, 28 Aug 2011 04:38:13 +0000 (00:38 -0400)]
Share function signatures.

reduces memory usage by ~150mb on a 40mb trace.

13 years agoChange filterText to searchText
Zack Rusin [Sun, 28 Aug 2011 03:29:19 +0000 (23:29 -0400)]
Change filterText to searchText

Because it's used for searching not filtering, as it was before.

13 years agoFix warnings.
Zack Rusin [Sat, 27 Aug 2011 23:46:16 +0000 (19:46 -0400)]
Fix warnings.

13 years agoCleanup that file.
Zack Rusin [Sat, 27 Aug 2011 23:19:18 +0000 (19:19 -0400)]
Cleanup that file.

just order it to match the header

13 years agoMerge branch 'master' into on-demand-loading
Zack Rusin [Sat, 27 Aug 2011 22:54:49 +0000 (18:54 -0400)]
Merge branch 'master' into on-demand-loading

Conflicts:
trace_snappyfile.hpp

13 years agoMake sure that the snappyfile doesn't try to read past the end of file.
Zack Rusin [Sat, 27 Aug 2011 22:53:28 +0000 (18:53 -0400)]
Make sure that the snappyfile doesn't try to read past the end of file.

13 years agoReset the container after deleting all the elements.
Zack Rusin [Sat, 27 Aug 2011 22:49:35 +0000 (18:49 -0400)]
Reset the container after deleting all the elements.

otherwise the size of the containers stays the same but the elements
hold references to items that have been deleted. It causes crashes
if close is called more than once.

13 years agoSome initial thoughts on the on-demand loading api.
Zack Rusin [Fri, 26 Aug 2011 03:22:30 +0000 (23:22 -0400)]
Some initial thoughts on the on-demand loading api.

13 years agoFile::getc should return -1 (EOF) on failure.
José Fonseca [Fri, 26 Aug 2011 10:38:36 +0000 (11:38 +0100)]
File::getc should return -1 (EOF) on failure.

13 years agoReplicate some of snappy autoconf tests.
José Fonseca [Fri, 26 Aug 2011 07:55:32 +0000 (08:55 +0100)]
Replicate some of snappy autoconf tests.

13 years agoMerge branch 'compression'
Zack Rusin [Thu, 25 Aug 2011 20:54:26 +0000 (16:54 -0400)]
Merge branch 'compression'

13 years agoMake FlushDeep the default and only flush type.
José Fonseca [Thu, 25 Aug 2011 14:36:23 +0000 (15:36 +0100)]
Make FlushDeep the default and only flush type.

Now that flush is only called at extreme events, such as before crashes
and  abnormal termination, we really want the flush method to really
flush everything to disk, to prevent dropping calls.

13 years agoFix dislexic mistake in previous change.
José Fonseca [Thu, 25 Aug 2011 14:15:42 +0000 (15:15 +0100)]
Fix dislexic mistake in previous change.

Bad copy'n'paste..

13 years agoFix Windows builds.
José Fonseca [Thu, 25 Aug 2011 13:07:19 +0000 (14:07 +0100)]
Fix Windows builds.

13 years agoAdd copyright headers.
José Fonseca [Thu, 25 Aug 2011 12:31:31 +0000 (13:31 +0100)]
Add copyright headers.

13 years agoAdvertise GREMEDY extensions through glStringi too.
José Fonseca [Thu, 25 Aug 2011 12:26:43 +0000 (13:26 +0100)]
Advertise GREMEDY extensions through glStringi too.

The preferred method to get extensions on newer GL versions.

13 years agoMake sure that the size of the compressed length is constant.
Zack Rusin [Thu, 25 Aug 2011 04:02:20 +0000 (00:02 -0400)]
Make sure that the size of the compressed length is constant.

size_t can differ between 32 and 64 bit systems.
Plus add some documentation about the file format.

13 years agoFix writing/reading compressed length of the chunks.
Zack Rusin [Thu, 25 Aug 2011 02:16:02 +0000 (22:16 -0400)]
Fix writing/reading compressed length of the chunks.

Spotted by Jose.

13 years agoInline some File methods.
Zack Rusin [Thu, 25 Aug 2011 01:54:56 +0000 (21:54 -0400)]
Inline some File methods.

13 years agoExport SnappyFile class to its own file.
Zack Rusin [Thu, 25 Aug 2011 01:21:38 +0000 (21:21 -0400)]
Export SnappyFile class to its own file.

13 years agoUpdate TODO.
José Fonseca [Wed, 24 Aug 2011 19:42:27 +0000 (20:42 +0100)]
Update TODO.

Thanks to Zack for taking this on himself.

13 years agoMerge branch 'master' into compression
José Fonseca [Wed, 24 Aug 2011 18:58:47 +0000 (19:58 +0100)]
Merge branch 'master' into compression

Conflicts:
os.hpp
os_posix.cpp
os_win32.cpp
trace_writer.cpp

13 years agoUse the exception handler from localWriter to only flush on a signal.
José Fonseca [Wed, 24 Aug 2011 18:33:06 +0000 (19:33 +0100)]
Use the exception handler from localWriter to only flush on a signal.

13 years agoSignal handling support.
José Fonseca [Wed, 24 Aug 2011 18:19:40 +0000 (19:19 +0100)]
Signal handling support.

Based on Zack Rusin's work, but a bit more generic.

13 years agoMake localWriter a proper singleton.
José Fonseca [Wed, 24 Aug 2011 15:58:13 +0000 (16:58 +0100)]
Make localWriter a proper singleton.

13 years agoMove LocalWriter into its own source file.
José Fonseca [Wed, 24 Aug 2011 15:45:40 +0000 (16:45 +0100)]
Move LocalWriter into its own source file.

13 years agoFix cleanup Windows' CatchInterrupts implementation.
José Fonseca [Wed, 24 Aug 2011 15:25:15 +0000 (16:25 +0100)]
Fix cleanup Windows' CatchInterrupts implementation.

13 years agoMerge branch 'master' into compression
Zack Rusin [Wed, 24 Aug 2011 03:02:10 +0000 (23:02 -0400)]
Merge branch 'master' into compression

Conflicts:
trace_writer.cpp

13 years agoCatch exceptions on Windows.
Zack Rusin [Wed, 24 Aug 2011 01:17:35 +0000 (21:17 -0400)]
Catch exceptions on Windows.

13 years agoHandle sigsegv as well.
Zack Rusin [Wed, 24 Aug 2011 01:06:51 +0000 (21:06 -0400)]
Handle sigsegv as well.

13 years agoVarious changes to the flushing code.
Zack Rusin [Tue, 23 Aug 2011 04:37:07 +0000 (00:37 -0400)]
Various changes to the flushing code.

13 years agoAdd a link to the mailing list
Zack Rusin [Tue, 23 Aug 2011 01:50:08 +0000 (21:50 -0400)]
Add a link to the mailing list

13 years agoMake sure that the traces are always complete.
Zack Rusin [Sat, 20 Aug 2011 22:05:04 +0000 (18:05 -0400)]
Make sure that the traces are always complete.

13 years agoNo need to strip ANSI escapes.
José Fonseca [Sat, 20 Aug 2011 12:53:15 +0000 (13:53 +0100)]
No need to strip ANSI escapes.

Just disable them.

13 years agoAllow to disable ANSI escape codes on tracedump.
José Fonseca [Sat, 20 Aug 2011 12:49:40 +0000 (13:49 +0100)]
Allow to disable ANSI escape codes on tracedump.

13 years agoDrop python trace parsing code.
José Fonseca [Sat, 20 Aug 2011 12:47:18 +0000 (13:47 +0100)]
Drop python trace parsing code.

It's too troublesome to maintain two different implementations of the
same thing.

13 years agoSpecialized Writer for tracing the current process.
José Fonseca [Sat, 20 Aug 2011 12:01:37 +0000 (13:01 +0100)]
Specialized Writer for tracing the current process.

No need to burden the GUI and other tools with mutexes, and file sync/flushes.

13 years agoImprovide whitespace formatting of tracediff.sh
José Fonseca [Sat, 20 Aug 2011 11:46:10 +0000 (12:46 +0100)]
Improvide whitespace formatting of tracediff.sh

13 years agoFix segfault running glretrace without args.
José Fonseca [Tue, 16 Aug 2011 19:27:40 +0000 (20:27 +0100)]
Fix segfault running glretrace without args.

13 years agoDon't change immutable values.
Zack Rusin [Mon, 8 Aug 2011 21:49:51 +0000 (17:49 -0400)]
Don't change immutable values.

When editing the values in the gui we'd silently change some immutable
values. This fixes #29

13 years agoAdd a file identifier to snappy compressed traces
Zack Rusin [Mon, 8 Aug 2011 13:59:58 +0000 (09:59 -0400)]
Add a file identifier to snappy compressed traces

13 years agoBundle Snappy source code.
José Fonseca [Sun, 7 Aug 2011 18:58:27 +0000 (19:58 +0100)]
Bundle Snappy source code.

13 years agoAutomatically detect whether trace is zlib or snappy compressed
Zack Rusin [Sat, 6 Aug 2011 23:26:46 +0000 (19:26 -0400)]
Automatically detect whether trace is zlib or snappy compressed

13 years agoMake Snappy compression/decompression the default
Zack Rusin [Sat, 6 Aug 2011 23:06:56 +0000 (19:06 -0400)]
Make Snappy compression/decompression the default

It's about 10x faster!

13 years agoRemove debugging helpers and fix Snappy::rawGetc
Zack Rusin [Sat, 6 Aug 2011 23:06:34 +0000 (19:06 -0400)]
Remove debugging helpers and fix Snappy::rawGetc

13 years agogets returns an int
Zack Rusin [Sat, 6 Aug 2011 22:58:39 +0000 (18:58 -0400)]
gets returns an int