layers: Refactored pNext chain walks to template
The while loops for the walking the pNext chains were implemented by
repeated code. These were refactored into a common template. Added
autogenerated 'traits' objects for the pNext linked structs.
Delete cut and paste duplicate pNext chain walk.
Change-Id: I46457bb5432219c74f9356e5230c70e4a9ef16df
diff --git a/scripts/lvl_genvk.py b/scripts/lvl_genvk.py
index 09554db..7c81f51 100644
--- a/scripts/lvl_genvk.py
+++ b/scripts/lvl_genvk.py
@@ -424,6 +424,28 @@
helper_file_type = 'extension_helper_header')
]
+ # Helper file generator options for typemap_helper.h
+ genOpts['vk_typemap_helper.h'] = [
+ HelperFileOutputGenerator,
+ HelperFileOutputGeneratorOptions(
+ filename = 'vk_typemap_helper.h',
+ directory = directory,
+ apiname = 'vulkan',
+ profile = None,
+ versions = allVersions,
+ emitversions = allVersions,
+ defaultExtensions = 'vulkan',
+ addExtensions = addExtensions,
+ removeExtensions = removeExtensions,
+ prefixText = prefixStrings + vkPrefixStrings,
+ protectFeature = False,
+ apicall = 'VKAPI_ATTR ',
+ apientry = 'VKAPI_CALL ',
+ apientryp = 'VKAPI_PTR *',
+ alignFuncParam = 48,
+ helper_file_type = 'typemap_helper_header')
+ ]
+
# Options for mock ICD header
genOpts['mock_icd.h'] = [
MockICDOutputGenerator,