]> git.cworth.org Git - apitrace/commitdiff
Make Trace::Writer methods a bit more consistent.
authorJosé Fonseca <jose.r.fonseca@gmail.com>
Sat, 28 May 2011 12:25:55 +0000 (13:25 +0100)
committerJosé Fonseca <jose.r.fonseca@gmail.com>
Sat, 28 May 2011 12:25:55 +0000 (13:25 +0100)
gltrace.py
gui/saverthread.cpp
trace.py
trace_writer.cpp
trace_writer.hpp

index 78cc14ce60d974fe964be2feca639ada4e01ca98..dc9c0978a8ec41e07394af55574057feefc37624 100644 (file)
@@ -334,7 +334,7 @@ class GlTracer(Tracer):
                     # Emit a fake function
                     print '        {'
                     print '            static const Trace::FunctionSig &__sig = %s ? __glEnableClientState_sig : __glDisableClientState_sig;' % flag_name
-                    print '            unsigned __call = __writer.beginEnter(__sig);'
+                    print '            unsigned __call = __writer.beginEnter(&__sig);'
                     print '            __writer.beginArg(0);'
                     dump_instance(glapi.GLenum, enable_name)
                     print '            __writer.endArg();'
@@ -424,7 +424,7 @@ class GlTracer(Tracer):
         Tracer.dispatch_function(self, function)
 
     def emit_memcpy(self, dest, src, length):
-        print '        unsigned __call = __writer.beginEnter(__memcpy_sig);'
+        print '        unsigned __call = __writer.beginEnter(&__memcpy_sig);'
         print '        __writer.beginArg(0);'
         print '        __writer.writeOpaque(%s);' % dest
         print '        __writer.endArg();'
@@ -547,7 +547,7 @@ class GlTracer(Tracer):
 
             # Emit a fake function
             self.array_trace_intermezzo(api, uppercase_name)
-            print '            unsigned __call = __writer.beginEnter(__%s_sig);' % (function.name,)
+            print '            unsigned __call = __writer.beginEnter(&__%s_sig);' % (function.name,)
             for arg in function.args:
                 assert not arg.output
                 print '            __writer.beginArg(%u);' % (arg.index,)
@@ -591,7 +591,7 @@ class GlTracer(Tracer):
         print '                size_t __size = __%s_size(%s, maxindex);' % (function.name, arg_names)
 
         # Emit a fake function
-        print '                unsigned __call = __writer.beginEnter(__%s_sig);' % (function.name,)
+        print '                unsigned __call = __writer.beginEnter(&__%s_sig);' % (function.name,)
         for arg in function.args:
             assert not arg.output
             print '                __writer.beginArg(%u);' % (arg.index,)
@@ -658,7 +658,7 @@ class GlTracer(Tracer):
         self.fake_call(function, [texture])
 
     def fake_call(self, function, args):
-        print '            unsigned __fake_call = __writer.beginEnter(__%s_sig);' % (function.name,)
+        print '            unsigned __fake_call = __writer.beginEnter(&__%s_sig);' % (function.name,)
         for arg, instance in zip(function.args, args):
             assert not arg.output
             print '            __writer.beginArg(%u);' % (arg.index,)
