]> 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 5aade00361f4c70d6a6ddb814f30debc355cc271..4952ee3310a08af827d3f7ffa69506db5eccbe58 100644 (file)
@@ -66,8 +66,14 @@ namespace trace {
  *
  * - version 3:
  *   - enums signatures are recorded for the a whole set of values (not as individual values)
+ *
+ * - version 4:
+ *   - call enter events include thread ID
+ *
+ * - version 5:
+ *   - new call detail flag CALL_BACKTRACE
  */
-#define TRACE_VERSION 3
+#define TRACE_VERSION 5
 
 
 /*
@@ -75,13 +81,15 @@ namespace trace {
  *
  *   trace = event* EOF
  *
- *   event = EVENT_ENTER call_sig call_detail+
+ *   event = EVENT_ENTER thread_id call_sig call_detail+
  *         | EVENT_LEAVE call_no call_detail+
  *
  *   call_sig = sig_id ( name arg_names )?
  *
  *   call_detail = ARG index value
  *               | RET value
+ *               | THREAD int
+ *               | BACKTRACE int frame*
  *               | END
  *
  *   value = NULL
@@ -93,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
@@ -123,6 +142,7 @@ enum CallDetail {
     CALL_ARG,
     CALL_RET,
     CALL_THREAD,
+    CALL_BACKTRACE,
 };
 
 enum Type {
@@ -140,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,
 };