José Fonseca [Sun, 1 Apr 2012 20:47:30 +0000 (22:47 +0200)]
Add missing os_time include.
José Fonseca [Sun, 1 Apr 2012 20:47:11 +0000 (22:47 +0200)]
Describe C++ references accurately.
José Fonseca [Sun, 1 Apr 2012 20:45:09 +0000 (22:45 +0200)]
Adjust D3D9's sideeffect settings.
José Fonseca [Fri, 30 Mar 2012 19:41:25 +0000 (20:41 +0100)]
Merge branch 'master' into d3dretrace
Conflicts:
retrace.py
José Fonseca [Fri, 30 Mar 2012 18:58:20 +0000 (19:58 +0100)]
Fix build without X11.
José Fonseca [Fri, 30 Mar 2012 06:15:17 +0000 (07:15 +0100)]
Build retrace sources only once.
José Fonseca [Thu, 29 Mar 2012 23:18:16 +0000 (00:18 +0100)]
Drop TRACE_EGL.
Also unnecessary.
José Fonseca [Thu, 29 Mar 2012 22:38:55 +0000 (23:38 +0100)]
Drop HAVE_EGL.
Unnecessary now that we budle EGL/GLES headers
José Fonseca [Thu, 29 Mar 2012 19:13:10 +0000 (20:13 +0100)]
Fix typo in wgl function call detection.
Alexandros Frantzis [Mon, 28 Nov 2011 10:04:05 +0000 (12:04 +0200)]
Use either glGetTexImage() or bind the texture to a FBO to get the contents.
Signed-off-by: José Fonseca <jose.r.fonseca@gmail.com>
José Fonseca [Thu, 29 Mar 2012 11:38:05 +0000 (12:38 +0100)]
Infer texture size on OpenGL ES via TexSubImage.
José Fonseca [Thu, 29 Mar 2012 09:42:28 +0000 (10:42 +0100)]
More code simplification.
José Fonseca [Thu, 29 Mar 2012 09:28:45 +0000 (10:28 +0100)]
Simplify image size determination.
José Fonseca [Thu, 29 Mar 2012 08:53:15 +0000 (09:53 +0100)]
Split image dumping to a separate source file.
José Fonseca [Thu, 29 Mar 2012 08:42:41 +0000 (09:42 +0100)]
Split gl shader dumping into a separate file.
José Fonseca [Thu, 29 Mar 2012 08:42:10 +0000 (09:42 +0100)]
Rename glstate.py to glstate_params.py.
To match generated source file name.
José Fonseca [Thu, 29 Mar 2012 07:19:19 +0000 (08:19 +0100)]
Update drawable on variations of glViewport (issue #71)
Thanks to Gregory (gregory38) for spotting this.
Martin Olsson [Mon, 26 Mar 2012 08:40:45 +0000 (10:40 +0200)]
Fix compile error "isatty was not declared"; missing unistd.h include
When I built apitrace on Fedora 16, using the usual:
cmake -H. -Bbuild
make -C build
...then I got this compile error:
apitrace/cli/cli_dump.cpp: In function ‘int command(int, char**)’:
apitrace/cli/cli_dump.cpp:176:25: error: ‘isatty’ was not declared in this scope
José Fonseca [Tue, 27 Mar 2012 23:13:55 +0000 (00:13 +0100)]
Show important retrace messages long enough to read.
José Fonseca [Tue, 27 Mar 2012 22:54:30 +0000 (23:54 +0100)]
Auto detect the API from the trace.
Saves key-presses on the gui for EGL traces.
Might be handy to implement a top level "apitrace retrace" command too.
José Fonseca [Mon, 26 Mar 2012 09:29:32 +0000 (10:29 +0100)]
Merge remote-tracking branch 'github/master' into gui-unbuffered-retrace
Conflicts:
gui/retracer.cpp
José Fonseca [Mon, 26 Mar 2012 08:49:01 +0000 (09:49 +0100)]
Fix includes.
José Fonseca [Tue, 20 Mar 2012 17:53:41 +0000 (17:53 +0000)]
Ignore glXGetCurrentContext in tracediff2.py too.
José Fonseca [Sun, 25 Mar 2012 22:12:20 +0000 (23:12 +0100)]
Remove ApiTrace::FrameMarker.
Not really used. Also, calls now have flags with this sort of info.
José Fonseca [Sun, 25 Mar 2012 19:59:24 +0000 (20:59 +0100)]
Make frame thumbnail size consistent.
José Fonseca [Sun, 25 Mar 2012 16:25:24 +0000 (17:25 +0100)]
Get JSON state to not be fully buffered into memory.
José Fonseca [Sun, 25 Mar 2012 11:46:04 +0000 (12:46 +0100)]
Don't buffer all stdout from retrace when generating thumbnails.
José Fonseca [Sat, 24 Mar 2012 10:06:56 +0000 (10:06 +0000)]
Process stderr one line at time.
Instead of reading all into memory.
Benefit is probably only marginal, but code is equally lean.
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.
José Fonseca [Sat, 24 Mar 2012 09:41:36 +0000 (09:41 +0000)]
Update news.
José Fonseca [Sat, 24 Mar 2012 09:30:51 +0000 (09:30 +0000)]
Merge branch 'gui-thumbnails'
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.
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.
José Fonseca [Sat, 24 Mar 2012 08:03:14 +0000 (08:03 +0000)]
Capture thumbnails only after the trace finished loading.
José Fonseca [Sat, 24 Mar 2012 08:00:47 +0000 (08:00 +0000)]
Removed unused copy of thumbnails.
José Fonseca [Sat, 24 Mar 2012 07:56:45 +0000 (07:56 +0000)]
Pass list of frames by reference.
José Fonseca [Sat, 24 Mar 2012 07:44:43 +0000 (07:44 +0000)]
Avoid QImage object copies by using references.
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.
José Fonseca [Thu, 22 Mar 2012 16:22:33 +0000 (16:22 +0000)]
Prevent another buffer overflow.
Dan McCabe [Thu, 22 Mar 2012 12:18:55 +0000 (12:18 +0000)]
Fix buffer overflow.
José Fonseca [Wed, 21 Mar 2012 06:49:41 +0000 (06:49 +0000)]
Fix block indentation.
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.
José Fonseca [Wed, 21 Mar 2012 18:58:19 +0000 (18:58 +0000)]
Document how to use retracediff on Windows.
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.
José Fonseca [Wed, 21 Mar 2012 08:49:40 +0000 (08:49 +0000)]
Allow to turn off transparency on image viewer.
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.
José Fonseca [Mon, 19 Mar 2012 17:35:36 +0000 (17:35 +0000)]
Fix replace_dissimilar.
Left over iterator code was cauing problems.
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.
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.
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.
José Fonseca [Sat, 17 Mar 2012 22:43:27 +0000 (22:43 +0000)]
Merge branch 'master' into d3dretrace
José Fonseca [Sat, 17 Mar 2012 22:36:12 +0000 (22:36 +0000)]
Update to libpng 1.5.9.
José Fonseca [Sun, 30 Oct 2011 10:56:04 +0000 (10:56 +0000)]
Lookup call state on double-click.
José Fonseca [Sat, 17 Mar 2012 21:07:02 +0000 (21:07 +0000)]
Optimize tracediff2.
José Fonseca [Sat, 17 Mar 2012 20:56:10 +0000 (20:56 +0000)]
Disable std::cout's stdio sync when pickling.
José Fonseca [Sat, 17 Mar 2012 17:23:39 +0000 (17:23 +0000)]
Improve tracediff2's dumping.
José Fonseca [Sat, 17 Mar 2012 16:12:22 +0000 (16:12 +0000)]
Pickle blobs as bytearrays.
José Fonseca [Mon, 12 Mar 2012 20:46:53 +0000 (20:46 +0000)]
Compensate for the lack of LD_PRELOAD support on ANDROID
Untested.
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>
José Fonseca [Sun, 11 Mar 2012 13:24:02 +0000 (13:24 +0000)]
Update android.toolchain.cmake to latest from android-cmake project.
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>
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.
José Fonseca [Fri, 16 Mar 2012 19:35:13 +0000 (19:35 +0000)]
Disable italic ansi escape.
José Fonseca [Sat, 17 Mar 2012 12:18:27 +0000 (12:18 +0000)]
Ensure lseek is defined and declared on MSVC.
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.
José Fonseca [Sat, 17 Mar 2012 03:27:32 +0000 (03:27 +0000)]
Align call nos in diff.
José Fonseca [Fri, 16 Mar 2012 19:49:15 +0000 (19:49 +0000)]
Don't prefix '| ' on calls that just have different call nos.
José Fonseca [Fri, 16 Mar 2012 15:46:26 +0000 (15:46 +0000)]
Several improvements to trace diffing.
José Fonseca [Fri, 16 Mar 2012 15:40:49 +0000 (15:40 +0000)]
Support strike ANSI escape codes.
José Fonseca [Fri, 16 Mar 2012 15:40:31 +0000 (15:40 +0000)]
Speed up call hashing.
José Fonseca [Fri, 16 Mar 2012 15:40:04 +0000 (15:40 +0000)]
Add option to not dump call numbers.
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.
José Fonseca [Fri, 16 Mar 2012 09:56:25 +0000 (09:56 +0000)]
Use wdiff by default.
José Fonseca [Fri, 16 Mar 2012 09:56:09 +0000 (09:56 +0000)]
Handle less not existing.
José Fonseca [Fri, 16 Mar 2012 08:56:18 +0000 (08:56 +0000)]
Fix typo.
José Fonseca [Fri, 16 Mar 2012 08:21:29 +0000 (08:21 +0000)]
Diff with symbolic names.
José Fonseca [Fri, 16 Mar 2012 07:09:04 +0000 (07:09 +0000)]
Bold function names in tracediff2.
José Fonseca [Thu, 15 Mar 2012 23:43:52 +0000 (23:43 +0000)]
Better highlighting of tracediff2.
José Fonseca [Thu, 15 Mar 2012 23:09:40 +0000 (23:09 +0000)]
Link need libraries explicitly.
Eliminates unnecessary dependencies.
José Fonseca [Thu, 15 Mar 2012 00:09:25 +0000 (00:09 +0000)]
Experimental pure-python trace diff.
WIP.
José Fonseca [Wed, 14 Mar 2012 23:51:45 +0000 (23:51 +0000)]
Update snappy to version 1.0.5.
José Fonseca [Wed, 14 Mar 2012 11:06:44 +0000 (11:06 +0000)]
Avoid weird named fifo race condition in tracediff.
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>
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>
Tianpu Han [Fri, 13 Jan 2012 13:25:18 +0000 (14:25 +0100)]
Fix minor crash : due to call eglSwapBuffers after eglDestroyContext
José Fonseca [Wed, 14 Mar 2012 09:23:19 +0000 (09:23 +0000)]
Add a makefile to update msinttypes headers
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>
José Fonseca [Wed, 14 Mar 2012 09:08:54 +0000 (09:08 +0000)]
Use patch instead of sed for glext.h tweaks.
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.
José Fonseca [Mon, 12 Mar 2012 18:45:35 +0000 (18:45 +0000)]
Use SGI gl.h and glx.h headers.
Less unnecessary baggage.
George Wright [Thu, 23 Feb 2012 22:30:22 +0000 (17:30 -0500)]
Modify eglplatform.h to support Android
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.
José Fonseca [Wed, 14 Mar 2012 08:53:25 +0000 (08:53 +0000)]
Don't package TODO.markdown anymore.
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.
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.
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.
José Fonseca [Sat, 10 Mar 2012 16:05:09 +0000 (16:05 +0000)]
Allow to not build the CLI.
José Fonseca [Sat, 10 Mar 2012 16:02:49 +0000 (16:02 +0000)]
Don't assume pthreads is present.
José Fonseca [Sat, 10 Mar 2012 12:23:58 +0000 (12:23 +0000)]
Move to-do list to the wiki.
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.