tools/apitrace.git
12 years agoDon't read all json output to memory.
José Fonseca [Sat, 24 Mar 2012 09:46:24 +0000 (09:46 +0000)]
Don't read all json output to memory.

Should help with big dumps.

12 years agoUpdate news.
José Fonseca [Sat, 24 Mar 2012 09:41:36 +0000 (09:41 +0000)]
Update news.

12 years agoMerge branch 'gui-thumbnails'
José Fonseca [Sat, 24 Mar 2012 09:30:51 +0000 (09:30 +0000)]
Merge branch 'gui-thumbnails'

12 years agoMake thumbnailing an non-automatic action.
José Fonseca [Sat, 24 Mar 2012 09:27:27 +0000 (09:27 +0000)]
Make thumbnailing an non-automatic action.

This allows to avoid performance issues with big traces, and also
give opportunity to the user to change the replay settings.

12 years agoDefer reading all standard error.
José Fonseca [Sat, 24 Mar 2012 09:13:21 +0000 (09:13 +0000)]
Defer reading all standard error.

I'm not sure, but I suspect this may cause all standard output to be
buffered until the process finishes.

12 years agoCapture thumbnails only after the trace finished loading.
José Fonseca [Sat, 24 Mar 2012 08:03:14 +0000 (08:03 +0000)]
Capture thumbnails only after the trace finished loading.

12 years agoRemoved unused copy of thumbnails.
José Fonseca [Sat, 24 Mar 2012 08:00:47 +0000 (08:00 +0000)]
Removed unused copy of thumbnails.

12 years agoPass list of frames by reference.
José Fonseca [Sat, 24 Mar 2012 07:56:45 +0000 (07:56 +0000)]
Pass list of frames by reference.

12 years agoAvoid QImage object copies by using references.
José Fonseca [Sat, 24 Mar 2012 07:44:43 +0000 (07:44 +0000)]
Avoid QImage object copies by using references.

12 years agoFix size comparisons in traceloader.cpp.
José Fonseca [Thu, 22 Mar 2012 16:26:47 +0000 (16:26 +0000)]
Fix size comparisons in traceloader.cpp.

This would never result in buffer in overflows, but this is more correct.

12 years agoPrevent another buffer overflow.
José Fonseca [Thu, 22 Mar 2012 16:22:33 +0000 (16:22 +0000)]
Prevent another buffer overflow.

12 years agoFix buffer overflow.
Dan McCabe [Thu, 22 Mar 2012 12:18:55 +0000 (12:18 +0000)]
Fix buffer overflow.

12 years agoFix block indentation.
José Fonseca [Wed, 21 Mar 2012 06:49:41 +0000 (06:49 +0000)]
Fix block indentation.

12 years agoConsider glCallList(s) as a drawing call.
José Fonseca [Wed, 21 Mar 2012 06:46:46 +0000 (06:46 +0000)]
Consider glCallList(s) as a drawing call.

Not necessarily true, but most often the case.

12 years agoDocument how to use retracediff on Windows.
José Fonseca [Wed, 21 Mar 2012 18:58:19 +0000 (18:58 +0000)]
Document how to use retracediff on Windows.

12 years agoEnable dumping depth surfaces as rgba.
José Fonseca [Wed, 21 Mar 2012 09:56:28 +0000 (09:56 +0000)]
Enable dumping depth surfaces as rgba.

By changing the source code. Ugly but better than nothing.

12 years agoAllow to turn off transparency on image viewer.
José Fonseca [Wed, 21 Mar 2012 08:49:40 +0000 (08:49 +0000)]
Allow to turn off transparency on image viewer.

12 years agoUse the wgl* entrypoints instead of the GDI entrypoints when TRACE_LIBGL is set.
José Fonseca [Tue, 20 Mar 2012 17:47:04 +0000 (17:47 +0000)]
Use the wgl* entrypoints instead of the GDI entrypoints when TRACE_LIBGL is set.

This enables testing multiple OpenGL implementations on Windows without
installing.  Useful to use retracediff.py script on Windows.

12 years agoFix replace_dissimilar.
José Fonseca [Mon, 19 Mar 2012 17:35:36 +0000 (17:35 +0000)]
Fix replace_dissimilar.

Left over iterator code was cauing problems.

12 years agoAdd a disabled hack to force interpreting depth buffers as RGBA.
José Fonseca [Sun, 18 Mar 2012 10:13:04 +0000 (10:13 +0000)]
Add a disabled hack to force interpreting depth buffers as RGBA.

In order to visualize full dynamic range, until we have something
better in place.

12 years agoAttempt to allow to control image dynamic range.
José Fonseca [Fri, 25 Nov 2011 15:51:09 +0000 (15:51 +0000)]
Attempt to allow to control image dynamic range.

