tools/apitrace.git
12 years agoCreate a drawable when playing back a trace if it doesn't exist during an eglMakeCurrent
George Wright [Fri, 24 Feb 2012 18:19:10 +0000 (13:19 -0500)]
Create a drawable when playing back a trace if it doesn't exist during an eglMakeCurrent
call. This is necessary for us because Firefox for Android gets its egl surface from Java,
which isn't traced.

Signed-off-by: José Fonseca <jose.r.fonseca@gmail.com>
12 years agoUse patch instead of sed for glext.h tweaks.
José Fonseca [Wed, 14 Mar 2012 09:08:54 +0000 (09:08 +0000)]
Use patch instead of sed for glext.h tweaks.

12 years agoCleanup EGL's __getPrivateProcAddress().
José Fonseca [Mon, 12 Mar 2012 20:44:24 +0000 (20:44 +0000)]
Cleanup EGL's __getPrivateProcAddress().

Accept function names that start with "egl" too.

12 years agoUse SGI gl.h and glx.h headers.
José Fonseca [Mon, 12 Mar 2012 18:45:35 +0000 (18:45 +0000)]
Use SGI gl.h and glx.h headers.

Less unnecessary baggage.

12 years agoModify eglplatform.h to support Android
George Wright [Thu, 23 Feb 2012 22:30:22 +0000 (17:30 -0500)]
Modify eglplatform.h to support Android

12 years agoBundle all headers for Khronos APIs.
José Fonseca [Sat, 10 Mar 2012 15:37:43 +0000 (15:37 +0000)]
Bundle all headers for Khronos APIs.

We use bundled headers for all Khronos APIs, to guarantee support for both
OpenGL and OpenGL ES at build time, because the OpenGL and OpenGL ES 1 APIs
are so intertwined that conditional compilation extremely difficult. This
also avoids missing/inconsistent declarations in system headers.

This should work, given that GLEW does pretty much the same for GL.

12 years agoDon't package TODO.markdown anymore.
José Fonseca [Wed, 14 Mar 2012 08:53:25 +0000 (08:53 +0000)]
Don't package TODO.markdown anymore.

12 years agoFix major regression in D3D tracing.
José Fonseca [Tue, 13 Mar 2012 20:21:54 +0000 (20:21 +0000)]
Fix major regression in D3D tracing.

We don't keep reference count in the interface wrappers. Furthermore,
calling the interface wrapper's AddRef method inside other methods leads
to corrupted traces.

12 years agoAllow to not build the CLI.
José Fonseca [Sat, 10 Mar 2012 16:05:09 +0000 (16:05 +0000)]
Allow to not build the CLI.

12 years agoDon't assume pthreads is present.
José Fonseca [Sat, 10 Mar 2012 16:02:49 +0000 (16:02 +0000)]
Don't assume pthreads is present.

12 years agoMove to-do list to the wiki.
José Fonseca [Sat, 10 Mar 2012 12:23:58 +0000 (12:23 +0000)]
Move to-do list to the wiki.

