tools/apitrace.git
12 years agoDon't abuse double-underscore prefix.
José Fonseca [Thu, 19 Apr 2012 06:18:59 +0000 (07:18 +0100)]
Don't abuse double-underscore prefix.

To avoid conflicts, as C++ standard reserved them for system libraries.

12 years agoTrace IDirect3DDevice9::Draw*PrimitiveUP blobs
José Fonseca [Wed, 18 Apr 2012 22:36:50 +0000 (23:36 +0100)]
Trace IDirect3DDevice9::Draw*PrimitiveUP blobs

12 years agoRetrace IUnknown::AddRef/Release correctly.
José Fonseca [Wed, 18 Apr 2012 22:02:45 +0000 (23:02 +0100)]
Retrace IUnknown::AddRef/Release correctly.

12 years agoTrace/retrace IDirect3DVertexBuffer9 locks
José Fonseca [Wed, 18 Apr 2012 18:58:32 +0000 (19:58 +0100)]
Trace/retrace IDirect3DVertexBuffer9 locks

12 years agoAdd back specs/__init__.py
José Fonseca [Wed, 18 Apr 2012 15:54:19 +0000 (16:54 +0100)]
Add back specs/__init__.py

Accidentally removed in 7ec9050b3b96f7a6c663361c7d8000eef5418667.

Make it a non-empty file so that it stands out next time it is
accidentally removed.

Thanks to Alexander Monakov for spotting its deletion.

12 years agoTrace a few more DXGI interfaces.
José Fonseca [Mon, 16 Apr 2012 20:02:17 +0000 (21:02 +0100)]
Trace a few more DXGI interfaces.

12 years agoFix querying an external derived interface.
José Fonseca [Mon, 16 Apr 2012 19:48:59 +0000 (20:48 +0100)]
Fix querying an external derived interface.

12 years agoFix common HRESULT values.
José Fonseca [Mon, 16 Apr 2012 19:47:56 +0000 (20:47 +0100)]
Fix common HRESULT values.

12 years agoDump GLboolean as enum.
José Fonseca [Mon, 16 Apr 2012 19:09:42 +0000 (20:09 +0100)]
Dump GLboolean as enum.

More readable.

12 years agoRepresent BOOL as an enum.
José Fonseca [Mon, 16 Apr 2012 18:37:25 +0000 (19:37 +0100)]
Represent BOOL as an enum.

So that TRUE/FALSE symbol names are preserved, improving readability.

12 years agoImprove tracing of ID3D11DeviceContext::CheckFeatureSupport.
José Fonseca [Mon, 16 Apr 2012 13:01:15 +0000 (14:01 +0100)]
Improve tracing of ID3D11DeviceContext::CheckFeatureSupport.

12 years agoImprove CheckFormatSupport tracing.
José Fonseca [Mon, 16 Apr 2012 12:25:06 +0000 (13:25 +0100)]
Improve CheckFormatSupport tracing.

12 years agoAdjust d3d10+ interfaces.
José Fonseca [Mon, 16 Apr 2012 12:06:44 +0000 (13:06 +0100)]
Adjust d3d10+ interfaces.

12 years agoCleanup dxgi spec.
José Fonseca [Mon, 16 Apr 2012 12:05:47 +0000 (13:05 +0100)]
Cleanup dxgi spec.

12 years agoImprove HRESULT handling.
José Fonseca [Mon, 16 Apr 2012 11:54:05 +0000 (12:54 +0100)]
Improve HRESULT handling.

12 years agounpickle: Fix rebuild of iterables.
José Fonseca [Mon, 16 Apr 2012 09:59:49 +0000 (10:59 +0100)]
unpickle: Fix rebuild of iterables.

12 years agotracediff2: Handle variations in number of arguments.
José Fonseca [Mon, 16 Apr 2012 09:59:25 +0000 (10:59 +0100)]
tracediff2: Handle variations in number of arguments.

12 years agocdecl: Always generate double quotes.
José Fonseca [Mon, 16 Apr 2012 09:57:45 +0000 (10:57 +0100)]
cdecl: Always generate double quotes.

For consitency.

12 years agoCleanup how pointers are handled.
José Fonseca [Sun, 15 Apr 2012 15:13:51 +0000 (16:13 +0100)]
Cleanup how pointers are handled.

In particular prevent high order bits to be lost when processing on
64bits traces on 32bits platforms.

12 years agoMove the last bits of code out of the top source dir.
José Fonseca [Sun, 15 Apr 2012 15:07:25 +0000 (16:07 +0100)]
Move the last bits of code out of the top source dir.

