aboutsummaryrefslogtreecommitdiff
path: root/scripts/loader_extension_generator.py
diff options
context:
space:
mode:
authorMark Lobodzinski <mark@lunarg.com>2017-03-27 15:47:01 -0600
committerMark Lobodzinski <mark@lunarg.com>2017-03-28 10:12:28 -0600
commit364f053c375a3510e83c2276734cec99fe1afba6 (patch)
tree6a198db0b184c0dea7b9bf35c7e0f0ea106b2324 /scripts/loader_extension_generator.py
parent6a7928215b88e94f48a017f08adae570d69aae3e (diff)
downloadusermoji-364f053c375a3510e83c2276734cec99fe1afba6.tar.xz
loader: Fix loader_extensions codegen for name defs
Codegen attempted to infer name definitions instead of pulling from the source XML, causing errors in new header updates. Change-Id: I04e03b45dacf7c943b91e47f6ecffc82354c6f1b
Diffstat (limited to 'scripts/loader_extension_generator.py')
-rw-r--r--scripts/loader_extension_generator.py26
1 files changed, 12 insertions, 14 deletions
diff --git a/scripts/loader_extension_generator.py b/scripts/loader_extension_generator.py
index f44a2dce..8a8586f2 100644
--- a/scripts/loader_extension_generator.py
+++ b/scripts/loader_extension_generator.py
@@ -103,7 +103,7 @@ class LoaderExtensionOutputGenerator(OutputGenerator):
self.CommandParam = namedtuple('CommandParam', ['type', 'name', 'cdecl'])
self.CommandData = namedtuple('CommandData', ['name', 'ext_name', 'ext_type', 'protect', 'return_type', 'handle_type', 'params', 'cdecl'])
self.instanceExtensions = []
- self.ExtensionData = namedtuple('ExtensionData', ['name', 'type', 'protect', 'num_commands'])
+ self.ExtensionData = namedtuple('ExtensionData', ['name', 'type', 'protect', 'define', 'num_commands'])
#
# Called once at the beginning of each run
@@ -204,10 +204,17 @@ class LoaderExtensionOutputGenerator(OutputGenerator):
# Start processing in superclass
OutputGenerator.beginFeature(self, interface, emit)
+ enums = interface[0].findall('enum')
self.currentExtension = ''
+ self.name_definition = ''
+
+ for item in enums:
+ name_definition = item.get('name')
+ if 'EXTENSION_NAME' in name_definition:
+ self.name_definition = name_definition
+
self.type = interface.get('type')
self.num_commands = 0
-
name = interface.get('name')
self.currentExtension = name
@@ -231,6 +238,7 @@ class LoaderExtensionOutputGenerator(OutputGenerator):
self.instanceExtensions.append(self.ExtensionData(name=self.currentExtension,
type=self.type,
protect=self.featureExtraProtect,
+ define=self.name_definition,
num_commands=self.num_commands))
# Finish processing in superclass
@@ -1150,12 +1158,7 @@ class LoaderExtensionOutputGenerator(OutputGenerator):
else:
create_func += ' } else if (0 == strcmp(pCreateInfo->ppEnabledExtensionNames[i], '
- if 'VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES2' == ext.name.upper():
- create_func += 'VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME)) {\n'
- else:
- create_func += ext.name.upper()
- create_func += '_EXTENSION_NAME)) {\n'
-
+ create_func += ext.define + ')) {\n'
create_func += ' ptr_instance->enabled_known_extensions.'
create_func += ext.name[3:].lower()
create_func += ' = 1;\n'
@@ -1283,12 +1286,7 @@ class LoaderExtensionOutputGenerator(OutputGenerator):
if ext.protect is not None:
table += '#ifdef %s\n' % ext.protect
table += ' '
-
- if 'VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES2' == ext.name.upper():
- table += 'VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME,\n'
- else:
- table += ext.name.upper()
- table += '_EXTENSION_NAME,\n'
+ table += ext.define + ',\n'
if ext.protect is not None:
table += '#endif // %s\n' % ext.protect