tools/apitrace.git
13 years agoFormatting fixes.
José Fonseca [Fri, 23 Sep 2011 07:24:28 +0000 (08:24 +0100)]
Formatting fixes.

13 years agoUpdate news.
José Fonseca [Fri, 23 Sep 2011 07:18:36 +0000 (08:18 +0100)]
Update news.

13 years agoInstall the signal handlers as early as possible,
José Fonseca [Thu, 22 Sep 2011 16:49:24 +0000 (17:49 +0100)]
Install the signal handlers as early as possible,

To prevent interfering with the application's signal handling.

13 years agoSplit D3D specs for trace generators.
José Fonseca [Wed, 21 Sep 2011 07:12:39 +0000 (08:12 +0100)]
Split D3D specs for trace generators.

13 years agoPut all common code in a subdirectory.
José Fonseca [Wed, 21 Sep 2011 06:46:50 +0000 (07:46 +0100)]
Put all common code in a subdirectory.

13 years agoRemove unused files.
Zack Rusin [Wed, 21 Sep 2011 04:37:55 +0000 (00:37 -0400)]
Remove unused files.

13 years agoRemove some extra debugging output.
Zack Rusin [Wed, 21 Sep 2011 04:37:03 +0000 (00:37 -0400)]
Remove some extra debugging output.

13 years agoMerge branch 'on-demand-loading'
Zack Rusin [Wed, 21 Sep 2011 04:30:58 +0000 (00:30 -0400)]
Merge branch 'on-demand-loading'

Fixes #36

13 years agoMake sure that the loader deletes the signatures.
Zack Rusin [Wed, 21 Sep 2011 04:25:03 +0000 (00:25 -0400)]
Make sure that the loader deletes the signatures.

13 years agoFix silly typo
Zack Rusin [Tue, 20 Sep 2011 03:45:39 +0000 (23:45 -0400)]
Fix silly typo

13 years agoIf a frame has already been loaded don't do it again.
Zack Rusin [Tue, 20 Sep 2011 03:44:25 +0000 (23:44 -0400)]
If a frame has already been loaded don't do it again.

In particular for searching we kept reloading frames over and
over again.

13 years agoHandle NV_vertex_array_range GLX entry points.
José Fonseca [Mon, 19 Sep 2011 18:59:44 +0000 (19:59 +0100)]
Handle NV_vertex_array_range GLX entry points.

13 years agoHandle GL_NV_texture_shader2's texture formats.
José Fonseca [Mon, 19 Sep 2011 18:58:59 +0000 (19:58 +0100)]
Handle GL_NV_texture_shader2's texture formats.

13 years agoHandle some of GL_NV_register_combiners parameters better.
José Fonseca [Mon, 19 Sep 2011 18:58:18 +0000 (19:58 +0100)]
Handle some of GL_NV_register_combiners parameters better.

13 years agoAlways add calls for last frame.
José Fonseca [Thu, 1 Sep 2011 18:17:41 +0000 (19:17 +0100)]
Always add calls for last frame.

When viewing traces of apps that crashed, the last frame is the most
interesting of all.

Furthermore, last frames actually do have markers, but no calls.

13 years agoBetter EXT_texture_sRGB_decode support.
José Fonseca [Mon, 19 Sep 2011 14:06:52 +0000 (15:06 +0100)]
Better EXT_texture_sRGB_decode support.

13 years agoInfer the drawable size from glBlitFramebuffer too
José Fonseca [Mon, 19 Sep 2011 09:09:53 +0000 (10:09 +0100)]
Infer the drawable size from glBlitFramebuffer too

13 years agoAdd a few links for signal handling reference material.
José Fonseca [Mon, 19 Sep 2011 08:30:52 +0000 (09:30 +0100)]
Add a few links for signal handling reference material.

13 years agoMore descriptive framebuffer error codes.
José Fonseca [Mon, 19 Sep 2011 08:30:10 +0000 (09:30 +0100)]
More descriptive framebuffer error codes.

13 years agoAdd a few links on how to obtain stack back traces.
José Fonseca [Mon, 19 Sep 2011 08:29:08 +0000 (09:29 +0100)]
Add a few links on how to obtain stack back traces.

13 years agoCleanup some of the code.
Zack Rusin [Mon, 19 Sep 2011 07:04:40 +0000 (03:04 -0400)]
Cleanup some of the code.

13 years agoDelete loadertest and cleanup some of the new api.
Zack Rusin [Sun, 18 Sep 2011 23:40:47 +0000 (19:40 -0400)]
Delete loadertest and cleanup some of the new api.

13 years agoDocument the major user-visible developments.
José Fonseca [Sun, 18 Sep 2011 09:50:25 +0000 (10:50 +0100)]
Document the major user-visible developments.

13 years agoFix typos.
José Fonseca [Sun, 18 Sep 2011 09:49:13 +0000 (10:49 +0100)]
Fix typos.

13 years agoDocument GREMEDY extension usage.
José Fonseca [Sun, 18 Sep 2011 09:31:04 +0000 (10:31 +0100)]
Document GREMEDY extension usage.

13 years agoAdd documentation on how to report bugs.
José Fonseca [Sat, 17 Sep 2011 20:18:57 +0000 (21:18 +0100)]
Add documentation on how to report bugs.

13 years agoShow thumbnail of the color buffer in tooltips.
Zack Rusin [Fri, 16 Sep 2011 00:23:27 +0000 (20:23 -0400)]
Show thumbnail of the color buffer in tooltips.

if we got the state for the given frame we can show
a nicer tooltip with a thumbnail of the current color buffer.

13 years agoAdd a few comments.
José Fonseca [Thu, 15 Sep 2011 07:21:09 +0000 (08:21 +0100)]
Add a few comments.

