tools/apitrace.git
12 years agoTry to cope with unwrapped objects.
José Fonseca [Tue, 31 Jan 2012 20:14:31 +0000 (20:14 +0000)]
Try to cope with unwrapped objects.

12 years agoFix assertion failure.
José Fonseca [Tue, 31 Jan 2012 19:35:24 +0000 (19:35 +0000)]
Fix assertion failure.

12 years agoCleanup unicode support.
José Fonseca [Tue, 31 Jan 2012 15:10:13 +0000 (15:10 +0000)]
Cleanup unicode support.

12 years agoHandle IDirect3DVertexBuffer9::Lock's OffsetToLock param properly
José Fonseca [Tue, 31 Jan 2012 14:28:39 +0000 (14:28 +0000)]
Handle IDirect3DVertexBuffer9::Lock's OffsetToLock param properly

12 years agoIgnore Windows thread naming exceptions.
José Fonseca [Tue, 31 Jan 2012 12:29:54 +0000 (12:29 +0000)]
Ignore Windows thread naming exceptions.

12 years agoHandle more REFIID queries.
José Fonseca [Tue, 31 Jan 2012 12:19:57 +0000 (12:19 +0000)]
Handle more REFIID queries.

12 years agoAdd API::getAllInterfaces helper method.
José Fonseca [Tue, 31 Jan 2012 10:56:38 +0000 (10:56 +0000)]
Add API::getAllInterfaces helper method.

12 years agoImplement Rebuilder::visitInterface.
José Fonseca [Tue, 31 Jan 2012 10:55:49 +0000 (10:55 +0000)]
Implement Rebuilder::visitInterface.

12 years agos/all_types/getAllTypes/
José Fonseca [Tue, 31 Jan 2012 10:48:58 +0000 (10:48 +0000)]
s/all_types/getAllTypes/

12 years agoAllow to use newer DXSDKs w/ MinGW.
José Fonseca [Tue, 31 Jan 2012 10:11:57 +0000 (10:11 +0000)]
Allow to use newer DXSDKs w/ MinGW.

12 years agoAvoid hacking around argc / argv.
José Fonseca [Tue, 31 Jan 2012 10:02:52 +0000 (10:02 +0000)]
Avoid hacking around argc / argv.

12 years agoConver apitrace dump to getopt.
José Fonseca [Sat, 28 Jan 2012 13:54:52 +0000 (13:54 +0000)]
Conver apitrace dump to getopt.

12 years agoBundle BSD getopt.
José Fonseca [Fri, 21 Oct 2011 09:53:34 +0000 (10:53 +0100)]
Bundle BSD getopt.

12 years agoAdd simple CPU profiling support to glretrace.
Ryan C. Gordon [Sun, 8 Jan 2012 06:32:41 +0000 (01:32 -0500)]
Add simple CPU profiling support to glretrace.

This will note the time that each traced call required, and will dump
this information during the replay, giving a basic idea of where CPU
time was spent in the GL.

Signed-off-by: José Fonseca <jose.r.fonseca@gmail.com>
12 years agoCleanup options for apitrace trim.
José Fonseca [Fri, 27 Jan 2012 22:43:53 +0000 (22:43 +0000)]
Cleanup options for apitrace trim.

12 years agoCorrectly copy "out" arguments to the "leave" portion of the trace
Carl Worth [Thu, 17 Nov 2011 01:22:40 +0000 (17:22 -0800)]
Correctly copy "out" arguments to the "leave" portion of the trace

To do this, we take advantage of the new Arg struct to save, for each
arg, whether it was parsed after an ENTER event or after a LEAVE
event.

12 years agoRemove trace_copier.
José Fonseca [Fri, 27 Jan 2012 22:06:51 +0000 (22:06 +0000)]
Remove trace_copier.

It does pretty much the same as trace_writer_model.