12 years agoRemove build instructions link (issue #69).
José Fonseca [Sat, 10 Mar 2012 09:41:46 +0000 (09:41 +0000)]
Remove build instructions link (issue #69).

It is broken on the homepage.

Thanks to Mathieu Virbel for pointing this out.

12 years agoAdd a few more links.
José Fonseca [Sat, 10 Mar 2012 09:07:26 +0000 (09:07 +0000)]
Add a few more links.

12 years agoFix typo in NEWS.
José Fonseca [Fri, 9 Mar 2012 19:10:07 +0000 (19:10 +0000)]
Fix typo in NEWS.

12 years agoDocument how to start the gui on a specific call.
José Fonseca [Fri, 9 Mar 2012 18:22:28 +0000 (18:22 +0000)]
Document how to start the gui on a specific call.

12 years agoRemove findFile.
José Fonseca [Thu, 8 Mar 2012 09:29:08 +0000 (10:29 +0100)]
Remove findFile.

No longer used.

12 years agoMention WebGL-Inspector
José Fonseca [Mon, 5 Mar 2012 21:50:09 +0000 (22:50 +0100)]
Mention WebGL-Inspector

12 years agoPrevent buffer overflow in os::String::rfindSep().
José Fonseca [Fri, 2 Mar 2012 11:11:58 +0000 (11:11 +0000)]
Prevent buffer overflow in os::String::rfindSep().

12 years agoInvoke python when executing scripts.
José Fonseca [Fri, 2 Mar 2012 10:34:54 +0000 (10:34 +0000)]
Invoke python when executing scripts.

More robust

12 years agoDon't install in per-architecture wrapper directories.
José Fonseca [Fri, 2 Mar 2012 10:31:19 +0000 (10:31 +0000)]
Don't install in per-architecture wrapper directories.

CMAKE_SYSTEM_PROCESSOR is unreliable and its all a big mess.

Assume for now that people will use an apitrace suited to what they wanna
trace.

12 years agoDon't compute wrapper filename twice.
José Fonseca [Fri, 2 Mar 2012 10:07:38 +0000 (10:07 +0000)]
Don't compute wrapper filename twice.

12 years agoWarn when intersecting regions are found.
José Fonseca [Thu, 1 Mar 2012 17:46:49 +0000 (17:46 +0000)]
Warn when intersecting regions are found.

12 years agoWarn when failed to unmap buffer too.
José Fonseca [Thu, 1 Mar 2012 15:44:28 +0000 (15:44 +0000)]
Warn when failed to unmap buffer too.

12 years agoGet the buffer map pointer _before_ unmaping.
José Fonseca [Thu, 1 Mar 2012 15:44:07 +0000 (15:44 +0000)]
Get the buffer map pointer _before_ unmaping.

And therefore actually call delRegionByPointer()

12 years agoFix delRegionByPointer().
José Fonseca [Thu, 1 Mar 2012 15:43:04 +0000 (15:43 +0000)]
Fix delRegionByPointer().

12 years agoOnly warn once when glGetBufferParameteriv(GL_BUFFER_MAP_LENGTH)fails.
José Fonseca [Wed, 29 Feb 2012 21:09:24 +0000 (21:09 +0000)]
Only warn once when glGetBufferParameteriv(GL_BUFFER_MAP_LENGTH)fails.

12 years agoTry to cope with recursive mappings in glUnmapBuffer/glUnmapBufferARB
José Fonseca [Wed, 29 Feb 2012 20:54:13 +0000 (20:54 +0000)]
Try to cope with recursive mappings in glUnmapBuffer/glUnmapBufferARB

Use glGet* as much as possible.

12 years agoHandle glMapBufferOES/glUnmapBufferOES specially.
José Fonseca [Wed, 29 Feb 2012 19:29:51 +0000 (19:29 +0000)]
Handle glMapBufferOES/glUnmapBufferOES specially.

No ranges, and one can just query the size/pointer.

12 years agoCleanup glFlushMappedBufferRange/glFlushMappedBufferRangeAPPLE
José Fonseca [Wed, 29 Feb 2012 18:08:48 +0000 (18:08 +0000)]
Cleanup glFlushMappedBufferRange/glFlushMappedBufferRangeAPPLE

Rely on GL_BUFFER_MAP_POINTER instead, as it is more reliable in face of recursive mappings.

12 years agoFix glUnmapNamedBufferEXT/glFlushMappedNamedBufferRangeEXT
José Fonseca [Wed, 29 Feb 2012 18:00:06 +0000 (18:00 +0000)]
Fix glUnmapNamedBufferEXT/glFlushMappedNamedBufferRangeEXT

- GL_BUFFER_ACCESS -> GL_BUFFER_ACCESS_FLAGS
- Use the __glXxx to avoid recursion

12 years agoImplement getTime for OS X
Jeff Muizelaar [Wed, 29 Feb 2012 14:58:32 +0000 (09:58 -0500)]
Implement getTime for OS X

mach_absolute_time lowest level timing function on OS X

Signed-off-by: Jose Fonseca <jose.r.fonseca@gmail.com>
12 years agoFix/cleanup wrapper search on Windows.
José Fonseca [Wed, 29 Feb 2012 20:52:03 +0000 (20:52 +0000)]
Fix/cleanup wrapper search on Windows.

12 years agoBump to version 3.0
José Fonseca [Wed, 29 Feb 2012 10:55:55 +0000 (10:55 +0000)]
Bump to version 3.0

12 years agoFix INSTALL.mardown link
José Fonseca [Wed, 29 Feb 2012 09:39:20 +0000 (09:39 +0000)]
Fix INSTALL.mardown link

12 years agoDocument 32 vs 64bits.
José Fonseca [Wed, 29 Feb 2012 09:37:40 +0000 (09:37 +0000)]
Document 32 vs 64bits.

12 years agoDocument how to get apitrace binaries.
José Fonseca [Wed, 29 Feb 2012 09:15:29 +0000 (09:15 +0000)]
Document how to get apitrace binaries.

12 years agoTweak regression testing section.
José Fonseca [Wed, 29 Feb 2012 09:06:53 +0000 (09:06 +0000)]
Tweak regression testing section.

12 years agoMention DebugView.
José Fonseca [Wed, 29 Feb 2012 09:00:05 +0000 (09:00 +0000)]
Mention DebugView.

12 years agoUpdate news.
José Fonseca [Tue, 28 Feb 2012 21:25:09 +0000 (21:25 +0000)]
Update news.

12 years agoAllow to specify the API from trace dialog.
José Fonseca [Tue, 28 Feb 2012 17:12:24 +0000 (17:12 +0000)]
Allow to specify the API from trace dialog.

12 years agoWhitelist tracing on Windows.
José Fonseca [Tue, 28 Feb 2012 16:14:18 +0000 (16:14 +0000)]
Whitelist tracing on Windows.

It works now.

12 years agoUpdate README.
José Fonseca [Mon, 27 Feb 2012 10:37:32 +0000 (10:37 +0000)]
Update README.

12 years agoSupport D3D apis on apitrace trace command.
José Fonseca [Mon, 27 Feb 2012 10:36:53 +0000 (10:36 +0000)]
Support D3D apis on apitrace trace command.

12 years agoCopy wrapper dll to executable directory on windows in apitrace trace.
José Fonseca [Fri, 24 Feb 2012 20:35:09 +0000 (20:35 +0000)]
Copy wrapper dll to executable directory on windows in apitrace trace.

12 years agoAdd abstractions for (un)setting OS environ variables.
José Fonseca [Fri, 24 Feb 2012 20:33:18 +0000 (20:33 +0000)]
Add abstractions for (un)setting OS environ variables.

12 years agoRemove dead source line.
José Fonseca [Mon, 20 Feb 2012 22:19:26 +0000 (22:19 +0000)]
Remove dead source line.

12 years agoAdd missing commas.
José Fonseca [Mon, 20 Feb 2012 22:18:17 +0000 (22:18 +0000)]
Add missing commas.

Don't known how I missed this before commiting.

12 years agoTweak path splitting.
José Fonseca [Mon, 20 Feb 2012 22:18:02 +0000 (22:18 +0000)]
Tweak path splitting.

- Match dirname/basename semantics.
- Accept both / and \ on Windows (as MinGW and several other apps do).

12 years agoRe-implement tracediff.sh on Python.
José Fonseca [Sat, 18 Feb 2012 18:15:18 +0000 (18:15 +0000)]
Re-implement tracediff.sh on Python.

12 years agoUse getopt on apitrace pickle.
José Fonseca [Sat, 18 Feb 2012 15:40:59 +0000 (15:40 +0000)]
Use getopt on apitrace pickle.

12 years agoUse getopt on apitrace trace.
José Fonseca [Sat, 18 Feb 2012 15:33:42 +0000 (15:33 +0000)]
Use getopt on apitrace trace.

12 years agoMinor cleanup to apitrace trim command line option parsing.
José Fonseca [Sat, 18 Feb 2012 15:33:12 +0000 (15:33 +0000)]
Minor cleanup to apitrace trim command line option parsing.

12 years agoImplmenet GL_EXT_debug_marker on OpenGL ES contexts
José Fonseca [Wed, 15 Feb 2012 23:33:35 +0000 (23:33 +0000)]
Implmenet GL_EXT_debug_marker on OpenGL ES contexts

12 years agoMention apitrace trim in the documentation.
José Fonseca [Wed, 15 Feb 2012 07:18:22 +0000 (07:18 +0000)]
Mention apitrace trim in the documentation.

12 years agoConvert trim option parsing to getopt.
José Fonseca [Wed, 15 Feb 2012 07:13:31 +0000 (07:13 +0000)]
Convert trim option parsing to getopt.

12 years agoAllow to specify output file on retracediff
José Fonseca [Thu, 9 Feb 2012 14:35:27 +0000 (14:35 +0000)]
Allow to specify output file on retracediff

12 years agoFix highlight.py on Windows.
José Fonseca [Thu, 9 Feb 2012 14:04:17 +0000 (14:04 +0000)]
Fix highlight.py on Windows.

12 years agoSet binary mode when outputing PNM from glretrace via stdout.
José Fonseca [Thu, 9 Feb 2012 14:03:57 +0000 (14:03 +0000)]
Set binary mode when outputing PNM from glretrace via stdout.

12 years agoAllow to specify an alternative opengl32.dll when retracing.
José Fonseca [Thu, 9 Feb 2012 13:15:15 +0000 (13:15 +0000)]
Allow to specify an alternative opengl32.dll when retracing.

12 years agoRemove dead os::getTime() declaration.
José Fonseca [Thu, 9 Feb 2012 13:14:51 +0000 (13:14 +0000)]
Remove dead os::getTime() declaration.

12 years agoFlag a few wgl calls as verbose.
José Fonseca [Wed, 8 Feb 2012 17:14:40 +0000 (17:14 +0000)]
Flag a few wgl calls as verbose.

Convenient for tracediff

12 years agoIgnore glXSwapInterval* when retracing.
José Fonseca [Tue, 7 Feb 2012 10:36:53 +0000 (10:36 +0000)]
Ignore glXSwapInterval* when retracing.

12 years agoFix build with older DXSDK.
José Fonseca [Sat, 4 Feb 2012 08:56:15 +0000 (08:56 +0000)]
Fix build with older DXSDK.

12 years agoA few additions to win32 api.
José Fonseca [Fri, 3 Feb 2012 19:06:50 +0000 (19:06 +0000)]
A few additions to win32 api.

12 years agoTry all interfaces when wrapping REFIIDs.
José Fonseca [Fri, 3 Feb 2012 19:06:31 +0000 (19:06 +0000)]
Try all interfaces when wrapping REFIIDs.

12 years agoSupport const methods.
José Fonseca [Fri, 3 Feb 2012 19:05:54 +0000 (19:05 +0000)]
Support const methods.

Also several enhancements to C decl parser.

12 years agoBe more specific when invoking the interface methods.
José Fonseca [Fri, 3 Feb 2012 19:05:29 +0000 (19:05 +0000)]
Be more specific when invoking the interface methods.

There may be ambiguities.

12 years agoRecognize D3DUSAGE flags in resource descriptions.
José Fonseca [Fri, 3 Feb 2012 17:46:32 +0000 (17:46 +0000)]
Recognize D3DUSAGE flags in resource descriptions.

12 years agoRecognize D3DFMT_A2B10G10R10_XR_BIAS.
José Fonseca [Fri, 3 Feb 2012 09:56:24 +0000 (09:56 +0000)]
Recognize D3DFMT_A2B10G10R10_XR_BIAS.

12 years agoWarn when calling GL entry points without a current context.
José Fonseca [Thu, 2 Feb 2012 13:59:31 +0000 (13:59 +0000)]
Warn when calling GL entry points without a current context.

12 years agoEnsure function default argument matches template type.
José Fonseca [Wed, 1 Feb 2012 20:46:10 +0000 (20:46 +0000)]
Ensure function default argument matches template type.

Fixes the error "error: default argument for parameter of type
'_CGLPixelFormatAttribute' has type 'int'".

12 years agoCompute attrib pair lists size correctly.
José Fonseca [Wed, 1 Feb 2012 19:51:34 +0000 (19:51 +0000)]
Compute attrib pair lists size correctly.

Thanks to Brian Paul for spotting this.

12 years agoMake attrib pair lists explicit.
José Fonseca [Wed, 1 Feb 2012 19:50:40 +0000 (19:50 +0000)]
Make attrib pair lists explicit.

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.