13 years agoComplete/tweak the specs for GL 4.0-4.2.
José Fonseca [Thu, 15 Sep 2011 07:15:33 +0000 (08:15 +0100)]
Complete/tweak the specs for GL 4.0-4.2.

Untested with actual GL 4.x apps, but hopefully better support than before.

13 years agoUpdate glext headers.
José Fonseca [Thu, 15 Sep 2011 05:54:10 +0000 (06:54 +0100)]
Update glext headers.

13 years agoFix and cleanup state lookups on frames.
Zack Rusin [Thu, 15 Sep 2011 02:04:07 +0000 (22:04 -0400)]
Fix and cleanup state lookups on frames.

13 years agoShow number of calls per frame.
Zack Rusin [Wed, 14 Sep 2011 21:36:53 +0000 (17:36 -0400)]
Show number of calls per frame.

13 years agoProperly handle and propagate retrace errors.
Zack Rusin [Wed, 14 Sep 2011 05:45:12 +0000 (01:45 -0400)]
Properly handle and propagate retrace errors.

13 years agoActually save the edited calls.
Zack Rusin [Wed, 14 Sep 2011 05:45:01 +0000 (01:45 -0400)]
Actually save the edited calls.

13 years agoRemove unused callIndex methods.
Zack Rusin [Wed, 14 Sep 2011 04:26:29 +0000 (00:26 -0400)]
Remove unused callIndex methods.

13 years agoImplement trace saving.
Zack Rusin [Wed, 14 Sep 2011 03:58:45 +0000 (23:58 -0400)]
Implement trace saving.

13 years agoCleanup the code.
Zack Rusin [Tue, 13 Sep 2011 21:58:58 +0000 (17:58 -0400)]
Cleanup the code.

Frames own the calls.

13 years agoRemove calls and numCalls from the ApiTrace class.
Zack Rusin [Tue, 13 Sep 2011 21:42:39 +0000 (17:42 -0400)]
Remove calls and numCalls from the ApiTrace class.

with on-demand-loading those are in some random state and don't
represent the actual numbers

13 years agoImplement jump to.
Zack Rusin [Tue, 13 Sep 2011 21:33:05 +0000 (17:33 -0400)]
Implement jump to.

13 years agoImplement goto start of the frame and goto end of the frame.
Zack Rusin [Tue, 13 Sep 2011 06:23:39 +0000 (02:23 -0400)]
Implement goto start of the frame and goto end of the frame.

13 years agoImplement find prev.
Zack Rusin [Tue, 13 Sep 2011 05:35:12 +0000 (01:35 -0400)]
Implement find prev.

and fix a bug in find next. now both find next and find prev work.

13 years agoImplement find next for the on-demand-loaded files.
Zack Rusin [Sun, 11 Sep 2011 22:21:29 +0000 (18:21 -0400)]
Implement find next for the on-demand-loaded files.

Find next now works. Find previous hasn't been implemented yet
but the entire infrastructure is there.

13 years agoPlug loadertest's leak.
José Fonseca [Sun, 11 Sep 2011 22:43:44 +0000 (23:43 +0100)]
Plug loadertest's leak.

Just to get them out of the way of memory debuggers.

13 years agoPlug leaks of signature inner structures.
José Fonseca [Sun, 11 Sep 2011 22:42:55 +0000 (23:42 +0100)]
Plug leaks of signature inner structures.

13 years agoPlug Trace::String::value leak.
José Fonseca [Sun, 11 Sep 2011 22:42:16 +0000 (23:42 +0100)]
Plug Trace::String::value leak.

13 years agoCut more of the recently gained fat of the Parser() class.
José Fonseca [Sun, 11 Sep 2011 21:04:07 +0000 (22:04 +0100)]
Cut more of the recently gained fat of the Parser() class.

13 years agoReset pending call lists on Parser::setBookmark().
José Fonseca [Sun, 11 Sep 2011 20:50:22 +0000 (21:50 +0100)]
Reset pending call lists on Parser::setBookmark().

13 years agoDrop m_supportsSeeking.
José Fonseca [Sun, 11 Sep 2011 20:09:08 +0000 (21:09 +0100)]
Drop m_supportsSeeking.

Was only used in an assert, which typically already exists inside the
File implementation.

13 years agoEncapsulate on parser state in structure.
José Fonseca [Sun, 11 Sep 2011 15:53:34 +0000 (16:53 +0100)]
Encapsulate on parser state in structure.

So that parser users don't need to know what needs and needs not to be
saved/restored.

13 years agoEliminate Trace::File::filename().
José Fonseca [Fri, 9 Sep 2011 22:37:48 +0000 (23:37 +0100)]
Eliminate Trace::File::filename().

Unused, and meaningless for pipes.

13 years agoInterleave parse_xxx and scan_xxx methods.
José Fonseca [Sun, 11 Sep 2011 13:44:41 +0000 (14:44 +0100)]
Interleave parse_xxx and scan_xxx methods.

Makes much easier to read/maintain.

13 years agoCleanup a few loose ends from last commits.
José Fonseca [Sun, 11 Sep 2011 13:23:06 +0000 (14:23 +0100)]
Cleanup a few loose ends from last commits.

13 years agoParse the signatures only once.
José Fonseca [Sun, 11 Sep 2011 13:14:21 +0000 (14:14 +0100)]
Parse the signatures only once.

Also use simple offset comparison instead of search in a set to determine
weather a signature is to be expected or not.

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 agoEliminate Trace::File::filename().
José Fonseca [Fri, 9 Sep 2011 22:37:48 +0000 (23:37 +0100)]
Eliminate Trace::File::filename().

Unused, and meaningless for pipes.

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