[Mesa-dev] [PATCH] anv: Import mako templates only during execution of anv_extensions
Andres Gomez
agomez at igalia.com
Wed Jan 10 12:09:12 UTC 2018
anv_extensions usage from anv_icd was bringing the unwanted dependency
of mako templates for the latter. We don't want that since it will
force the dependency even for distributable tarballs which was not
needed until now.
Jason suggested this approach.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104551
Fixes: 0ab04ba979b ("anv: Use python to generate ICD json files")
Cc: Jason Ekstrand <jason.ekstrand at intel.com>
Cc: Emil Velikov <emil.velikov at collabora.com>
Signed-off-by: Andres Gomez <agomez at igalia.com>
---
src/intel/vulkan/anv_extensions.py | 50 +++++++++++++++++++-------------------
1 file changed, 25 insertions(+), 25 deletions(-)
diff --git a/src/intel/vulkan/anv_extensions.py b/src/intel/vulkan/anv_extensions.py
index 16e5582598e..21e28530e9a 100644
--- a/src/intel/vulkan/anv_extensions.py
+++ b/src/intel/vulkan/anv_extensions.py
@@ -29,8 +29,6 @@ import copy
import re
import xml.etree.cElementTree as et
-from mako.template import Template
-
MAX_API_VERSION = '1.0.57'
class Extension:
@@ -160,7 +158,31 @@ def _init_exts_from_xml(xml):
ext = ext_name_map[ext_name]
ext.type = ext_elem.attrib['type']
-_TEMPLATE = Template(COPYRIGHT + """
+if __name__ == '__main__':
+ parser = argparse.ArgumentParser()
+ parser.add_argument('--out', help='Output C file.', required=True)
+ parser.add_argument('--xml',
+ help='Vulkan API XML file.',
+ required=True,
+ action='append',
+ dest='xml_files')
+ args = parser.parse_args()
+
+ for filename in args.xml_files:
+ _init_exts_from_xml(filename)
+
+ for ext in EXTENSIONS:
+ assert ext.type == 'instance' or ext.type == 'device'
+
+ template_env = {
+ 'MAX_API_VERSION': MAX_API_VERSION,
+ 'instance_extensions': [e for e in EXTENSIONS if e.type == 'instance'],
+ 'device_extensions': [e for e in EXTENSIONS if e.type == 'device'],
+ }
+
+ from mako.template import Template
+
+ _TEMPLATE = Template(COPYRIGHT + """
#include "anv_private.h"
#include "vk_util.h"
@@ -260,27 +282,5 @@ VkResult anv_EnumerateDeviceExtensionProperties(
}
""")
-if __name__ == '__main__':
- parser = argparse.ArgumentParser()
- parser.add_argument('--out', help='Output C file.', required=True)
- parser.add_argument('--xml',
- help='Vulkan API XML file.',
- required=True,
- action='append',
- dest='xml_files')
- args = parser.parse_args()
-
- for filename in args.xml_files:
- _init_exts_from_xml(filename)
-
- for ext in EXTENSIONS:
- assert ext.type == 'instance' or ext.type == 'device'
-
- template_env = {
- 'MAX_API_VERSION': MAX_API_VERSION,
- 'instance_extensions': [e for e in EXTENSIONS if e.type == 'instance'],
- 'device_extensions': [e for e in EXTENSIONS if e.type == 'device'],
- }
-
with open(args.out, 'w') as f:
f.write(_TEMPLATE.render(**template_env))
--
2.15.1
More information about the mesa-dev
mailing list