Zack Rusin [Sun, 18 Sep 2011 23:40:47 +0000 (19:40 -0400)]
Delete loadertest and cleanup some of the new api.
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.
Zack Rusin [Thu, 15 Sep 2011 02:04:07 +0000 (22:04 -0400)]
Fix and cleanup state lookups on frames.
Zack Rusin [Wed, 14 Sep 2011 21:36:53 +0000 (17:36 -0400)]
Show number of calls per frame.
Zack Rusin [Wed, 14 Sep 2011 05:45:12 +0000 (01:45 -0400)]
Properly handle and propagate retrace errors.
Zack Rusin [Wed, 14 Sep 2011 05:45:01 +0000 (01:45 -0400)]
Actually save the edited calls.
Zack Rusin [Wed, 14 Sep 2011 04:26:29 +0000 (00:26 -0400)]
Remove unused callIndex methods.
Zack Rusin [Wed, 14 Sep 2011 03:58:45 +0000 (23:58 -0400)]
Implement trace saving.
Zack Rusin [Tue, 13 Sep 2011 21:58:58 +0000 (17:58 -0400)]
Cleanup the code.
Frames own the calls.
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
Zack Rusin [Tue, 13 Sep 2011 21:33:05 +0000 (17:33 -0400)]
Implement jump to.
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.
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.
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.
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.
José Fonseca [Sun, 11 Sep 2011 22:42:55 +0000 (23:42 +0100)]
Plug leaks of signature inner structures.
José Fonseca [Sun, 11 Sep 2011 22:42:16 +0000 (23:42 +0100)]
Plug Trace::String::value leak.
José Fonseca [Sun, 11 Sep 2011 21:04:07 +0000 (22:04 +0100)]
Cut more of the recently gained fat of the Parser() class.
José Fonseca [Sun, 11 Sep 2011 20:50:22 +0000 (21:50 +0100)]
Reset pending call lists on Parser::setBookmark().
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.
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.
José Fonseca [Fri, 9 Sep 2011 22:37:48 +0000 (23:37 +0100)]
Eliminate Trace::File::filename().
Unused, and meaningless for pipes.
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.
José Fonseca [Sun, 11 Sep 2011 13:23:06 +0000 (14:23 +0100)]
Cleanup a few loose ends from last commits.
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.
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.
José Fonseca [Sun, 11 Sep 2011 10:35:27 +0000 (11:35 +0100)]
Pass size_t to File::skip().
José Fonseca [Thu, 8 Sep 2011 22:19:19 +0000 (23:19 +0100)]
Remove unnecessary header.
Zack Rusin [Wed, 7 Sep 2011 05:36:41 +0000 (01:36 -0400)]
Make state lookups with on-demand loading work.
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.
Zack Rusin [Tue, 6 Sep 2011 22:25:34 +0000 (18:25 -0400)]
Fix indention.
Zack Rusin [Tue, 6 Sep 2011 22:23:06 +0000 (18:23 -0400)]
Load the last few calls.
Zack Rusin [Tue, 6 Sep 2011 21:45:34 +0000 (17:45 -0400)]
Merge remote-tracking branch 'origin/master' into on-demand-loading
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.
Zack Rusin [Tue, 6 Sep 2011 15:50:07 +0000 (11:50 -0400)]
Implement an incremental on demand loader for the gui.
José Fonseca [Tue, 6 Sep 2011 09:22:56 +0000 (10:22 +0100)]
Highlight retracediff output.
José Fonseca [Tue, 6 Sep 2011 09:14:57 +0000 (10:14 +0100)]
More writePNM optimizations.
José Fonseca [Tue, 6 Sep 2011 08:19:57 +0000 (09:19 +0100)]
Optimize Image::writePNM.
José Fonseca [Tue, 6 Sep 2011 00:20:44 +0000 (01:20 +0100)]
Update To-DO
José Fonseca [Tue, 6 Sep 2011 00:17:48 +0000 (01:17 +0100)]
Split build instructions. Document advanced usage.
José Fonseca [Mon, 5 Sep 2011 23:15:32 +0000 (00:15 +0100)]
Cleanup retracediff.
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.
José Fonseca [Mon, 5 Sep 2011 22:18:41 +0000 (23:18 +0100)]
Embedded the call no in PNM images as a comment.
Zack Rusin [Sun, 4 Sep 2011 20:14:22 +0000 (16:14 -0400)]
Add code to report parsing/scanning progress.
Zack Rusin [Sat, 3 Sep 2011 20:23:44 +0000 (16:23 -0400)]
Time fetch of the biggest frame.
Zack Rusin [Fri, 2 Sep 2011 23:19:03 +0000 (19:19 -0400)]
Remove some currently unused member variables.
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.
José Fonseca [Sat, 3 Sep 2011 12:45:52 +0000 (13:45 +0100)]
Make skip length size_t.
José Fonseca [Sat, 3 Sep 2011 12:36:33 +0000 (13:36 +0100)]
Merge branch 'master' into on-demand-loading
Conflicts:
trace_snappyfile.cpp
José Fonseca [Sat, 3 Sep 2011 12:30:16 +0000 (13:30 +0100)]
Split flushCache into read/write versions.
Zack Rusin [Fri, 2 Sep 2011 23:14:57 +0000 (19:14 -0400)]
Adjust for the changes in master.
Zack Rusin [Fri, 2 Sep 2011 20:02:59 +0000 (16:02 -0400)]
Merge remote-tracking branch 'origin/master' into on-demand-loading
José Fonseca [Fri, 2 Sep 2011 17:35:50 +0000 (18:35 +0100)]
Ensure full glReadPixels still get recognized as new frames.
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).
Zack Rusin [Fri, 2 Sep 2011 03:41:57 +0000 (23:41 -0400)]
Time scanning of the file and a few frame reads.
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.
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.
José Fonseca [Thu, 1 Sep 2011 16:36:10 +0000 (17:36 +0100)]
Recognise glFrameTerminatorGREMEDY when retracing.
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
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.
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.
José Fonseca [Thu, 1 Sep 2011 11:16:49 +0000 (12:16 +0100)]
Always write snappy chunk lengths in little endian.
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.
Zack Rusin [Thu, 1 Sep 2011 05:50:56 +0000 (01:50 -0400)]
First working implementation of on-demand-loading of frames/calls.
Zack Rusin [Thu, 1 Sep 2011 04:01:02 +0000 (00:01 -0400)]
Merge remote-tracking branch 'origin/master' into on-demand-loading
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.
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.
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
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
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
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
Zack Rusin [Mon, 29 Aug 2011 01:21:50 +0000 (21:21 -0400)]
Fix a silly mistake.
Zack Rusin [Mon, 29 Aug 2011 01:16:22 +0000 (21:16 -0400)]
Share enum signatures.
further reduces memory usage
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.
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.
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.
Zack Rusin [Sun, 28 Aug 2011 07:10:01 +0000 (03:10 -0400)]
preallocate array values
Zack Rusin [Sun, 28 Aug 2011 06:38:34 +0000 (02:38 -0400)]
shave a few more megs by sizing trace call list correctly
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
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.
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.
Zack Rusin [Sat, 27 Aug 2011 23:46:16 +0000 (19:46 -0400)]
Fix warnings.
Zack Rusin [Sat, 27 Aug 2011 23:19:18 +0000 (19:19 -0400)]
Cleanup that file.
just order it to match the header
Zack Rusin [Sat, 27 Aug 2011 22:54:49 +0000 (18:54 -0400)]
Merge branch 'master' into on-demand-loading
Conflicts:
trace_snappyfile.hpp
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.
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.
Zack Rusin [Fri, 26 Aug 2011 03:22:30 +0000 (23:22 -0400)]
Some initial thoughts on the on-demand loading api.
José Fonseca [Fri, 26 Aug 2011 10:38:36 +0000 (11:38 +0100)]
File::getc should return -1 (EOF) on failure.
José Fonseca [Fri, 26 Aug 2011 07:55:32 +0000 (08:55 +0100)]
Replicate some of snappy autoconf tests.
Zack Rusin [Thu, 25 Aug 2011 20:54:26 +0000 (16:54 -0400)]
Merge branch 'compression'
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.
José Fonseca [Thu, 25 Aug 2011 14:15:42 +0000 (15:15 +0100)]
Fix dislexic mistake in previous change.
Bad copy'n'paste..
José Fonseca [Thu, 25 Aug 2011 13:07:19 +0000 (14:07 +0100)]
Fix Windows builds.
José Fonseca [Thu, 25 Aug 2011 12:31:31 +0000 (13:31 +0100)]
Add copyright headers.
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.
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.
Zack Rusin [Thu, 25 Aug 2011 02:16:02 +0000 (22:16 -0400)]
Fix writing/reading compressed length of the chunks.
Spotted by Jose.
Zack Rusin [Thu, 25 Aug 2011 01:54:56 +0000 (21:54 -0400)]
Inline some File methods.
Zack Rusin [Thu, 25 Aug 2011 01:21:38 +0000 (21:21 -0400)]
Export SnappyFile class to its own file.
José Fonseca [Wed, 24 Aug 2011 19:42:27 +0000 (20:42 +0100)]
Update TODO.
Thanks to Zack for taking this on himself.