layers: Track WsiCreatePresentableImage image object
authorCourtney Goeltzenleuchter <courtney@LunarG.com>
Wed, 25 Feb 2015 23:58:34 +0000 (16:58 -0700)
committerCourtney Goeltzenleuchter <courtney@LunarG.com>
Thu, 26 Feb 2015 00:25:09 +0000 (17:25 -0700)
The memory returned by WsiGetPresentableImage is unique
and cannot be freed or unbound by the app. Thus only object tracker
only needs to track the image object.

xgl-layer-generate.py

index 1cb8e2e..b064e5f 100755 (executable)
@@ -627,6 +627,10 @@ class Subcommand(object):
                         create_line += '        ll_insert_obj((void*)pDescriptorSets[i], XGL_OBJECT_TYPE_DESCRIPTOR_SET);\n'
                         create_line += '        loader_platform_thread_unlock_mutex(&objLock);\n'
                         create_line += '    }\n'
+                    elif 'CreatePresentableImage' in proto.name:
+                        create_line = '    loader_platform_thread_lock_mutex(&objLock);\n'
+                        create_line += '    ll_insert_obj((void*)*%s, %s);\n' % (proto.params[-2].name, obj_type_mapping[proto.params[-2].ty.strip('*').strip('const ')])
+                        create_line += '    loader_platform_thread_unlock_mutex(&objLock);\n'
                     elif 'Create' in proto.name or 'Alloc' in proto.name:
                         create_line = '    loader_platform_thread_lock_mutex(&objLock);\n'
                         create_line += '    ll_insert_obj((void*)*%s, %s);\n' % (proto.params[-1].name, obj_type_mapping[proto.params[-1].ty.strip('*').strip('const ')])