index a790645012fe4f08214d44186477eee86db5eb18..d7f6906c7e136b7653d18084d487522ebf764b86 100644 (file)
@@ -173,7 +173,7 @@ writeValue(Trace::Writer &writer, const QVariant &var, unsigned &id)
         } else if (type == bitmaskType) {
             ApiBitmask bm = var.value<ApiBitmask>();
             Trace::BitmaskSig *sig = createBitmaskSig(bm, ++id);
-            writer.writeBitmask(*sig, bm.value());
+            writer.writeBitmask(sig, bm.value());
             deleteBitmaskSig(sig);
         } else if (type == structType) {
             ApiStruct apiStr = var.value<ApiStruct>();
@@ -226,7 +226,7 @@ void SaverThread::run()
     for (int i = 0; i < m_calls.count(); ++i) {
         ApiTraceCall *call = m_calls[i];
         Trace::FunctionSig *funcSig = createFunctionSig(call, ++id);
-        unsigned callNo = writer.beginEnter(*funcSig);
+        unsigned callNo = writer.beginEnter(funcSig);
         {
             //args
             QVariantList vars = call->arguments();
index 485ddbef75e70e328f032d8c1df524f6d44b307d..7f6eb87d0ff3b374f7b2487e2acfd204b2da91f0 100644 (file)
--- a/trace.py
+++ b/trace.py
@@ -175,7 +175,7 @@ class DumpImplementer(stdapi.Visitor):
         print '    __traceEnum%s(%s);' % (enum.id, instance)
 
     def visit_bitmask(self, bitmask, instance):
-        print '    __writer.writeBitmask(__bitmask%s_sig, %s);' % (bitmask.id, instance)
+        print '    __writer.writeBitmask(&__bitmask%s_sig, %s);' % (bitmask.id, instance)
 
     def visit_pointer(self, pointer, instance):
         print '    if (%s) {' % instance
@@ -345,7 +345,7 @@ class Tracer:
         print
 
     def trace_function_impl_body(self, function):
-        print '    unsigned __call = __writer.beginEnter(__%s_sig);' % (function.name,)
+        print '    unsigned __call = __writer.beginEnter(&__%s_sig);' % (function.name,)
         for arg in function.args:
             if not arg.output:
                 self.unwrap_arg(function, arg)
@@ -410,7 +410,7 @@ class Tracer:
         print method.prototype(interface_wrap_name(interface) + '::' + method.name) + ' {'
         print '    static const char * __args[%u] = {%s};' % (len(method.args) + 1, ', '.join(['"this"'] + ['"%s"' % arg.name for arg in method.args]))
         print '    static const Trace::FunctionSig __sig = {%u, "%s", %u, __args};' % (int(method.id), interface.name + '::' + method.name, len(method.args) + 1)
-        print '    unsigned __call = __writer.beginEnter(__sig);'
+        print '    unsigned __call = __writer.beginEnter(&__sig);'
         print '    __writer.beginArg(0);'
         print '    __writer.writeOpaque((const void *)m_pInstance);'
         print '    __writer.endArg();'
index 19f7cc01768f199480b447e87d9e45319ad5f662..700f51188eb13a9e4f0af905ca8cf22b6801cb9c 100644 (file)
@@ -181,7 +181,7 @@ inline bool lookup(std::vector<bool> &map, size_t index) {
     }
 }
 
-unsigned Writer::beginEnter(const FunctionSig &function) {
+unsigned Writer::beginEnter(const FunctionSig *sig) {
     OS::AcquireMutex();
 
     if (!g_gzFile) {
@@ -189,14 +189,14 @@ unsigned Writer::beginEnter(const FunctionSig &function) {
     }
 
     _writeByte(Trace::EVENT_ENTER);
-    _writeUInt(function.id);
-    if (!lookup(functions, function.id)) {
-        _writeString(function.name);
-        _writeUInt(function.num_args);
-        for (unsigned i = 0; i < function.num_args; ++i) {
-            _writeString(function.arg_names[i]);
+    _writeUInt(sig->id);
+    if (!lookup(functions, sig->id)) {
+        _writeString(sig->name);
+        _writeUInt(sig->num_args);
+        for (unsigned i = 0; i < sig->num_args; ++i) {
+            _writeString(sig->arg_names[i]);
         }
-        functions[function.id] = true;
+        functions[sig->id] = true;
     }
 
     return call_no++;
@@ -326,19 +326,19 @@ void Writer::writeEnum(const EnumSig *sig) {
     }
 }
 
-void Writer::writeBitmask(const BitmaskSig &bitmask, unsigned long long value) {
+void Writer::writeBitmask(const BitmaskSig *sig, unsigned long long value) {
     _writeByte(Trace::TYPE_BITMASK);
-    _writeUInt(bitmask.id);
-    if (!lookup(bitmasks, bitmask.id)) {
-        _writeUInt(bitmask.num_flags);
-        for (unsigned i = 0; i < bitmask.num_flags; ++i) {
-            if (i != 0 && bitmask.flags[i].value == 0) {
-                OS::DebugMessage("apitrace: bitmask %s is zero but is not first flag\n", bitmask.flags[i].name);
+    _writeUInt(sig->id);
+    if (!lookup(bitmasks, sig->id)) {
+        _writeUInt(sig->num_flags);
+        for (unsigned i = 0; i < sig->num_flags; ++i) {
+            if (i != 0 && sig->flags[i].value == 0) {
+                OS::DebugMessage("apitrace: sig %s is zero but is not first flag\n", sig->flags[i].name);
             }
-            _writeString(bitmask.flags[i].name);
-            _writeUInt(bitmask.flags[i].value);
+            _writeString(sig->flags[i].name);
+            _writeUInt(sig->flags[i].value);
         }
-        bitmasks[bitmask.id] = true;
+        bitmasks[sig->id] = true;
     }
     _writeUInt(value);
 }
index c5f54aed0ac55abf83f0b0503732f8f495f03a32..3b7955e62ef222840b75b85a55381710f461c12d 100644 (file)
@@ -87,7 +87,7 @@ namespace Trace {
         bool open(const char *filename);
         void close(void);
 
-        unsigned beginEnter(const FunctionSig &function);
+        unsigned beginEnter(const FunctionSig *sig);
         void endEnter(void);
 
         void beginLeave(unsigned call);
@@ -118,7 +118,7 @@ namespace Trace {
         void writeWString(const wchar_t *str);
         void writeBlob(const void *data, size_t size);
         void writeEnum(const EnumSig *sig);
-        void writeBitmask(const BitmaskSig &bitmask, unsigned long long value);
+        void writeBitmask(const BitmaskSig *sig, unsigned long long value);
         void writeNull(void);
         void writeOpaque(const void *ptr);