glave: Fix tracing CreateInstance appInfo and replay DestroyInstance rm map
diff --git a/glave-generate.py b/glave-generate.py
index 4d40b73..d9ef1bd 100755
--- a/glave-generate.py
+++ b/glave-generate.py
@@ -508,6 +508,8 @@
                     for idx in buff_ptr_indices:
                         if 'DEVICE_CREATE_INFO' in proto.params[idx].ty:
                             func_body.append('    add_XGL_DEVICE_CREATE_INFO_to_packet(pHeader, (XGL_DEVICE_CREATE_INFO**) &(pPacket->pCreateInfo), pCreateInfo);')
+                        elif 'APPLICATION_INFO' in proto.params[idx].ty:
+                            func_body.append('    add_XGL_APPLICATION_INFO_to_packet(pHeader, (XGL_APPLICATION_INFO**)&(pPacket->pAppInfo), pAppInfo);')
                         elif 'char' in proto.params[idx].ty:
                             func_body.append('    glv_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->%s), ((%s != NULL) ? strlen(%s) + 1 : 0), %s);' % (proto.params[idx].name, proto.params[idx].name, proto.params[idx].name, proto.params[idx].name))
                         elif 'Count' in proto.params[idx-1].name and 'queryCount' != proto.params[idx-1].name:
@@ -560,7 +562,7 @@
                     if 'void' not in proto.ret or '*' in proto.ret:
                         func_body.append('    pPacket->result = result;')
                     for idx in buff_ptr_indices:
-                        if 'DEVICE_CREATE_INFO' not in proto.params[idx].ty:
+                        if ('DEVICE_CREATE_INFO' not in proto.params[idx].ty) and ('APPLICATION_INFO' not in proto.params[idx].ty):
                             func_body.append('    glv_finalize_buffer_address(pHeader, (void**)&(pPacket->%s));' % (proto.params[idx].name))
                     func_body.append('    FINISH_TRACE_PACKET();')
                     if 'AllocMemory' in proto.name:
@@ -2696,8 +2698,8 @@
         rbody.append('    XGL_RESULT replayResult = XGL_ERROR_UNKNOWN;')
         rbody.append('    switch (packet->packet_id)')
         rbody.append('    {')
-        rbody.append('    case GLV_TPI_XGL_xglApiVersion:')
-        rbody.append('        break;  // nothing to replay on the version packet')
+        rbody.append('        case GLV_TPI_XGL_xglApiVersion:')
+        rbody.append('            break;  // nothing to replay on the version packet')
         for proto in self.protos:
             ret_value = False
             create_view = False
@@ -2813,6 +2815,11 @@
                     rbody.append('                rm_from_map(pPacket->device);')
                     rbody.append('                m_display->m_initedXGL = false;')
                     rbody.append('            }')
+                if 'DestroyInstance' in proto.name:
+                    rbody.append('            if (replayResult == XGL_SUCCESS)')
+                    rbody.append('            {')
+                    rbody.append('                rm_from_map(pPacket->instance);')
+                    rbody.append('            }')
                 elif 'AllocDescriptorSets' in proto.name:
                     rbody.append('            if (replayResult == XGL_SUCCESS)')
                     rbody.append('            {')