For better visualization of depth/stencil images (issue#55), and also to
allow view float/integer images in the future.

12 years agoPlug several leaks when retracing.
José Fonseca [Thu, 3 Nov 2011 19:35:53 +0000 (19:35 +0000)]
Plug several leaks when retracing.

Use a scoped allocator to help keep track of the things that need to be
freed.

12 years agoUpdate to libpng 1.5.9.
José Fonseca [Sat, 17 Mar 2012 22:36:12 +0000 (22:36 +0000)]
Update to libpng 1.5.9.

12 years agoLookup call state on double-click.
José Fonseca [Sun, 30 Oct 2011 10:56:04 +0000 (10:56 +0000)]
Lookup call state on double-click.

12 years agoOptimize tracediff2.
José Fonseca [Sat, 17 Mar 2012 21:07:02 +0000 (21:07 +0000)]
Optimize tracediff2.

12 years agoDisable std::cout's stdio sync when pickling.
José Fonseca [Sat, 17 Mar 2012 20:56:10 +0000 (20:56 +0000)]
Disable std::cout's stdio sync when pickling.

12 years agoImprove tracediff2's dumping.
José Fonseca [Sat, 17 Mar 2012 17:23:39 +0000 (17:23 +0000)]
Improve tracediff2's dumping.

12 years agoPickle blobs as bytearrays.
José Fonseca [Sat, 17 Mar 2012 16:12:22 +0000 (16:12 +0000)]
Pickle blobs as bytearrays.

12 years agoCompensate for the lack of LD_PRELOAD support on ANDROID
José Fonseca [Mon, 12 Mar 2012 20:46:53 +0000 (20:46 +0000)]
Compensate for the lack of LD_PRELOAD support on ANDROID

Untested.

12 years agoAdd support for android logging to logcat
George Wright [Mon, 27 Feb 2012 20:54:36 +0000 (15:54 -0500)]
Add support for android logging to logcat

Signed-off-by: José Fonseca <jose.r.fonseca@gmail.com>
12 years agoUpdate android.toolchain.cmake to latest from android-cmake project.
José Fonseca [Sun, 11 Mar 2012 13:24:02 +0000 (13:24 +0000)]
Update android.toolchain.cmake to latest from android-cmake project.

12 years agoAdd support for building for Android (currently only build egltrace.so)
George Wright [Thu, 23 Feb 2012 19:54:49 +0000 (14:54 -0500)]
Add support for building for Android (currently only build egltrace.so)

Signed-off-by: José Fonseca <jose.r.fonseca@gmail.com>
12 years agoBundle less (version 444) for Windows.
José Fonseca [Thu, 15 Mar 2012 08:35:50 +0000 (08:35 +0000)]
Bundle less (version 444) for Windows.

The 'more' pager included in Windows is useless.  Furthermore, less also
does ANSI escape code conversion for us on Windows.

12 years agoDisable italic ansi escape.
José Fonseca [Fri, 16 Mar 2012 19:35:13 +0000 (19:35 +0000)]
Disable italic ansi escape.

12 years agoEnsure lseek is defined and declared on MSVC.
José Fonseca [Sat, 17 Mar 2012 12:18:27 +0000 (12:18 +0000)]
Ensure lseek is defined and declared on MSVC.

12 years agoUpdate to zlib version 1.2.6.
José Fonseca [Thu, 15 Mar 2012 08:56:32 +0000 (08:56 +0000)]
Update to zlib version 1.2.6.

This version already returns all data on premature end of file,
therefore eliminating the need of commit
1dc11cd6b5ef9f6a2aede394f60742b76ff830fd.

12 years agoAlign call nos in diff.
José Fonseca [Sat, 17 Mar 2012 03:27:32 +0000 (03:27 +0000)]
Align call nos in diff.

12 years agoDon't prefix '| ' on calls that just have different call nos.
José Fonseca [Fri, 16 Mar 2012 19:49:15 +0000 (19:49 +0000)]
Don't prefix '| '  on calls that just have different call nos.

12 years agoSeveral improvements to trace diffing.
José Fonseca [Fri, 16 Mar 2012 15:46:26 +0000 (15:46 +0000)]
Several improvements to trace diffing.

12 years agoSupport strike ANSI escape codes.
José Fonseca [Fri, 16 Mar 2012 15:40:49 +0000 (15:40 +0000)]
Support strike ANSI escape codes.

12 years agoSpeed up call hashing.
José Fonseca [Fri, 16 Mar 2012 15:40:31 +0000 (15:40 +0000)]
Speed up call hashing.

12 years agoAdd option to not dump call numbers.
José Fonseca [Fri, 16 Mar 2012 15:40:04 +0000 (15:40 +0000)]
Add option to not dump call numbers.

12 years agoUse Z_BEST_SPEED on PNG compression.
José Fonseca [Fri, 16 Mar 2012 11:39:14 +0000 (11:39 +0000)]
Use Z_BEST_SPEED on PNG compression.

Otherwise the CPU becomes a major bottleneck when dumping even a modest number of frames.

12 years agoUse wdiff by default.
José Fonseca [Fri, 16 Mar 2012 09:56:25 +0000 (09:56 +0000)]
Use wdiff by default.

12 years agoHandle less not existing.
José Fonseca [Fri, 16 Mar 2012 09:56:09 +0000 (09:56 +0000)]
Handle less not existing.

12 years agoFix typo.
José Fonseca [Fri, 16 Mar 2012 08:56:18 +0000 (08:56 +0000)]
Fix typo.

12 years agoDiff with symbolic names.
José Fonseca [Fri, 16 Mar 2012 08:21:29 +0000 (08:21 +0000)]
Diff with symbolic names.

12 years agoBold function names in tracediff2.
José Fonseca [Fri, 16 Mar 2012 07:09:04 +0000 (07:09 +0000)]
Bold function names in tracediff2.

12 years agoBetter highlighting of tracediff2.
José Fonseca [Thu, 15 Mar 2012 23:43:52 +0000 (23:43 +0000)]
Better highlighting of tracediff2.

12 years agoLink need libraries explicitly.
José Fonseca [Thu, 15 Mar 2012 23:09:40 +0000 (23:09 +0000)]
Link need libraries explicitly.

Eliminates unnecessary dependencies.

12 years agoExperimental pure-python trace diff.
José Fonseca [Thu, 15 Mar 2012 00:09:25 +0000 (00:09 +0000)]
Experimental pure-python trace diff.

WIP.

12 years agoUpdate snappy to version 1.0.5.
José Fonseca [Wed, 14 Mar 2012 23:51:45 +0000 (23:51 +0000)]
Update snappy to version 1.0.5.

12 years agoAvoid weird named fifo race condition in tracediff.
José Fonseca [Wed, 14 Mar 2012 11:06:44 +0000 (11:06 +0000)]
Avoid weird named fifo race condition in tracediff.

12 years agoEnable framebuffer dump during replay for GLES.
Tianpu Han [Thu, 19 Jan 2012 13:22:02 +0000 (14:22 +0100)]
Enable framebuffer dump during replay for GLES.

Signed-off-by: José Fonseca <jose.r.fonseca@gmail.com>
12 years agoEnable framebuffer dump during replay for EGL.
Tianpu Han [Thu, 19 Jan 2012 13:22:02 +0000 (14:22 +0100)]
Enable framebuffer dump during replay for EGL.

Signed-off-by: José Fonseca <jose.r.fonseca@gmail.com>
12 years agoFix minor crash : due to call eglSwapBuffers after eglDestroyContext
Tianpu Han [Fri, 13 Jan 2012 13:25:18 +0000 (14:25 +0100)]
Fix minor crash : due to call eglSwapBuffers after eglDestroyContext

12 years agoAdd a makefile to update msinttypes headers
José Fonseca [Wed, 14 Mar 2012 09:23:19 +0000 (09:23 +0000)]
Add a makefile to update msinttypes headers

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 agoDisplay captured snapshots as thumbnails.
Dan McCabe [Tue, 6 Mar 2012 01:20:40 +0000 (17:20 -0800)]
Display captured snapshots as thumbnails.

Once snapshots are captured after being generated by glretrace, they are
then displayed in the GUI app, qapitrace.

The retracer passes a list of thumbnails to the main window. The main
window in turn binds those thumbnails to the ApiTraceFrames for later
display.

When the ApiTrace events are displayed, if a frame is being display, its
thumbnail is queried. That thumbnail is then displayed at the
front of the line for a frame.

12 years agoCapture snapshot stream in anticipation of displaying thumbnails.
Dan McCabe [Tue, 6 Mar 2012 01:20:39 +0000 (17:20 -0800)]
Capture snapshot stream in anticipation of displaying thumbnails.

This patch sets the stage for displaying frame thumbnails in
qapitrace by first capturing a snaphot stream.

We first prepare qapitrace to capture a snapshot stream. We enhance
replayTrace() to accept a second parameter for specifying thumbnail
capture. This then enables us to notify the retracer so set up command
line parameters to glretrace, which runs out of process. We specify that
glretrace must generate snapshots and then emit them to stdout.

After glretrace returns, we extract PNM images from the output stream.
We parse PNM the ASCII header to extract number channels, the width and
the height of the following binary image data. We then extract the
binary data of the image on a per-scanline copy. We create a QImage of
the correct size and insert the image data into the QImage. Finally, we
scale the size of the image down to the size of a thumbnail.

Lastly, we create a QList collection to hold the sequence of thumbnails.
This list is return to the main window object of qapitrace and will
later be used to display these thumbnails.

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.