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.
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: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.
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.
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
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.
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.
José Fonseca [Wed, 24 Aug 2011 15:58:13 +0000 (16:58 +0100)]
Make localWriter a proper singleton.
José Fonseca [Wed, 24 Aug 2011 15:45:40 +0000 (16:45 +0100)]
Move LocalWriter into its own source file.
José Fonseca [Wed, 24 Aug 2011 15:25:15 +0000 (16:25 +0100)]
Fix cleanup Windows' CatchInterrupts implementation.
Zack Rusin [Wed, 24 Aug 2011 03:02:10 +0000 (23:02 -0400)]
Merge branch 'master' into compression
Conflicts:
trace_writer.cpp
Zack Rusin [Wed, 24 Aug 2011 01:17:35 +0000 (21:17 -0400)]
Catch exceptions on Windows.
Zack Rusin [Wed, 24 Aug 2011 01:06:51 +0000 (21:06 -0400)]
Handle sigsegv as well.
Zack Rusin [Tue, 23 Aug 2011 04:37:07 +0000 (00:37 -0400)]
Various changes to the flushing code.
Zack Rusin [Tue, 23 Aug 2011 01:50:08 +0000 (21:50 -0400)]
Add a link to the mailing list
Zack Rusin [Sat, 20 Aug 2011 22:05:04 +0000 (18:05 -0400)]
Make sure that the traces are always complete.
José Fonseca [Sat, 20 Aug 2011 12:53:15 +0000 (13:53 +0100)]
No need to strip ANSI escapes.
Just disable them.
José Fonseca [Sat, 20 Aug 2011 12:49:40 +0000 (13:49 +0100)]
Allow to disable ANSI escape codes on tracedump.
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.
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.
José Fonseca [Sat, 20 Aug 2011 11:46:10 +0000 (12:46 +0100)]
Improvide whitespace formatting of tracediff.sh
José Fonseca [Tue, 16 Aug 2011 19:27:40 +0000 (20:27 +0100)]
Fix segfault running glretrace without args.
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
Zack Rusin [Mon, 8 Aug 2011 13:59:58 +0000 (09:59 -0400)]
Add a file identifier to snappy compressed traces
José Fonseca [Sun, 7 Aug 2011 18:58:27 +0000 (19:58 +0100)]
Bundle Snappy source code.
Zack Rusin [Sat, 6 Aug 2011 23:26:46 +0000 (19:26 -0400)]
Automatically detect whether trace is zlib or snappy compressed
Zack Rusin [Sat, 6 Aug 2011 23:06:56 +0000 (19:06 -0400)]
Make Snappy compression/decompression the default
It's about 10x faster!
Zack Rusin [Sat, 6 Aug 2011 23:06:34 +0000 (19:06 -0400)]
Remove debugging helpers and fix Snappy::rawGetc
Zack Rusin [Sat, 6 Aug 2011 22:58:39 +0000 (18:58 -0400)]
gets returns an int
Zack Rusin [Sat, 6 Aug 2011 21:44:22 +0000 (17:44 -0400)]
Ok, when != -1
Zack Rusin [Sat, 6 Aug 2011 21:21:55 +0000 (17:21 -0400)]
Specify which call caused an error.
Zack Rusin [Sat, 6 Aug 2011 20:12:09 +0000 (16:12 -0400)]
Add snappy compression/decompression code.
Zack Rusin [Fri, 5 Aug 2011 17:43:46 +0000 (13:43 -0400)]
Abstract file writing operation into a class of its own.
Allows us to implement different compression, decompression algos.
Zack Rusin [Fri, 29 Jul 2011 04:07:43 +0000 (00:07 -0400)]
Qt not QT
José Fonseca [Mon, 1 Aug 2011 11:15:59 +0000 (12:15 +0100)]
Link all targets against common.
Less duplication / more uniformization.
José Fonseca [Sun, 31 Jul 2011 23:33:14 +0000 (00:33 +0100)]
Sort uniforms in ascending order by default.
José Fonseca [Sun, 31 Jul 2011 23:29:36 +0000 (00:29 +0100)]
Avoid duplicate shaders.
Some driver stacks alias core GL programs with ARB shader programs.
José Fonseca [Sun, 31 Jul 2011 23:18:48 +0000 (00:18 +0100)]
Fix shader type from ARB_shader_objects.
José Fonseca [Sun, 31 Jul 2011 23:16:35 +0000 (00:16 +0100)]
Add a state tab that list uniforms.
Blatantly copied from parameter tab.
José Fonseca [Sun, 31 Jul 2011 23:08:40 +0000 (00:08 +0100)]
Avoid pointless data structure copying.
C++ makes life easy, but sure makes it easy to write inefficient code.
Probably more cases like this lying around.
José Fonseca [Fri, 29 Jul 2011 16:20:05 +0000 (17:20 +0100)]
Recognize glFrameTerminatorGREMEDY as swapbuffer frame marker.
José Fonseca [Thu, 28 Jul 2011 18:07:50 +0000 (19:07 +0100)]
Fix automagic link in comment.
José Fonseca [Wed, 27 Jul 2011 23:32:54 +0000 (00:32 +0100)]
Add ENABLE_GUI option to control GUI builds and dependency checks
Invoking cmake with -DENABLE_GUI=ON will require QT/QJSON. Setting it
to OFF will never build the GUI, even if QT and QJSON is available. The
default setting is AUTO, whereby QT/QJSON will be used if available (ie.
the current behavior).
Inspired on Tim Harder's patch for Gentoo and the information on
http://www.gentoo.org/proj/en/qa/automagic.xmltest , but modified to not
change the current default automagic behavior.
Zack Rusin [Wed, 27 Jul 2011 21:00:50 +0000 (17:00 -0400)]
Add glXDestroyContext because the warnings were getting irritating.
José Fonseca [Thu, 21 Jul 2011 01:29:26 +0000 (18:29 -0700)]
Dump ARB program uniforms.
José Fonseca [Tue, 19 Jul 2011 23:32:36 +0000 (16:32 -0700)]
Dump uniforms for ARB_shader_objects too.
José Fonseca [Tue, 19 Jul 2011 21:35:40 +0000 (14:35 -0700)]
Handle moe uniform types and sizes.
José Fonseca [Tue, 19 Jul 2011 15:47:02 +0000 (08:47 -0700)]
Basic uniform state dumping
José Fonseca [Tue, 19 Jul 2011 15:24:09 +0000 (08:24 -0700)]
Sort shader objs so that state dumps are reproducible.
José Fonseca [Tue, 19 Jul 2011 15:20:35 +0000 (08:20 -0700)]
Add missing call to dumpCurrentProgramObj.
José Fonseca [Sun, 17 Jul 2011 04:08:16 +0000 (21:08 -0700)]
Accumulate the sources of different shader objects with the same type.
José Fonseca [Fri, 15 Jul 2011 19:16:40 +0000 (20:16 +0100)]
Fix the *GREMEDY proc address return.
José Fonseca [Fri, 15 Jul 2011 09:15:19 +0000 (10:15 +0100)]
Implement GL_GREMEDY_string_marker and GL_GREMEDY_frame_terminator.
José Fonseca [Mon, 11 Jul 2011 00:03:50 +0000 (01:03 +0100)]
Adjust the default tracedump path.
José Fonseca [Thu, 14 Jul 2011 20:33:52 +0000 (21:33 +0100)]
Add missing headers.
José Fonseca [Thu, 14 Jul 2011 17:32:01 +0000 (18:32 +0100)]
Fallback to /proc/self/cmdline on setuid processes.
José Fonseca [Tue, 12 Jul 2011 23:08:21 +0000 (00:08 +0100)]
Import PIL modules from PIL package.
More portable
José Fonseca [Thu, 7 Jul 2011 09:18:09 +0000 (10:18 +0100)]
Fix typo in INT32.
José Fonseca [Tue, 5 Jul 2011 16:55:05 +0000 (17:55 +0100)]
Add missing file to glxtrace.so
José Fonseca [Mon, 4 Jul 2011 09:20:42 +0000 (10:20 +0100)]
Minor tweaks to the markdown.
José Fonseca [Sat, 2 Jul 2011 14:42:57 +0000 (15:42 +0100)]
PNM output support.
Inspired on Mathieu Virbel's raw stdout snashot branch.
José Fonseca [Sat, 2 Jul 2011 14:35:44 +0000 (15:35 +0100)]
Split image code per file format.
José Fonseca [Sat, 2 Jul 2011 13:16:37 +0000 (14:16 +0100)]
Rename static library from trace to common.
José Fonseca [Sat, 2 Jul 2011 13:25:48 +0000 (14:25 +0100)]
Merge remote-tracking branch 'github/markdown'
José Fonseca [Fri, 1 Jul 2011 10:58:16 +0000 (11:58 +0100)]
Fix out of source build.
José Fonseca [Thu, 30 Jun 2011 13:32:57 +0000 (14:32 +0100)]
Use markdown syntax.
José Fonseca [Thu, 30 Jun 2011 12:40:28 +0000 (13:40 +0100)]
Update glext headers.