José Fonseca [Fri, 13 Apr 2012 13:57:08 +0000 (14:57 +0100)]
Prevent derreference after free when retracing glFeedbackBuffer/glSelectBuffer.
José Fonseca [Fri, 13 Apr 2012 12:57:23 +0000 (13:57 +0100)]
Skip functions without sideeffects alltogether.
Function body of functions with no sideeffects is no longer necessary,
now that glReadPixels is considered to have sideeffects.
José Fonseca [Fri, 13 Apr 2012 12:49:41 +0000 (13:49 +0100)]
A few minor corrections to GL specs.
Imre Deak [Fri, 30 Mar 2012 12:45:38 +0000 (15:45 +0300)]
Android: hard code the trace file path to be under /data
On Android for Dalvik applications cwd is preset to that of the zygote
(app_process) process and it's the root directory. Since root is r/o
mounted by default it's more convenient to have the trace file in /data
which is writeable at least by root by default.
Signed-off-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: José Fonseca <jose.r.fonseca@gmail.com>
Imre Deak [Mon, 2 Apr 2012 13:47:48 +0000 (16:47 +0300)]
gles: fix lookup for GLESv1 functions
Get the function from the GLESv1 library in case it's not found in
GLESv2.
Signed-off-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: José Fonseca <jose.r.fonseca@gmail.com>
Imre Deak [Mon, 9 Apr 2012 16:35:41 +0000 (19:35 +0300)]
gles: sanity check GL_COMBINED_TEXTURE_IMAGE_UNITS
At least the Android software GL implementation doesn't return the
proper value for this, but rather returns 0. The GL(ES) specification
mandates a minimum value of 2, so use this as a fall-back value.
Signed-off-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: José Fonseca <jose.r.fonseca@gmail.com>
Imre Deak [Fri, 30 Mar 2012 12:48:44 +0000 (15:48 +0300)]
gles: don't call unsupported glGetHandleARB
GLES doesn't support this call, so do not call it.
Signed-off-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: José Fonseca <jose.r.fonseca@gmail.com>
Imre Deak [Mon, 9 Apr 2012 16:35:06 +0000 (19:35 +0300)]
gles: fix GLES version string matching
Some implementations return a version string starting with "OpenGL ES-",
fix the detection logic accordingly.
Signed-off-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: José Fonseca <jose.r.fonseca@gmail.com>
José Fonseca [Thu, 12 Apr 2012 06:13:01 +0000 (07:13 +0100)]
Trace d3d10.1 too.
Dan McCabe [Wed, 21 Mar 2012 16:53:45 +0000 (09:53 -0700)]
Add trim support to qapitrace GUI app.
This patch adds support for trimming of traces via the qapitrace GUI.
We enhance the GUI by adding a Trim entry to the Trace menu. When the
user selects either a frame or a call, the "apitrace trim" command
will be invoked to trim all calls after the selected call or frame.
New trace files are created automatically and named according to the
last call number in the trimmed trace.
For example, if the original trace file is:
/path/foo.trace
and the trace is trimmed after call 1234, the name of the trimmed trace
file will be named:
/path/foo.1234.trim.trace
Upon trimming, the trimmed trace file will be loaded into qapitrace.
First, we enhance the Trace menu of the GUI app.
Next, we add a TrimProcess class. This is modelled on the TraceProcess
class, but takes into account differences and simplifications.
Next, we tie the TrimProcess class into the main window by accessing
that class and its members appropriately as well as tieing in message
communication with that class.
Finally, we add a reference to the source of TrimProcess to the make
system.
Signed-off-by: José Fonseca <jose.r.fonseca@gmail.com>
Carl Worth [Mon, 9 Apr 2012 20:45:33 +0000 (13:45 -0700)]
apitrace diff-images: Print one line for each file being compared.
This is important so that the test suite can verify that "apitrace
diff-images" is actually doing something. The tricky case is when no
images are found to compare. In this case, diff-images exits with
value 0, (no differences), which is valid, but the test suite wants to
know that no comparison happened since that's unexpected, (and should
flag a failure in the test suite).
Signed-off-by: José Fonseca <jose.r.fonseca@gmail.com>
Carl Worth [Mon, 9 Apr 2012 20:45:33 +0000 (13:45 -0700)]
apitrace diff-images: Print one line for each file being compared.
This is important so that the test suite can verify that "apitrace
diff-images" is actually doing something. The tricky case is when no
images are found to compare. In this case, diff-images exits with
value 0, (no differences), which is valid, but the test suite wants to
know that no comparison happened since that's unexpected, (and should
flag a failure in the test suite).
Carl Worth [Mon, 9 Apr 2012 18:24:52 +0000 (11:24 -0700)]
Don't show images where there is no difference.
This makes for a much more compact view for the common case where
image mismatches are rare, and makes the mismatches stand out more
making them easier to notice.
To avoid hiding information irretrievably, the filename is made into a
link to the image so that it can be easily seen if desired.
Signed-off-by: José Fonseca <jose.r.fonseca@gmail.com>
Carl Worth [Tue, 3 Apr 2012 23:02:25 +0000 (16:02 -0700)]
snapdiff: Provide indication whether images match or not
This indication is provided in two ways:
1. The exit value of the script will be 1 if there are any image
differences, (0 for no image differences).
2. The filename cell in the resulting HTML table will be colored red
if there are image differences (and green for no image
differences).
Signed-off-by: José Fonseca <jose.r.fonseca@gmail.com>
Carl Worth [Tue, 3 Apr 2012 22:58:50 +0000 (15:58 -0700)]
os_posix: Fix return value for os::execute()
Previously, this was returning the status value from waitpid directly.
That is incorrect as the actual exit status from the executed program
is likely to be in high-order bits of that status value. Instead, use
the WEXITSTATUS macro to return the actual exit status value.
Signed-off-by: José Fonseca <jose.r.fonseca@gmail.com>
Carl Worth [Tue, 3 Apr 2012 22:18:00 +0000 (15:18 -0700)]
snapdiff: Add filename column to HTML report
Basically, I want one cell that will always be present for turning the
cell green or red based on whether the images match or not.
Signed-off-by: José Fonseca <jose.r.fonseca@gmail.com>
Carl Worth [Mon, 9 Apr 2012 18:27:22 +0000 (11:27 -0700)]
snapdiff: Remove debugging print statement.
I assume this print statement is just some leftover from
debugging. The output isn't meaningful to the user.
Carl Worth [Wed, 28 Mar 2012 01:13:14 +0000 (18:13 -0700)]
cli: Add a simple implementation of "apitrace dump-images"
This merely calls out to the existing glretrace command with
appropriate options for generating snapshots. This at least provides
the image-dumping capability within the unified command-line
interface.
In the future, it will likely make sens to make dump-images do things
in-process.
José Fonseca [Wed, 11 Apr 2012 11:04:00 +0000 (12:04 +0100)]
Fix D3D10 flags.
José Fonseca [Sat, 7 Apr 2012 09:49:35 +0000 (10:49 +0100)]
Avoid output blobs.
Not really supported.
José Fonseca [Sat, 7 Apr 2012 09:23:33 +0000 (10:23 +0100)]
Debug output of region mappings.
José Fonseca [Mon, 2 Apr 2012 06:10:48 +0000 (08:10 +0200)]
Fix type mismatch in enum deserialization.
José Fonseca [Thu, 5 Apr 2012 18:55:53 +0000 (19:55 +0100)]
Handle glMapObjectBufferATI/glUnmapObjectBufferATI.
José Fonseca [Sun, 1 Apr 2012 20:47:30 +0000 (22:47 +0200)]
Add missing os_time include.
José Fonseca [Thu, 5 Apr 2012 19:06:42 +0000 (20:06 +0100)]
Disable BlockingIODevice with QJSON.
It looks like it doesn't work reliably in all cases, at least with
certain versions.
Kenneth Graunke [Thu, 5 Apr 2012 17:51:26 +0000 (10:51 -0700)]
Fix crash when using apitrace trim's -o option.
The -o option takes an argument (the filename), so the getopt string
needs to be 'o:', not 'o'. Otherwise, no argument is parsed, optarg
remains NULL, and we crash on "output = optarg".
José Fonseca [Thu, 5 Apr 2012 18:56:19 +0000 (19:56 +0100)]
Remove unneeded include.
José Fonseca [Thu, 5 Apr 2012 18:56:08 +0000 (19:56 +0100)]
Add missing dependencies to glproc.
José Fonseca [Thu, 5 Apr 2012 10:23:11 +0000 (11:23 +0100)]
Several improvements to C decl parser.
José Fonseca [Thu, 5 Apr 2012 10:22:53 +0000 (11:22 +0100)]
More verbose unknown IID warnings.
José Fonseca [Thu, 5 Apr 2012 10:20:22 +0000 (11:20 +0100)]
Trace ID3D10Debug interface.
José Fonseca [Thu, 5 Apr 2012 10:18:27 +0000 (11:18 +0100)]
Recognize more D3D10 flags.
José Fonseca [Fri, 30 Mar 2012 20:22:15 +0000 (21:22 +0100)]
Allow to include EGL on MacOSX.
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: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.