12 years agoRemove codegen.py.
José Fonseca [Sun, 15 Apr 2012 14:04:10 +0000 (15:04 +0100)]
Remove codegen.py.

Unused.

12 years agoDrop GLsync_
José Fonseca [Sun, 15 Apr 2012 14:03:31 +0000 (15:03 +0100)]
Drop GLsync_

12 years agoFactor the proc address wrapping into gltrace.py
José Fonseca [Sun, 15 Apr 2012 13:33:00 +0000 (14:33 +0100)]
Factor the proc address wrapping into gltrace.py

12 years agoName trace targets consistently.
José Fonseca [Sun, 15 Apr 2012 08:37:46 +0000 (09:37 +0100)]
Name trace targets consistently.

12 years agoCleanup a bit more IID handling.
José Fonseca [Sun, 15 Apr 2012 08:31:18 +0000 (09:31 +0100)]
Cleanup a bit more IID handling.

12 years agoHandle REFIIDs on functions too.
José Fonseca [Sun, 15 Apr 2012 07:42:25 +0000 (08:42 +0100)]
Handle REFIIDs on functions too.

12 years agoFix MacOSX build.
José Fonseca [Sat, 14 Apr 2012 21:26:09 +0000 (22:26 +0100)]
Fix MacOSX build.

12 years agoUse ObjPointers consistenty.
José Fonseca [Sat, 14 Apr 2012 21:02:42 +0000 (22:02 +0100)]
Use ObjPointers consistenty.

12 years agoFix IDirect3DVertexDeclaration9::GetDeclaration
José Fonseca [Sat, 14 Apr 2012 19:36:09 +0000 (20:36 +0100)]
Fix IDirect3DVertexDeclaration9::GetDeclaration

12 years agoFix max units computation.
José Fonseca [Sat, 14 Apr 2012 19:28:58 +0000 (20:28 +0100)]
Fix max units computation.

My thinko while tweaking Imre's e68b8d68741f2559a4be34d53b8aa3c7ed761471 patch.

12 years agoProperly (un)wrap array arguments.
José Fonseca [Sat, 14 Apr 2012 19:25:52 +0000 (20:25 +0100)]
Properly (un)wrap array arguments.

12 years agoMove dispatch to its own subdirectory.
José Fonseca [Sat, 14 Apr 2012 17:13:25 +0000 (18:13 +0100)]
Move dispatch to its own subdirectory.

12 years agoDon't change behavior of glproc code via RETRACE define.
José Fonseca [Sat, 14 Apr 2012 16:28:40 +0000 (17:28 +0100)]
Don't change behavior of glproc code via RETRACE define.

So that we don't have to build the same code twice.

12 years agoDon't link against d3d9 in runtime.
José Fonseca [Sat, 14 Apr 2012 16:24:14 +0000 (17:24 +0100)]
Don't link against d3d9 in runtime.

12 years agoMove retracers to their own directory.
José Fonseca [Sat, 14 Apr 2012 16:22:57 +0000 (17:22 +0100)]
Move retracers to their own directory.

12 years agoMove tracers to wrappers subdirectory.
José Fonseca [Sat, 14 Apr 2012 14:55:40 +0000 (15:55 +0100)]
Move tracers to wrappers subdirectory.

12 years agoDon't abuse NotImplementedError.
José Fonseca [Sat, 14 Apr 2012 14:17:12 +0000 (15:17 +0100)]
Don't abuse NotImplementedError.

So that we can distinguish between types we can't support, and those we
can support, but haven't.

12 years agoAdd d3d11.def file.
José Fonseca [Sat, 14 Apr 2012 13:58:49 +0000 (14:58 +0100)]
Add d3d11.def file.

12 years agoMinimal D3D11 support.
José Fonseca [Sat, 14 Apr 2012 13:56:45 +0000 (14:56 +0100)]
Minimal D3D11 support.

12 years agoFix dumping of depth textures.
Michal Krol [Fri, 13 Apr 2012 17:21:23 +0000 (18:21 +0100)]
Fix dumping of depth textures.

12 years agoMerge branch 'd3dretrace'
José Fonseca [Fri, 13 Apr 2012 16:36:19 +0000 (17:36 +0100)]
Merge branch 'd3dretrace'

12 years agoPrevent derreference after free when retracing glFeedbackBuffer/glSelectBuffer.
José Fonseca [Fri, 13 Apr 2012 13:57:08 +0000 (14:57 +0100)]
Prevent derreference after free when retracing glFeedbackBuffer/glSelectBuffer.

