summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/BUGS.markdown41
-rw-r--r--docs/Dalvik.markdown9
-rw-r--r--docs/USAGE.markdown56
3 files changed, 37 insertions, 69 deletions
diff --git a/docs/BUGS.markdown b/docs/BUGS.markdown
index 1f7ac128..2c35bac7 100644
--- a/docs/BUGS.markdown
+++ b/docs/BUGS.markdown
@@ -1,5 +1,4 @@
-Reporting bugs
-==============
+# Reporting bugs #
Before reporting, please skim through the known issues below.
@@ -11,8 +10,7 @@ always including the following information:
* OpenGL/D3D driver name and version
-Known issues
-============
+# Known issues #
These are issues that the developers are already aware of, but for which there
is no immediate plan to address them, because either:
@@ -34,8 +32,7 @@ if:
sooner rather than later.
-Tracing
--------
+## Tracing ##
* Fake calls may be emitted in the trace, in order to provide complete
information for retracing. The typical case is OpenGL vertex arrays in user
@@ -63,8 +60,7 @@ Tracing
* On MacOSX, the internal OpenGL calls done by GLU are not traced yet.
-Retracing
----------
+## Retracing ##
* Replaying can take substantially more CPU due to the overhead of reading the
trace file from disk.
@@ -95,15 +91,13 @@ Retracing
share state. This is by far the most common case though.
-GUI
----
+## GUI ##
* Not all types of arguments can be edited.
-Proprietary/confidential applications
-=====================================
+# Proprietary/confidential applications #
Issues should be preferably filed on github to facilitate collaborative
development and for future reference.
@@ -129,8 +123,7 @@ Failure to do so will render the apitrace authors powerless to address the
issue.
-Attachments
-===========
+# Attachments #
github issue tracker doesn't support attachments.
@@ -147,8 +140,7 @@ further reduce their size when attaching/uploading by compressing with
[XZ](http://tukaani.org/xz/) or [7-Zip](http://www.7-zip.org/).
-Bugs on tracing
-===============
+# Bugs on tracing #
For bugs that happen while tracing (e.g., crashes while tracing the
application, or incorrect traces) please:
@@ -158,8 +150,7 @@ application, or incorrect traces) please:
* describe how you were using it when the issue happened.
-Bugs on retracing/GUI
-=====================
+# Bugs on retracing/GUI #
For bugs on retracing (e.g. crashes when retracing the application,
incorrect inconsistent rendering, or viewing with the GUI) please:
@@ -169,15 +160,13 @@ incorrect inconsistent rendering, or viewing with the GUI) please:
* describe the results you got, and what results you were expecting.
-Obtaining stack back-traces
-===========================
+# Obtaining stack back-traces #
Please rebuild apitrace with debugging information, by passing
`-DCMAKE_BUILD_TYPE=Debug` to cmake, or editing its value in `CMakeCache.txt`
and rebuilding.
-Linux
------
+## Linux ##
To obtain a stack back-trace, run the application with gdb from a terminal:
@@ -203,8 +192,7 @@ See also more detailed and Distro specific instructions:
* http://live.gnome.org/GettingTraces
-Mac OS X
---------
+## Mac OS X ##
Before you can debug you must first enable developer mode on the machine if you
haven't done so before:
@@ -220,9 +208,8 @@ To trace an application inside LLDB and obtain a stack backtrace invoke apitrace
(lldb) quit
-Windows
--------
+## Windows ##
See:
-* https://developer.mozilla.org/en/how_to_get_a_stacktrace_with_windbg
+* <https://developer.mozilla.org/en/how_to_get_a_stacktrace_with_windbg>
diff --git a/docs/Dalvik.markdown b/docs/Dalvik.markdown
index 4564e3b8..559c6d10 100644
--- a/docs/Dalvik.markdown
+++ b/docs/Dalvik.markdown
@@ -1,5 +1,4 @@
-Tracing Dalvik VM (Java) applications on Android
-================================================
+# Tracing Dalvik VM (Java) applications on Android #
Android's Java virtual machine, Dalvik, runs as a system service (started at
bootup by `init`) and Java applications are run by forks of the initial
@@ -11,8 +10,7 @@ The following discussion assumes that tracing library is copied to '/data':
adb push /path/to/apitrace/build/wrappers/egltrace.so /data
-Tracing on Android 4.0 and newer
---------------------------------
+## Tracing on Android 4.0 and newer ##
Starting from Android 4.0 (Ice Cream Sandwich) release, Dalvik supports
running designated processes with wrappers, in which case a new Java VM is
@@ -43,8 +41,7 @@ are saved into '/data/data/$PROCNAME' directory by default:
adb shell rm /data/data/$PROCNAME/$PROCNAME.trace
-Tracing on Android pre-4.0
---------------------------
+## Tracing on Android pre-4.0 ##
`LD_PRELOAD` is supported since Android 2.3 "Gingerbread" and newer, but
injecting tracing library globally is no longer supported, as the
diff --git a/docs/USAGE.markdown b/docs/USAGE.markdown
index 28d481cc..3e819568 100644
--- a/docs/USAGE.markdown
+++ b/docs/USAGE.markdown
@@ -1,5 +1,4 @@
-Basic usage
-===========
+# Basic usage #
Run the application you want to trace as
@@ -34,8 +33,7 @@ If you run into problems [check if it is a known issue and file an issue if
not](BUGS.markdown).
-Basic GUI usage
-===============
+# Basic GUI usage #
Start the GUI as
@@ -49,8 +47,7 @@ Press `Ctrl-T` to see per-frame thumbnails. And while inspecting frame calls,
press again `Ctrl-T` to see per-draw call thumbnails.
-Backtrace Capturing
-===================
+# Backtrace Capturing #
apitrace now has the ability to capture the call stack to an OpenGL call on
certain OSes (only Android and Linux at the moment). This can be helpful in
@@ -64,12 +61,10 @@ call prefixes you wish to capture stack traces to.
The backtrace data will show up in qapitrace in the bottom section as a new tab.
-Advanced command line usage
-===========================
+# Advanced command line usage #
-Call sets
----------
+## Call sets ##
Several tools take `CALLSET` arguments, e.g:
@@ -97,8 +92,7 @@ The call syntax is very flexible. Here are a few examples:
-Tracing manually
-----------------
+## Tracing manually ##
### Linux ###
@@ -204,8 +198,7 @@ solves this issue by injecting a DLL `dxgitrace.dll` and patching all modules
to hook only the APIs of interest.
-Emitting annotations to the trace
----------------------------------
+## Emitting annotations to the trace ##
From within OpenGL applications you can embed annotations in the trace file
through the following extensions:
@@ -277,8 +270,7 @@ For Direct3D applications you can follow the standard procedure for
`ID3DUserDefinedAnnotation::SetMarker` for D3D11.1 applications.
-Dump OpenGL state at a particular call
-----------------------------------
+## Dump OpenGL state at a particular call ##
You can get a dump of the bound OpenGL state at call 12345 by doing:
@@ -291,8 +283,7 @@ You can compare two state dumps by doing:
apitrace diff-state 12345.json 67890.json
-Comparing two traces side by side
----------------------------------
+## Comparing two traces side by side ##
apitrace diff trace1.trace trace2.trace
@@ -300,8 +291,7 @@ This works only on Unices, and it will truncate the traces due to performance
limitations.
-Recording a video with FFmpeg/Libav
------------------------------------
+## Recording a video with FFmpeg/Libav ##
You can make a video of the output with FFmpeg by doing
@@ -313,8 +303,8 @@ or Libav (which replaces FFmpeg on recent Debian/Ubuntu distros) doing
apitrace dump-images -o - application.trace \
| avconv -r 30 -f image2pipe -vcodec ppm -i - -vcodec mpeg4 -y output.mp4
-Recording a video with gstreamer
---------------------------------------
+
+## Recording a video with gstreamer ##
You can make a video of the output with gstreamer by doing
@@ -322,8 +312,8 @@ You can make a video of the output with gstreamer by doing
! videoparse format=rgb width=1920 height=1080 ! queue ! ffmpegcolorspace ! queue \
! vaapiupload direct-rendering=0 ! queue ! vaapiencodeh264 ! filesink location=xxx.264
-Trimming a trace
-----------------
+
+## Trimming a trace ##
You can truncate a trace by doing:
@@ -340,8 +330,7 @@ necessary for a given frame or call:
apitrace trim --auto --frames=12345 -o trimed.trace application.trace
-Profiling a trace
------------------
+## Profiling a trace ##
You can perform gpu and cpu profiling with the command line options:
@@ -361,14 +350,12 @@ For example, to record all profiling data and utilise the per shader script:
apitrace replay --pgpu --pcpu --ppd foo.trace | ./scripts/profileshader.py
-Advanced usage for OpenGL implementors
-======================================
+# Advanced usage for OpenGL implementers #
There are several advanced usage examples meant for OpenGL implementors.
-Regression testing
-------------------
+## Regression testing ##
These are the steps to create a regression test-suite around **apitrace**:
@@ -387,8 +374,7 @@ These are the steps to create a regression test-suite around **apitrace**:
apitrace diff-images --output summary.html /path/to/reference/snapshots/ /path/to/test/snapshots/
-Automated git-bisection
------------------------
+## Automated git-bisection ##
With tracecheck.py it is possible to automate git bisect and pinpoint the
commit responsible for a regression.
@@ -439,8 +425,7 @@ driver is unintentionally loaded due to a missing symbol in the DRI driver, or
another runtime fault).
-Side by side retracing
-----------------------
+## Side by side retracing ##
In order to determine which draw call a regression first manifests one could
generate snapshots for every draw call, using the `-S` option. That is, however,
@@ -468,8 +453,7 @@ Or on Windows:
python scripts\retracediff.py --retrace \path\to\glretrace.exe --ref-env TRACE_LIBGL=\path\to\reference\opengl32.dll application.trace
-Advanced GUI usage
-==================
+# Advanced GUI usage #
qapitrace has rudimentary support for replaying traces on a remote
target device. This can be useful, for example, when developing for an