]> git.cworth.org Git - apitrace/blobdiff - README.markdown
Add "apitrace diff-images" command
[apitrace] / README.markdown
index 01fb8b66fcde25be18ba09cf041afe4b8f49e890..497351abe99697dc285e2c0607aaa48da2267f0e 100644 (file)
@@ -16,12 +16,12 @@ Basic usage
 ===========
 
 
-Linux
------
+Linux and Mac OS X
+------------------
 
 Run the application you want to trace as
 
-     LD_PRELOAD=/path/to/glxtrace.so /path/to/application
+    /path/to/apitrace trace /path/to/application [args...]
 
 and it will generate a trace named `application.trace` in the current
 directory.  You can specify the written trace filename by setting the
@@ -29,7 +29,7 @@ directory.  You can specify the written trace filename by setting the
 
 View the trace with
 
-    /path/to/tracedump --color application.trace | less -R
+    /path/to/apitrace dump --color application.trace | less -R
 
 Replay the trace with
 
@@ -43,6 +43,40 @@ Start the GUI as
     /path/to/qapitrace application.trace
 
 
+Windows
+-------
+
+* Copy `opengl32.dll`, `d3d8.dll`, or `d3d9.dll` from build/wrappers directory
+  to the directory with the application you want to trace.
+
+* Run the application.
+
+* View the trace with
+
+        \path\to\apitrace dump application.trace
+
+* Replay the trace with
+
+        \path\to\glretrace application.trace
+
+
+Advanced command line usage
+===========================
+
+
+Tracing manually
+----------------
+
+### Linux ###
+
+Run the application you want to trace as
+
+     LD_PRELOAD=/path/to/apitrace/wrappers/glxtrace.so /path/to/application
+
+and it will generate a trace named `application.trace` in the current
+directory.  You can specify the written trace filename by setting the
+`TRACE_FILE` environment variable before running.
+
 The `LD_PRELOAD` mechanism should work with most applications.  There are some
 applications, e.g., Unigine Heaven, which global function pointers with the
 same name as GL entrypoints, living in a shared object that wasn't linked with
@@ -52,23 +86,19 @@ segfault when trying to write to them.  For these applications it is possible
 to trace by using `glxtrace.so` as an ordinary `libGL.so` and injecting into
 `LD_LIBRARY_PATH`:
 
-    ln -s glxtrace.so libGL.so
-    ln -s glxtrace.so libGL.so.1
-    ln -s glxtrace.so libGL.so.1.2
-    export LD_LIBRARY_PATH=/path/to/directory/where/glxtrace/is:$LD_LIBRARY_PATH
+    ln -s glxtrace.so wrappers/libGL.so
+    ln -s glxtrace.so wrappers/libGL.so.1
+    ln -s glxtrace.so wrappers/libGL.so.1.2
+    export LD_LIBRARY_PATH=/path/to/apitrace/wrappers:$LD_LIBRARY_PATH
     export TRACE_LIBGL=/path/to/real/libGL.so.1
     /path/to/application
 
 See the `ld.so` man page for more information about `LD_PRELOAD` and
 `LD_LIBRARY_PATH` environment flags.
 
+### Mac OS X ###
 
-
-Mac OS X
---------
-
-Usage on Mac OS X is similar to Linux above, except for the tracing procedure,
-which is instead:
+Run the application you want to trace as
 
     DYLD_LIBRARY_PATH=/path/to/apitrace/wrappers /path/to/application
 
@@ -78,27 +108,6 @@ Note that although Mac OS X has an `LD_PRELOAD` equivalent,
 page for more details about these environment flags.
 
 
-Windows
--------
-
-* Copy `opengl32.dll`, `d3d8.dll`, or `d3d9.dll` from build/wrappers directory
-  to the directory with the application you want to trace.
-
-* Run the application.
-
-* View the trace with
-
-        \path\to\tracedump application.trace
-
-* Replay the trace with
-
-        \path\to\glretrace application.trace
-
-
-Advanced command line usage
-===========================
-
-
 Emitting annotations to the trace from GL applications
 ------------------------------------------------------
 
@@ -149,7 +158,7 @@ You can compare two state dumps with the jsondiff.py script:
 Comparing two traces side by side
 ---------------------------------
 
-    ./scripts/tracediff.sh trace1.trace trace2.trace
+    apitrace diff trace1.trace trace2.trace
 
 This works only on Unices, and it will truncate the traces due to performance
 limitations.