12 years agoSkip functions without sideeffects alltogether.
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.

12 years agoA few minor corrections to GL specs.
José Fonseca [Fri, 13 Apr 2012 12:49:41 +0000 (13:49 +0100)]
A few minor corrections to GL specs.

12 years agoFind the x64 DXSDK libraries.
José Fonseca [Fri, 13 Apr 2012 08:03:28 +0000 (09:03 +0100)]
Find the x64 DXSDK libraries.

12 years agoAndroid: hard code the trace file path to be under /data
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>
12 years agogles: fix lookup for GLESv1 functions
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>
12 years agogles: sanity check GL_COMBINED_TEXTURE_IMAGE_UNITS
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>
12 years agogles: don't call unsupported glGetHandleARB
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>
12 years agogles: fix GLES version string matching
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>
12 years agoTrace d3d10.1 too.
José Fonseca [Thu, 12 Apr 2012 06:13:01 +0000 (07:13 +0100)]
Trace d3d10.1 too.

12 years agoAdd trim support to qapitrace GUI app.
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>
12 years agoapitrace diff-images: Print one line for each file being compared.
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>
12 years agoapitrace diff-images: Print one line for each file being compared.
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).

12 years agoDon't show images where there is no difference.
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>
12 years agosnapdiff: Provide indication whether images match or not
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>
12 years agoos_posix: Fix return value for os::execute()
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>
12 years agosnapdiff: Add filename column to HTML report
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>
12 years agosnapdiff: Remove debugging print statement.
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.

12 years agocli: Add a simple implementation of "apitrace dump-images"
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.

12 years agoFix D3D10 flags.
José Fonseca [Wed, 11 Apr 2012 11:04:00 +0000 (12:04 +0100)]
Fix D3D10 flags.

12 years agoAvoid output blobs.
José Fonseca [Sat, 7 Apr 2012 09:49:35 +0000 (10:49 +0100)]
Avoid output blobs.

Not really supported.

12 years agoDebug output of region mappings.
José Fonseca [Sat, 7 Apr 2012 09:23:33 +0000 (10:23 +0100)]
Debug output of region mappings.

12 years agoFix type mismatch in enum deserialization.
José Fonseca [Mon, 2 Apr 2012 06:10:48 +0000 (08:10 +0200)]
Fix type mismatch in enum deserialization.

12 years agoHandle glMapObjectBufferATI/glUnmapObjectBufferATI.
José Fonseca [Thu, 5 Apr 2012 18:55:53 +0000 (19:55 +0100)]
Handle glMapObjectBufferATI/glUnmapObjectBufferATI.

12 years agoAdd missing os_time include.
José Fonseca [Sun, 1 Apr 2012 20:47:30 +0000 (22:47 +0200)]
Add missing os_time include.

12 years agoSeparate allocation and extraction in retracing.
José Fonseca [Sat, 7 Apr 2012 09:50:53 +0000 (10:50 +0100)]
Separate allocation and extraction in retracing.

12 years agoRecognize zero SizeToLock as full buffer.
José Fonseca [Sat, 7 Apr 2012 09:50:17 +0000 (10:50 +0100)]
Recognize zero SizeToLock as full buffer.

12 years agoAvoid output blobs.
José Fonseca [Sat, 7 Apr 2012 09:49:35 +0000 (10:49 +0100)]
Avoid output blobs.

Not really supported.

12 years agoAllow InOut arguments.
José Fonseca [Sat, 7 Apr 2012 09:42:50 +0000 (10:42 +0100)]
Allow InOut arguments.

12 years agoDebug output of region mappings.
José Fonseca [Sat, 7 Apr 2012 09:23:33 +0000 (10:23 +0100)]
Debug output of region mappings.

12 years agoUse ANSI escape codes when inside WINE.
José Fonseca [Sat, 7 Apr 2012 09:13:37 +0000 (10:13 +0100)]
Use ANSI escape codes when inside WINE.

12 years agoCreate window on d3dretrace.
José Fonseca [Fri, 6 Apr 2012 06:49:45 +0000 (07:49 +0100)]
Create window on d3dretrace.

12 years agoRevert "Improve IUnknown::QueryInterface"
José Fonseca [Thu, 5 Apr 2012 21:58:43 +0000 (22:58 +0100)]
Revert "Improve IUnknown::QueryInterface"

This reverts commit 7f3688bb956928bfef266ebbe0b3ccbf6e984559.

12 years agoDisable BlockingIODevice with QJSON.
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.