12 years agoAdd "apitrace trim" command.
Carl Worth [Mon, 14 Nov 2011 22:50:07 +0000 (14:50 -0800)]
Add "apitrace trim" command.

This adds the functionality to read in a trace and create a new
"trimmed" trace as the output. There's not yet any functionality for
selecting pieces to trim out, so the implementation is currently just
a trace copier, (which is also the name of the new supporting class).

12 years agoEnsure stdin/stdout is in binary mode on windows when pickling.
José Fonseca [Fri, 27 Jan 2012 14:28:06 +0000 (14:28 +0000)]
Ensure stdin/stdout is in binary mode on windows when pickling.

12 years agoPickle more data types in binary.
José Fonseca [Fri, 27 Jan 2012 14:27:13 +0000 (14:27 +0000)]
Pickle more data types in binary.

12 years agoPython pickle output.
José Fonseca [Thu, 26 Jan 2012 20:32:59 +0000 (20:32 +0000)]
Python pickle output.

Proof of concept.

This allows to process traces w/ python extremely fast, so hopefully
this should enable allow to quickly implement complex analysis in Python,
with usable performance.

12 years agoAllow to use call sets instead of call numbers / frequencies.
José Fonseca [Thu, 26 Jan 2012 19:08:32 +0000 (19:08 +0000)]
Allow to use call sets instead of call numbers / frequencies.

Inspired on Carl Worth's --call=Range option, but:

- with the extra machinery to allow semantic divisors, in addition to numeric ones.

- allows reading the call numbers of a text file.

12 years agoRemove references to megaupload
José Fonseca [Fri, 20 Jan 2012 23:34:43 +0000 (23:34 +0000)]
Remove references to megaupload

12 years agoTrace data written via IDirect3DVertexBuffer9::Lock/Unlock
José Fonseca [Fri, 20 Jan 2012 19:16:17 +0000 (19:16 +0000)]
Trace data written via IDirect3DVertexBuffer9::Lock/Unlock

12 years agoIgnore alpha channels in window drawables until we are able to match the traced visuals.
José Fonseca [Fri, 20 Jan 2012 18:30:06 +0000 (18:30 +0000)]
Ignore alpha channels in window drawables until we are able to match the traced visuals.

12 years agoDrain Windows message queue.
José Fonseca [Fri, 20 Jan 2012 15:39:15 +0000 (15:39 +0000)]
Drain Windows message queue.

To prevent window from being considered non-responsive.

12 years agoMake os::getTime() inline and make time frequency OS-dependent variable.
José Fonseca [Thu, 19 Jan 2012 15:40:59 +0000 (15:40 +0000)]
Make os::getTime() inline and make time frequency OS-dependent variable.

Linux's  clock_gettime() implementation from Ryan C. Gordon.

12 years agoTrace IDirect3DQuery9::GetData data
José Fonseca [Thu, 19 Jan 2012 11:54:30 +0000 (11:54 +0000)]
Trace IDirect3DQuery9::GetData data

12 years agoFlag draw / fbo-binding calls.
José Fonseca [Thu, 19 Jan 2012 10:48:38 +0000 (10:48 +0000)]
Flag draw / fbo-binding calls.

12 years agoUpdate/correct bind glBindFramebuffer* names.
José Fonseca [Thu, 19 Jan 2012 10:48:09 +0000 (10:48 +0000)]
Update/correct bind glBindFramebuffer* names.

