diff options
| author | Mark Lobodzinski <mark@lunarg.com> | 2015-04-21 17:15:36 -0600 |
|---|---|---|
| committer | Mark Lobodzinski <mark@lunarg.com> | 2015-04-21 17:17:16 -0600 |
| commit | b11da8f8b52bc770a3203f7b017aba94a784d845 (patch) | |
| tree | ab85291a79b178a218ddb59c1a1000670256cfc1 | |
| parent | 14da561900aeb0ad061f4edaaa0f406f99958e80 (diff) | |
| download | usermoji-b11da8f8b52bc770a3203f7b017aba94a784d845.tar.xz | |
layers: Fixed arg selection in object tracker
Reordered args were causing object deletions and memory frees
to corrupt the object lists.
| -rwxr-xr-x | vk-layer-generate.py | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/vk-layer-generate.py b/vk-layer-generate.py index a9204629..fe76533a 100755 --- a/vk-layer-generate.py +++ b/vk-layer-generate.py @@ -1157,15 +1157,21 @@ class ObjectTrackerSubcommand(Subcommand): create_line += ' loader_platform_thread_unlock_mutex(&objLock);\n' if 'DestroyObject' in proto.name: destroy_line = ' loader_platform_thread_lock_mutex(&objLock);\n' - destroy_line += ' ll_destroy_obj(%s);\n' % (param0_name) + destroy_line += ' ll_destroy_obj(%s);\n' % (proto.params[2].name) destroy_line += ' loader_platform_thread_unlock_mutex(&objLock);\n' using_line = '' else: - if 'Destroy' in proto.name or 'Free' in proto.name: + if 'Destroy' in proto.name: destroy_line = ' loader_platform_thread_lock_mutex(&objLock);\n' destroy_line += ' ll_destroy_obj(%s);\n' % (param0_name) destroy_line += ' loader_platform_thread_unlock_mutex(&objLock);\n' using_line = '' + else: + if 'Free' in proto.name: + destroy_line = ' loader_platform_thread_lock_mutex(&objLock);\n' + destroy_line += ' ll_destroy_obj(%s);\n' % (proto.params[1].name) + destroy_line += ' loader_platform_thread_unlock_mutex(&objLock);\n' + using_line = '' if 'DestroyDevice' in proto.name: destroy_line += ' // Report any remaining objects in LL\n objNode *pTrav = pGlobalHead;\n while (pTrav) {\n' destroy_line += ' if (pTrav->obj.objType == VkObjectTypeSwapChainImageWSI ||\n' |
