]> git.cworth.org Git - apitrace/blobdiff - common/trace_format.hpp
Use the correct terminator EGL_NONE for eglChooseConfig attrib_list.
[apitrace] / common / trace_format.hpp
index 4e1d9a9911d265bac1a9ef4462c174e21637704c..4952ee3310a08af827d3f7ffa69506db5eccbe58 100644 (file)
@@ -69,8 +69,11 @@ namespace trace {
  *
  * - version 4:
  *   - call enter events include thread ID
+ *
+ * - version 5:
+ *   - new call detail flag CALL_BACKTRACE
  */
-#define TRACE_VERSION 4
+#define TRACE_VERSION 5
 
 
 /*
@@ -85,6 +88,8 @@ namespace trace {
  *
  *   call_detail = ARG index value
  *               | RET value
+ *               | THREAD int
+ *               | BACKTRACE int frame*
  *               | END
  *
  *   value = NULL
@@ -96,11 +101,22 @@ namespace trace {
  *         | DOUBLE double
  *         | STRING string
  *         | BLOB string
- *         | ENUM enum_sig
+ *         | ENUM enum_sig value
  *         | BITMASK bitmask_sig value
  *         | ARRAY length value+
  *         | STRUCT struct_sig value+
  *         | OPAQUE int
+ *         | REPR value value
+ *
+ *   frame = id frame_detail+
+ *         | id
+ *
+ *   frame_detail = MODULE string
+ *                | FUNCTION string
+ *                | FILENAME string
+ *                | LINENUMBER uint
+ *                | OFFSET uint
+ *                | END
  *
  *   call_sig = id name arg_name*
  *            | id
@@ -126,6 +142,7 @@ enum CallDetail {
     CALL_ARG,
     CALL_RET,
     CALL_THREAD,
+    CALL_BACKTRACE,
 };
 
 enum Type {
@@ -143,6 +160,16 @@ enum Type {
     TYPE_ARRAY,
     TYPE_STRUCT,
     TYPE_OPAQUE,
+    TYPE_REPR,
+};
+
+enum BacktraceDetail {
+    BACKTRACE_END = 0,
+    BACKTRACE_MODULE,
+    BACKTRACE_FUNCTION,
+    BACKTRACE_FILENAME,
+    BACKTRACE_LINENUMBER,
+    BACKTRACE_OFFSET,
 };