]> git.cworth.org Git - apitrace/blobdiff - common/trace_writer_model.cpp
image: Make PNG writing an Image method.
[apitrace] / common / trace_writer_model.cpp
index 26ddc64d82f91d5512c5180a7a72ab47e20a00c3..2e858a233971e3434410b8daba6fb5601c66e3a9 100644 (file)
@@ -69,7 +69,7 @@ public:
     }
 
     void visit(Enum *node) {
-        writer.writeEnum(node->sig);
+        writer.writeEnum(node->sig, node->value);
     }
 
     void visit(Bitmask *node) {
@@ -97,15 +97,22 @@ public:
     }
 
     void visit(Pointer *node) {
-        writer.writeOpaque((const void *) (size_t) node->value);
+        writer.writePointer(node->value);
+    }
+
+    void visit(Repr *node) {
+        writer.beginRepr();
+        _visit(node->humanValue);
+        _visit(node->machineValue);
+        writer.endRepr();
     }
 
     void visit(Call *call) {
-        unsigned call_no = writer.beginEnter(call->sig);
+        unsigned call_no = writer.beginEnter(call->sig, call->thread_id);
         for (unsigned i = 0; i < call->args.size(); ++i) {
-            if (call->args[i]) {
+            if (call->args[i].value) {
                 writer.beginArg(i);
-                _visit(call->args[i]);
+                _visit(call->args[i].value);
                 writer.endArg();
             }
         }