12 years agoFix crash when using apitrace trim's -o option.
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".

12 years agoRemove unneeded include.
José Fonseca [Thu, 5 Apr 2012 18:56:19 +0000 (19:56 +0100)]
Remove unneeded include.

12 years agoAdd missing dependencies to glproc.
José Fonseca [Thu, 5 Apr 2012 18:56:08 +0000 (19:56 +0100)]
Add missing dependencies to glproc.

12 years agoAvoid rebuilding types unnecessarily.
José Fonseca [Thu, 5 Apr 2012 18:59:56 +0000 (19:59 +0100)]
Avoid rebuilding types unnecessarily.

12 years agoAvoid conflicting tmps.
José Fonseca [Thu, 5 Apr 2012 18:58:38 +0000 (19:58 +0100)]
Avoid conflicting tmps.

12 years agoWarn on null this pointer.
José Fonseca [Thu, 5 Apr 2012 18:58:20 +0000 (19:58 +0100)]
Warn on null this pointer.

12 years agoImprove IUnknown::QueryInterface
José Fonseca [Thu, 5 Apr 2012 18:58:00 +0000 (19:58 +0100)]
Improve IUnknown::QueryInterface

12 years agoFix handles.
José Fonseca [Thu, 5 Apr 2012 18:57:45 +0000 (19:57 +0100)]
Fix handles.

12 years agoglMapObjectBufferATI
José Fonseca [Thu, 5 Apr 2012 18:57:12 +0000 (19:57 +0100)]
glMapObjectBufferATI

12 years agoMore D3D9 spec tweaks.
José Fonseca [Thu, 5 Apr 2012 18:57:02 +0000 (19:57 +0100)]
More D3D9 spec tweaks.

12 years agoRemove unneeded include.
José Fonseca [Thu, 5 Apr 2012 18:56:19 +0000 (19:56 +0100)]
Remove unneeded include.

12 years agoAdd missing dependencies to glproc.
José Fonseca [Thu, 5 Apr 2012 18:56:08 +0000 (19:56 +0100)]
Add missing dependencies to glproc.

12 years agoHandle glMapObjectBufferATI/glUnmapObjectBufferATI.
José Fonseca [Thu, 5 Apr 2012 18:55:53 +0000 (19:55 +0100)]
Handle glMapObjectBufferATI/glUnmapObjectBufferATI.

12 years agoSeveral improvements to C decl parser.
José Fonseca [Thu, 5 Apr 2012 10:23:11 +0000 (11:23 +0100)]
Several improvements to C decl parser.

12 years agoMore verbose unknown IID warnings.
José Fonseca [Thu, 5 Apr 2012 10:22:53 +0000 (11:22 +0100)]
More verbose unknown IID warnings.

12 years agoTrace ID3D10Debug interface.
José Fonseca [Thu, 5 Apr 2012 10:20:22 +0000 (11:20 +0100)]
Trace ID3D10Debug interface.

12 years agoRecognize more D3D10 flags.
José Fonseca [Thu, 5 Apr 2012 10:18:27 +0000 (11:18 +0100)]
Recognize more D3D10 flags.

12 years agoMake obj pointers first class citizens.
José Fonseca [Thu, 5 Apr 2012 06:10:30 +0000 (07:10 +0100)]
Make obj pointers first class citizens.

12 years agoFix glretrace build.
José Fonseca [Mon, 2 Apr 2012 20:00:53 +0000 (21:00 +0100)]
Fix glretrace build.

12 years agoFix type mismatch in enum deserialization.
José Fonseca [Mon, 2 Apr 2012 06:10:48 +0000 (08:10 +0200)]
Fix type mismatch in enum deserialization.

12 years agoDeserialize structures.
José Fonseca [Mon, 2 Apr 2012 06:10:06 +0000 (08:10 +0200)]
Deserialize structures.

12 years agoRename ConstRemover.
José Fonseca [Mon, 2 Apr 2012 06:07:32 +0000 (08:07 +0200)]
Rename ConstRemover.

12 years agoFix D33D9 link failures.
José Fonseca [Sun, 1 Apr 2012 20:48:45 +0000 (22:48 +0200)]
Fix D33D9 link failures.

12 years agoFix zeroing of unsupported arguments for complex types.
José Fonseca [Sun, 1 Apr 2012 20:48:24 +0000 (22:48 +0200)]
Fix zeroing of unsupported arguments for complex types.

12 years agoAdd missing os_time include.
José Fonseca [Sun, 1 Apr 2012 20:47:30 +0000 (22:47 +0200)]
Add missing os_time include.