aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJon Ashburn <jon@lunarg.com>2015-02-03 08:57:28 -0700
committerCourtney Goeltzenleuchter <courtney@LunarG.com>2015-02-04 17:58:11 -0700
commita3350c10684f8eb6735f73e11b264e7ae7e284c7 (patch)
tree14b6e66b0d18dfa0c8184d43f490dc92854b5839
parentc8c27d2c97c38b1ed38a8a9bd1e74dbde628275b (diff)
downloadusermoji-a3350c10684f8eb6735f73e11b264e7ae7e284c7.tar.xz
glave: Fix tracing CreateInstance appInfo and replay DestroyInstance rm map
-rwxr-xr-xglave-generate.py13
1 files changed, 10 insertions, 3 deletions
diff --git a/glave-generate.py b/glave-generate.py
index 4d40b73c..d9ef1bd5 100755
--- a/glave-generate.py
+++ b/glave-generate.py
@@ -508,6 +508,8 @@ class Subcommand(object):
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 @@ class Subcommand(object):
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 @@ class Subcommand(object):
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 @@ class Subcommand(object):
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(' {')