]> git.notmuchmail.org Git - apitrace/blobdiff - README.markdown
Avoid walking off array if given a negative value for array size.
[apitrace] / README.markdown
index 9bd0d0fc7ca9c0b1d72cb4749b3cf8dff442171b..d5c4aedb148623e82c2792e4807c13d0c35213d9 100644 (file)
@@ -3,7 +3,7 @@ About **apitrace**
 
 **apitrace** consists of a set of tools to:
 
 
 **apitrace** consists of a set of tools to:
 
-* trace OpenGL, OpenGL ES, D3D9, D3D8, D3D7, and DDRAW APIs calls to a file;
+* trace OpenGL, OpenGL ES, Direct3D, and DirectDraw APIs calls to a file;
 
 * retrace OpenGL and OpenGL ES calls from a file;
 
 
 * retrace OpenGL and OpenGL ES calls from a file;
 
@@ -12,6 +12,16 @@ About **apitrace**
 * visualize and edit trace files.
 
 
 * visualize and edit trace files.
 
 
+Obtaining **apitrace**
+======================
+
+To obtain apitrace either [download the latest
+binaries](https://github.com/apitrace/apitrace/downloads) for your platform if
+available, or follow the instructions in INSTALL.markdown to build it yourself.
+On 64bits Linux and Windows platforms you'll need apitrace binaries that match
+the architecture (32bits or 64bits) of the application being traced.
+
+
 Basic usage
 ===========
 
 Basic usage
 ===========
 
@@ -29,6 +39,8 @@ Windows you'll need to run
 [DebugView](http://technet.microsoft.com/en-us/sysinternals/bb896647) to view
 these messages.
 
 [DebugView](http://technet.microsoft.com/en-us/sysinternals/bb896647) to view
 these messages.
 
+Follow the "Tracing manually" instructions below if you cannot obtain a trace.
+
 View the trace with
 
     apitrace dump application.trace
 View the trace with
 
     apitrace dump application.trace
@@ -40,10 +52,18 @@ Replay an OpenGL trace with
 Pass the `-sb` option to use a single buffered visual.  Pass `--help` to
 glretrace for more options.
 
 Pass the `-sb` option to use a single buffered visual.  Pass `--help` to
 glretrace for more options.
 
+
+Basic GUI usage
+===============
+
 Start the GUI as
 
     qapitrace application.trace
 
 Start the GUI as
 
     qapitrace application.trace
 
+You can also tell the GUI to go directly to a specific call
+
+    qapitrace application.trace 12345
+
 
 Advanced command line usage
 ===========================
 
 Advanced command line usage
 ===========================
@@ -82,6 +102,14 @@ Tracing manually
 
 ### Linux ###
 
 
 ### Linux ###
 
+On 64 bits systems, you'll need to determine ether the application is 64 bits
+or 32 bits.  This can be done by doing
+
+    file /path/to/application
+
+But beware of wrapper shell scripts -- what matters is the architecture of the
+main process.
+
 Run the application you want to trace as
 
      LD_PRELOAD=/path/to/apitrace/wrappers/glxtrace.so /path/to/application
 Run the application you want to trace as
 
      LD_PRELOAD=/path/to/apitrace/wrappers/glxtrace.so /path/to/application
@@ -126,9 +154,24 @@ page for more details about these environment flags.
 
 ### Windows ###
 
 
 ### Windows ###
 
-Copy `opengl32.dll`, `d3d8.dll`, or `d3d9.dll` from the wrappers directory
-to the directory with the application you want to trace.  Then run the
-application.
+When tracing third-party applications, you can identify the target
+application's main executable, either by:
+
+* right clicking on the application's icon in the _Start Menu_, choose
+  _Properties_, and see the _Target_ field;
+
+* or by starting the application, run Windows Task Manager (taskmgr.exe), right
+  click on the application name in the _Applications_ tab, choose _Go To Process_,
+  note the highlighted _Image Name_, and search it on `C:\Program Files` or
+  `C:\Program Files (x86)`.
+
+On 64 bits Windows, you'll need to determine ether the application is a 64 bits
+or 32 bits. 32 bits applications will have a `*32` suffix in the _Image Name_
+column of the _Processes_ tab of _Windows Task Manager_ window.
+
+Copy the appropriate `opengl32.dll`, `d3d8.dll`, or `d3d9.dll` from the
+wrappers directory to the directory with the application you want to trace.
+Then run the application as usual.
 
 You can specify the written trace filename by setting the `TRACE_FILE`
 environment variable before running.
 
 You can specify the written trace filename by setting the `TRACE_FILE`
 environment variable before running.
@@ -315,16 +358,20 @@ reference software renderer.
 
 This can be achieved with retracediff.py script, which invokes glretrace with
 different environments, allowing to choose the desired GL driver by
 
 This can be achieved with retracediff.py script, which invokes glretrace with
 different environments, allowing to choose the desired GL driver by
-manipulating variables such as `LD_LIBRARY_PATH` or `LIBGL_DRIVERS_DIR`.
+manipulating variables such as `LD_LIBRARY_PATH`, `LIBGL_DRIVERS_DIR`, or
+`TRACE_LIBGL`.
 
 
-For example:
+For example, on Linux:
 
     ./scripts/retracediff.py \
         --ref-env LD_LIBRARY_PATH=/path/to/reference/GL/implementation \
 
     ./scripts/retracediff.py \
         --ref-env LD_LIBRARY_PATH=/path/to/reference/GL/implementation \
-        -r ./glretrace \
+        --retrace /path/to/glretrace \
         --diff-prefix=/path/to/output/diffs \
         application.trace
 
         --diff-prefix=/path/to/output/diffs \
         application.trace
 
+Or on Windows:
+
+    python scripts\retracediff.py --retrace \path\to\glretrace.exe --ref-env TRACE_LIBGL=\path\to\reference\opengl32.dll application.trace
 
 
 Links
 
 
 Links
@@ -356,8 +403,12 @@ Closed-source:
 
   * [D3DSpy](http://doc.51windows.net/Directx9_SDK/?url=/directx9_sdk/graphics/programmingguide/TutorialsAndSamplesAndToolsAndTips/Tools/D3DSpy.htm): the predecessor of PIX
 
 
   * [D3DSpy](http://doc.51windows.net/Directx9_SDK/?url=/directx9_sdk/graphics/programmingguide/TutorialsAndSamplesAndToolsAndTips/Tools/D3DSpy.htm): the predecessor of PIX
 
+* [NVIDIA PerfKit](http://developer.nvidia.com/nvidia-perfkit)
+
 * [AMD GPU PerfStudio](http://developer.amd.com/gpu/PerfStudio/pages/APITraceWindow.aspx)
 
 * [AMD GPU PerfStudio](http://developer.amd.com/gpu/PerfStudio/pages/APITraceWindow.aspx)
 
+* [Intel Graphics Performance Analyzers](http://www.intel.com/software/gpa/)
+
 
 OpenGL
 ------
 
 OpenGL
 ------
@@ -370,9 +421,11 @@ Open-source:
 
 * [tracy](https://gitorious.org/tracy): OpenGL ES and OpenVG trace, retrace, and state inspection
 
 
 * [tracy](https://gitorious.org/tracy): OpenGL ES and OpenVG trace, retrace, and state inspection
 
+* [WebGL-Inspector](http://benvanik.github.com/WebGL-Inspector/)
+
 Closed-source:
 
 Closed-source:
 
-* [gDEBugger](http://www.gremedy.com/products.php)
+* [gDEBugger](http://www.gremedy.com/products.php) and [AMD gDEBugger](http://developer.amd.com/tools/gDEBugger/Pages/default.aspx)
 
 * [glslDevil](http://cumbia.informatik.uni-stuttgart.de/glsldevil/index.html)
 
 
 * [glslDevil](http://cumbia.informatik.uni-stuttgart.de/glsldevil/index.html)