12 years agoTrace GL_NVX_gpu_memory_info parameters (issue #63).
José Fonseca [Thu, 19 Jan 2012 08:43:20 +0000 (08:43 +0000)]
Trace GL_NVX_gpu_memory_info parameters (issue #63).

12 years agoDocument out to trace applications inside gdb.
José Fonseca [Wed, 18 Jan 2012 16:15:30 +0000 (16:15 +0000)]
Document out to trace applications inside gdb.

When developing.

12 years agoFix bundled qjson include path.
José Fonseca [Wed, 18 Jan 2012 16:15:05 +0000 (16:15 +0000)]
Fix bundled qjson include path.

12 years agoDon't intercept SIGPIPE.
José Fonseca [Wed, 18 Jan 2012 14:10:50 +0000 (14:10 +0000)]
Don't intercept SIGPIPE.

More trouble than it's worth.

12 years agoActually set PTHREAD_MUTEX_RECURSIVE attr.
José Fonseca [Wed, 18 Jan 2012 13:13:37 +0000 (13:13 +0000)]
Actually set PTHREAD_MUTEX_RECURSIVE attr.

12 years agoForce our glxext.h headers to be included instead of the system ones.
José Fonseca [Wed, 18 Jan 2012 09:51:54 +0000 (09:51 +0000)]
Force our glxext.h headers to be included instead of the system ones.

Gl/glx.h often includes GL/glxext.h, which may be outdated.

So manipulate the include path so that our headers are found first.

12 years agoDistinguish linear pointers.
José Fonseca [Sun, 15 Jan 2012 14:24:10 +0000 (14:24 +0000)]
Distinguish linear pointers.

12 years agoAdd Function.argNames() method.
José Fonseca [Sun, 15 Jan 2012 13:57:03 +0000 (13:57 +0000)]
Add Function.argNames() method.

12 years agoHandle EXT_direct_state_access buffer mappings properly.
José Fonseca [Sun, 15 Jan 2012 13:56:28 +0000 (13:56 +0000)]
Handle EXT_direct_state_access buffer mappings properly.

12 years agoTrace GL_OES_mapbuffer mappings.
José Fonseca [Sun, 15 Jan 2012 13:30:43 +0000 (13:30 +0000)]
Trace GL_OES_mapbuffer mappings.

12 years agoFix GL_EXT_debug_marker spec.
José Fonseca [Sun, 15 Jan 2012 12:25:12 +0000 (12:25 +0000)]
Fix GL_EXT_debug_marker spec.

12 years agoCleanup/comment/format code.
José Fonseca [Sat, 14 Jan 2012 19:33:08 +0000 (19:33 +0000)]
Cleanup/comment/format code.

12 years agoRemove dead code.
José Fonseca [Sat, 14 Jan 2012 15:08:07 +0000 (15:08 +0000)]
Remove dead code.

12 years agoAdd a few more comments.
José Fonseca [Fri, 13 Jan 2012 23:21:10 +0000 (23:21 +0000)]
Add a few more comments.

12 years agoRetrace eglCreatePbufferSurface and eglDestroySurface properly.
José Fonseca [Fri, 13 Jan 2012 11:33:36 +0000 (11:33 +0000)]
Retrace eglCreatePbufferSurface and eglDestroySurface properly.

12 years agoTrace apps that dlopen("libEGL") and friends.
José Fonseca [Fri, 13 Jan 2012 11:33:03 +0000 (11:33 +0000)]
Trace apps that dlopen("libEGL") and friends.

12 years agoTweak the GLES extensions specs.
José Fonseca [Fri, 13 Jan 2012 10:49:17 +0000 (10:49 +0000)]
Tweak the GLES extensions specs.

12 years agoHandle ARB_ES2_compatibility parameters.
José Fonseca [Fri, 13 Jan 2012 10:46:17 +0000 (10:46 +0000)]
Handle ARB_ES2_compatibility parameters.

12 years agoFix build with older MinGW headers.
José Fonseca [Wed, 11 Jan 2012 11:17:08 +0000 (11:17 +0000)]
Fix build with older MinGW headers.

12 years agoMerge branch 'trace-threads'
José Fonseca [Tue, 10 Jan 2012 20:20:37 +0000 (20:20 +0000)]
Merge branch 'trace-threads'

12 years agoFix Win64 build.
José Fonseca [Tue, 10 Jan 2012 20:19:24 +0000 (20:19 +0000)]
Fix Win64 build.

12 years agoTrace GLX_MESA_swap_control.
José Fonseca [Tue, 10 Jan 2012 19:39:12 +0000 (19:39 +0000)]
Trace GLX_MESA_swap_control.

12 years agoHandle ARB_texture_compression parameters.
José Fonseca [Tue, 10 Jan 2012 19:24:34 +0000 (19:24 +0000)]
Handle ARB_texture_compression parameters.

12 years agoSupport all buffer targets from OpenGL 4.2.
José Fonseca [Tue, 10 Jan 2012 19:13:58 +0000 (19:13 +0000)]
Support all buffer targets from OpenGL 4.2.

12 years agoFix SnappyFile::rawGetc() on big endian hosts.
Michel Dänzer [Fri, 6 Jan 2012 13:20:00 +0000 (14:20 +0100)]
Fix SnappyFile::rawGetc() on big endian hosts.

Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Signed-off-by: José Fonseca <jose.r.fonseca@gmail.com>
12 years agoMove mutex abstraction to os_thread.hpp.
José Fonseca [Tue, 27 Dec 2011 20:00:47 +0000 (20:00 +0000)]
Move mutex abstraction to os_thread.hpp.

12 years agoMove local writer definitions to a separate header file.
José Fonseca [Tue, 27 Dec 2011 19:02:57 +0000 (19:02 +0000)]
Move local writer definitions to a separate header file.

12 years agocmake: Link against pthread.
José Fonseca [Fri, 23 Dec 2011 15:39:10 +0000 (15:39 +0000)]
cmake: Link against pthread.

12 years agoMore helpful messages on exceptions inside apitrace code.
José Fonseca [Fri, 23 Dec 2011 03:22:53 +0000 (03:22 +0000)]
More helpful messages on exceptions inside apitrace code.

12 years agoUse AddVectoredExceptionHandler
José Fonseca [Fri, 23 Dec 2011 03:18:27 +0000 (03:18 +0000)]
Use AddVectoredExceptionHandler

Unlike SetUnhandledExceptionFilter it works for all threads.

12 years agoUse thread local storage to specify unique and low integer thread ids.
José Fonseca [Thu, 22 Dec 2011 22:19:40 +0000 (22:19 +0000)]
Use thread local storage to specify unique and low integer thread ids.

12 years agoFirst stab at tracing thread IDs.
José Fonseca [Thu, 22 Dec 2011 21:35:10 +0000 (21:35 +0000)]
First stab at tracing thread IDs.

12 years agoAdd missing OpenGL ES extensions
Arnaud Vrac [Mon, 19 Dec 2011 01:42:15 +0000 (02:42 +0100)]
Add missing OpenGL ES extensions

This does not include OpenGL ES 1.0 extensions that are not necessary
with Common and Lite profiles.

Signed-off-by: José Fonseca <jose.r.fonseca@gmail.com>
12 years agoMake eglretrace.cpp depend on gles api spec
Arnaud Vrac [Mon, 19 Dec 2011 01:46:01 +0000 (02:46 +0100)]
Make eglretrace.cpp depend on gles api spec

12 years agoMake X11 dependency optional on Linux
Arnaud Vrac [Mon, 19 Dec 2011 01:44:24 +0000 (02:44 +0100)]
Make X11 dependency optional on Linux

When X11 is not available retracer is not built

12 years agoParse static array types in prototypes in gltxt.py
Arnaud Vrac [Mon, 19 Dec 2011 01:39:41 +0000 (02:39 +0100)]
Parse static array types in prototypes in gltxt.py

12 years agoParse prototypes with no parameters in gltxt.py
Arnaud Vrac [Mon, 19 Dec 2011 01:39:10 +0000 (02:39 +0100)]
Parse prototypes with no parameters in gltxt.py

12 years agoParse C comments around prototypes in gltxt.py
Arnaud Vrac [Mon, 19 Dec 2011 01:37:45 +0000 (02:37 +0100)]
Parse C comments around prototypes in gltxt.py

12 years agoFilter to mitigate rasterization differences.
José Fonseca [Wed, 14 Dec 2011 23:18:49 +0000 (23:18 +0000)]
Filter to mitigate rasterization differences.

12 years agosnapdiff: Compare .bmp images too.
José Fonseca [Tue, 13 Dec 2011 15:53:49 +0000 (15:53 +0000)]
snapdiff: Compare .bmp images too.

Quite common too.

12 years agosnapdiff: Add option to consider alpha when comparing images.
José Fonseca [Tue, 13 Dec 2011 15:53:13 +0000 (15:53 +0000)]
snapdiff: Add option to consider alpha when comparing images.

12 years agoApproximate comparison for floats.
José Fonseca [Tue, 13 Dec 2011 08:29:55 +0000 (08:29 +0000)]
Approximate comparison for floats.

12 years agoFix name clash & typo on dump flags.
José Fonseca [Mon, 12 Dec 2011 09:15:46 +0000 (09:15 +0000)]
Fix name clash & typo on dump flags.

12 years agoMove trace dumping to a separate module. Add option to not dump arg names.
José Fonseca [Sun, 11 Dec 2011 14:32:50 +0000 (14:32 +0000)]
Move trace dumping to a separate module. Add option to not dump arg names.

12 years agoStrip (non-standard) JSON comments.
José Fonseca [Sun, 11 Dec 2011 13:37:51 +0000 (13:37 +0000)]
Strip (non-standard) JSON comments.

12 years agoFail image comparison when there is a size mismatch.
José Fonseca [Sun, 11 Dec 2011 12:34:40 +0000 (12:34 +0000)]
Fail image comparison when there is a size mismatch.

12 years agoSimple buffer overflow detection on glGet*.
José Fonseca [Sun, 11 Dec 2011 12:33:55 +0000 (12:33 +0000)]
Simple buffer overflow detection on glGet*.

12 years agoMention PIL requirement.
José Fonseca [Sun, 11 Dec 2011 10:58:14 +0000 (10:58 +0000)]
Mention PIL requirement.

12 years agoFix typos in glparams.py causing stack corruption in glretrace
Remi Gillig [Wed, 7 Dec 2011 21:24:09 +0000 (22:24 +0100)]
Fix typos in glparams.py causing stack corruption in glretrace

12 years agoTrace enum signatures as a whole.
José Fonseca [Sun, 11 Dec 2011 10:33:55 +0000 (10:33 +0000)]
Trace enum signatures as a whole.

12 years agoPlug leak.
José Fonseca [Sat, 10 Dec 2011 21:17:07 +0000 (21:17 +0000)]
Plug leak.

12 years agoUpdate to-do.
José Fonseca [Sat, 10 Dec 2011 18:48:50 +0000 (18:48 +0000)]
Update to-do.

12 years agoAdd missing signal.h include.
José Fonseca [Sat, 10 Dec 2011 18:32:52 +0000 (18:32 +0000)]
Add missing signal.h include.

Should fix MacOSX build failures.

12 years agoUpdate some news.
José Fonseca [Sat, 10 Dec 2011 18:12:33 +0000 (18:12 +0000)]
Update some news.

12 years agoUse less on `apitrace dump`.
José Fonseca [Sat, 10 Dec 2011 18:07:25 +0000 (18:07 +0000)]
Use less on `apitrace dump`.

12 years agoFilter verbose calls on glretrace too.
José Fonseca [Sat, 10 Dec 2011 10:36:53 +0000 (10:36 +0000)]
Filter verbose calls on glretrace too.

12 years agoWorkaround a crash on MacOSX when reading the SAMPLER_BINDING state.
José Fonseca [Fri, 9 Dec 2011 19:25:10 +0000 (19:25 +0000)]
Workaround a crash on MacOSX when reading the SAMPLER_BINDING state.

12 years agoSupport creating GL 3.2 contexts on MacOSX.
José Fonseca [Fri, 9 Dec 2011 19:14:20 +0000 (19:14 +0000)]
Support creating GL 3.2 contexts on MacOSX.

12 years agoCleanup texture environment state dumping.
José Fonseca [Fri, 9 Dec 2011 17:03:01 +0000 (17:03 +0000)]
Cleanup texture environment state dumping.

12 years agoIgnore zero area viewports.
José Fonseca [Fri, 9 Dec 2011 16:52:26 +0000 (16:52 +0000)]
Ignore zero area viewports.

12 years agoTry to guess the proper visual to use for EGL contexts and drawables.
Alexandros Frantzis [Mon, 5 Dec 2011 09:43:32 +0000 (11:43 +0200)]
Try to guess the proper visual to use for EGL contexts and drawables.

For contexts, use the visual created for the current Profile. For
drawables, try to guess the proper visual from the requested config
and the last used profile.

12 years agoCreate a Visual for each Profile.
Alexandros Frantzis [Mon, 5 Dec 2011 09:35:35 +0000 (11:35 +0200)]
Create a Visual for each Profile.

Signed-off-by: José Fonseca <jose.r.fonseca@gmail.com>
12 years agoTry to find the best matching EGL visual according to the profile.
Alexandros Frantzis [Fri, 2 Dec 2011 13:24:36 +0000 (15:24 +0200)]
Try to find the best matching EGL visual according to the profile.

The current method doesn't take into account the current profile, and it
may end up selecting an incompatible visual. To remedy this, this patch
adds support for different api bits lists for each profile. Each list
gives priority to the associated profile.

12 years agoAdd 'profile' parameter to glws::createVisual().
Alexandros Frantzis [Fri, 2 Dec 2011 12:35:44 +0000 (14:35 +0200)]
Add 'profile' parameter to glws::createVisual().

Signed-off-by: José Fonseca <jose.r.fonseca@gmail.com>
12 years agocmake: Link (e)glretrace against dl.
José Fonseca [Thu, 8 Dec 2011 19:56:16 +0000 (19:56 +0000)]
cmake: Link (e)glretrace against dl.

We depend on it now.

Should fix link failure due to missing dlsym() symbols.

12 years agocmake: Wrap glproc.hpp in a target to prevent concurrent generation.
José Fonseca [Wed, 7 Dec 2011 13:27:52 +0000 (13:27 +0000)]
cmake: Wrap glproc.hpp in a target to prevent concurrent generation.

Hopefully this does the trick.

12 years agocmake: Be more concise with the glproc.hpp dependency.
José Fonseca [Wed, 7 Dec 2011 12:54:23 +0000 (12:54 +0000)]
cmake: Be more concise with the glproc.hpp dependency.

Hopefully will fix some of random MSVC build failures.

12 years agojsondiff: Try to be more accurate w/ commas/newlines.
José Fonseca [Wed, 7 Dec 2011 10:59:02 +0000 (10:59 +0000)]
jsondiff: Try to be more accurate w/ commas/newlines.

Not quite right though.

12 years agoegl: Add EGLAttribList for attribute lists
Chia-I Wu [Wed, 7 Dec 2011 09:23:41 +0000 (17:23 +0800)]
egl: Add EGLAttribList for attribute lists

All attribute lists in EGL share the same type:

  Array(Const(EGLattrib), "__AttribList_size(attrib_list, EGL_NONE)")

Define EGLAttribList to save some typing.

12 years agoegl: Remove unneeded _EGLBoolean
Chia-I Wu [Wed, 7 Dec 2011 09:03:23 +0000 (17:03 +0800)]
egl: Remove unneeded _EGLBoolean

Use Enum instead of FakeEnum to eliminate the temporary type.