aboutsummaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rw-r--r--scripts/mock_icd_generator.py25
-rw-r--r--scripts/vulkan_tools_helper_file_generator.py18
2 files changed, 24 insertions, 19 deletions
diff --git a/scripts/mock_icd_generator.py b/scripts/mock_icd_generator.py
index 64ea7dc6..d8b0739c 100644
--- a/scripts/mock_icd_generator.py
+++ b/scripts/mock_icd_generator.py
@@ -1,9 +1,9 @@
#!/usr/bin/python3 -i
#
-# Copyright (c) 2015-2017 The Khronos Group Inc.
-# Copyright (c) 2015-2017 Valve Corporation
-# Copyright (c) 2015-2017 LunarG, Inc.
-# Copyright (c) 2015-2017 Google Inc.
+# Copyright (c) 2015-2021 The Khronos Group Inc.
+# Copyright (c) 2015-2021 Valve Corporation
+# Copyright (c) 2015-2021 LunarG, Inc.
+# Copyright (c) 2015-2021 Google Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -1202,12 +1202,17 @@ class MockICDOutputGenerator(OutputGenerator):
ignore_exts = ['VK_EXT_validation_cache', 'VK_KHR_portability_subset']
for ext in self.registry.tree.findall("extensions/extension"):
if ext.attrib['supported'] != 'disabled': # Only include enabled extensions
- if (ext.attrib['name'] in ignore_exts):
- pass
- elif (ext.attrib.get('type') and 'instance' == ext.attrib['type']):
- instance_exts.append(' {"%s", %s},' % (ext.attrib['name'], ext[0][0].attrib['value']))
- else:
- device_exts.append(' {"%s", %s},' % (ext.attrib['name'], ext[0][0].attrib['value']))
+ if (ext.attrib['name'] not in ignore_exts):
+ # Search for extension version enum
+ for enum in ext.findall('require/enum'):
+ if enum.get('name', '').endswith('_SPEC_VERSION'):
+ ext_version = enum.get('value')
+ if (ext.attrib.get('type') == 'instance'):
+ instance_exts.append(' {"%s", %s},' % (ext.attrib['name'], ext_version))
+ else:
+ device_exts.append(' {"%s", %s},' % (ext.attrib['name'], ext_version))
+ break
+
write('// Map of instance extension name to version', file=self.outFile)
write('static const std::unordered_map<std::string, uint32_t> instance_extension_map = {', file=self.outFile)
write('\n'.join(instance_exts), file=self.outFile)
diff --git a/scripts/vulkan_tools_helper_file_generator.py b/scripts/vulkan_tools_helper_file_generator.py
index 1b24a5e4..42ce0199 100644
--- a/scripts/vulkan_tools_helper_file_generator.py
+++ b/scripts/vulkan_tools_helper_file_generator.py
@@ -1,9 +1,9 @@
#!/usr/bin/python3 -i
#
-# Copyright (c) 2015-2017 The Khronos Group Inc.
-# Copyright (c) 2015-2017 Valve Corporation
-# Copyright (c) 2015-2017 LunarG, Inc.
-# Copyright (c) 2015-2017 Google Inc.
+# Copyright (c) 2015-2021 The Khronos Group Inc.
+# Copyright (c) 2015-2021 Valve Corporation
+# Copyright (c) 2015-2021 LunarG, Inc.
+# Copyright (c) 2015-2021 Google Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -176,10 +176,10 @@ class HelperFileOutputGenerator(OutputGenerator):
if interface.tag != 'extension':
return
name = self.featureName
- nameElem = interface[0][1]
- name_define = nameElem.get('name')
- if 'EXTENSION_NAME' not in name_define:
- print("Error in vk.xml file -- extension name is not available")
+ for enum in interface.findall('require/enum'):
+ if enum.get('name', '').endswith('EXTENSION_NAME'):
+ name_define = enum.get('name')
+ break
requires = interface.get('requires')
if requires is not None:
required_extensions = requires.split(',')
@@ -241,7 +241,7 @@ class HelperFileOutputGenerator(OutputGenerator):
def paramIsPointer(self, param):
ispointer = False
for elem in param:
- if ((elem.tag is not 'type') and (elem.tail is not None)) and '*' in elem.tail:
+ if ((elem.tag != 'type') and (elem.tail is not None)) and '*' in elem.tail:
ispointer = True
return ispointer
#