See the `ld.so` man page for more information about `LD_PRELOAD` and
`LD_LIBRARY_PATH` environment flags.
-To trace the application inside gdb, invoke gdb as:
-
- gdb --ex 'set exec-wrapper env LD_PRELOAD=/path/to/glxtrace.so' --args /path/to/application
-
### Android ###
To trace standalone native OpenGL ES applications, use
Emitting annotations to the trace
---------------------------------
-From OpenGL applications you can embed annotations in the trace file through the
-[`GL_GREMEDY_string_marker`](http://www.opengl.org/registry/specs/GREMEDY/string_marker.txt)
-and
-[`GL_GREMEDY_frame_terminator`](http://www.opengl.org/registry/specs/GREMEDY/frame_terminator.txt)
-GL extensions.
+From whitin OpenGL applications you can embed annotations in the trace file
+through the following extensions:
+
+* [`GL_KHR_debug`](http://www.opengl.org/registry/specs/KHR/debug.txt)
+
+* [`GL_ARB_debug_output`](http://www.opengl.org/registry/specs/ARB/debug_output.txt)
+
+* [`GL_AMD_debug_output`](http://www.opengl.org/registry/specs/AMD/debug_output.txt)
-**apitrace** will advertise and intercept these GL extensions independently of
-the GL implementation. So all you have to do is to use these extensions when
-available.
+* [`GL_GREMEDY_string_marker`](http://www.opengl.org/registry/specs/GREMEDY/string_marker.txt)
+
+* [`GL_GREMEDY_frame_terminator`](http://www.opengl.org/registry/specs/GREMEDY/frame_terminator.txt)
+
+**apitrace** will advertise and intercept these GL extensions regardless the GL
+implementation supports them or not. So all you have to do is to use these
+extensions when available, and you can be sure they will be available when
+tracing inside **apitrace**.
For example, if you use [GLEW](http://glew.sourceforge.net/) to dynamically
detect and use GL extensions, you could easily accomplish this by doing:
This has the added advantage of working equally well with gDEBugger.
+Also, provided that the OpenGL implementation supports `GL_KHR_debug`, labels
+defined via glObjectLabel() , and the labels of several objects (textures,
+framebuffers, samplers, etc. ) will appear in the GUI state dumps, in the
+parameters tab.
+
-From OpenGL ES applications you can embed annotations in the trace file through the
+For OpenGL ES applications you can embed annotations in the trace file through the
[`GL_EXT_debug_marker`](http://www.khronos.org/registry/gles/extensions/EXT/EXT_debug_marker.txt)
extension.
Trimming a trace
----------------
-You can make a smaller trace by doing:
+You can truncate a trace by doing:
- apitrace trim --callset 100-1000 -o trimed.trace applicated.trace
+ apitrace trim --exact --calls 0-12345 -o trimed.trace application.trace
If you need precise control over which calls to trim you can specify the
individual call numbers a plaintext file, as described in the 'Call sets'
section above.
+There is also experimental support for automatically trimming the calls
+necessary for a given frame or call:
+
+ apitrace trim --auto --calls=12345 -o trimed.trace application.trace
+ apitrace trim --auto --frames=12345 -o trimed.trace application.trace
+
Profiling a trace
-----------------