<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Wed, Jan 10, 2018 at 4:09 AM, Andres Gomez <span dir="ltr"><<a href="mailto:agomez@igalia.com" target="_blank">agomez@igalia.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">anv_extensions usage from anv_icd was bringing the unwanted dependency<br>
of mako templates for the latter. We don't want that since it will<br>
force the dependency even for distributable tarballs which was not<br>
needed until now.<br>
<br>
Jason suggested this approach.<br>
<br>
Bugzilla: <a href="https://bugs.freedesktop.org/show_bug.cgi?id=104551" rel="noreferrer" target="_blank">https://bugs.freedesktop.org/<wbr>show_bug.cgi?id=104551</a><br>
Fixes: 0ab04ba979b ("anv: Use python to generate ICD json files")<br>
Cc: Jason Ekstrand <<a href="mailto:jason.ekstrand@intel.com">jason.ekstrand@intel.com</a>><br>
Cc: Emil Velikov <<a href="mailto:emil.velikov@collabora.com">emil.velikov@collabora.com</a>><br>
Signed-off-by: Andres Gomez <<a href="mailto:agomez@igalia.com">agomez@igalia.com</a>><br>
---<br>
src/intel/vulkan/anv_<wbr>extensions.py | 50 +++++++++++++++++++-----------<wbr>--------<br>
1 file changed, 25 insertions(+), 25 deletions(-)<br>
<br>
diff --git a/src/intel/vulkan/anv_<wbr>extensions.py b/src/intel/vulkan/anv_<wbr>extensions.py<br>
index 16e5582598e..21e28530e9a 100644<br>
--- a/src/intel/vulkan/anv_<wbr>extensions.py<br>
+++ b/src/intel/vulkan/anv_<wbr>extensions.py<br>
@@ -29,8 +29,6 @@ import copy<br>
import re<br>
import xml.etree.cElementTree as et<br>
<br>
-from mako.template import Template<br>
-<br>
MAX_API_VERSION = '1.0.57'<br>
<br>
class Extension:<br>
@@ -160,7 +158,31 @@ def _init_exts_from_xml(xml):<br>
ext = ext_name_map[ext_name]<br>
ext.type = ext_elem.attrib['type']<br>
<br>
-_TEMPLATE = Template(COPYRIGHT + """<br></blockquote><div><br></div><div>A simpler patch would be to simply do</div><div><br></div><div>_TEMPLATE = COPYRIGHT + """</div><div>/* Stuff */<br></div><div>"""</div><div><br></div><div>And then do f.write(Template(_TEMPLATE)).render(**template_env) in the "if __name__ == '__main__'". That way we don't have to move as much code around.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
+if __name__ == '__main__':<br>
+ parser = argparse.ArgumentParser()<br>
+ parser.add_argument('--out', help='Output C file.', required=True)<br>
+ parser.add_argument('--xml',<br>
+ help='Vulkan API XML file.',<br>
+ required=True,<br>
+ action='append',<br>
+ dest='xml_files')<br>
+ args = parser.parse_args()<br>
+<br>
+ for filename in args.xml_files:<br>
+ _init_exts_from_xml(filename)<br>
+<br>
+ for ext in EXTENSIONS:<br>
+ assert ext.type == 'instance' or ext.type == 'device'<br>
+<br>
+ template_env = {<br>
+ 'MAX_API_VERSION': MAX_API_VERSION,<br>
+ 'instance_extensions': [e for e in EXTENSIONS if e.type == 'instance'],<br>
+ 'device_extensions': [e for e in EXTENSIONS if e.type == 'device'],<br>
+ }<br>
+<br>
+ from mako.template import Template<br>
+<br>
+ _TEMPLATE = Template(COPYRIGHT + """<br>
#include "anv_private.h"<br>
<br>
#include "vk_util.h"<br>
@@ -260,27 +282,5 @@ VkResult anv_<wbr>EnumerateDeviceExtensionProper<wbr>ties(<br>
}<br>
""")<br>
<br>
-if __name__ == '__main__':<br>
- parser = argparse.ArgumentParser()<br>
- parser.add_argument('--out', help='Output C file.', required=True)<br>
- parser.add_argument('--xml',<br>
- help='Vulkan API XML file.',<br>
- required=True,<br>
- action='append',<br>
- dest='xml_files')<br>
- args = parser.parse_args()<br>
-<br>
- for filename in args.xml_files:<br>
- _init_exts_from_xml(filename)<br>
-<br>
- for ext in EXTENSIONS:<br>
- assert ext.type == 'instance' or ext.type == 'device'<br>
-<br>
- template_env = {<br>
- 'MAX_API_VERSION': MAX_API_VERSION,<br>
- 'instance_extensions': [e for e in EXTENSIONS if e.type == 'instance'],<br>
- 'device_extensions': [e for e in EXTENSIONS if e.type == 'device'],<br>
- }<br>
-<br>
with open(args.out, 'w') as f:<br>
f.write(_TEMPLATE.render(**<wbr>template_env))<br>
<span class="HOEnZb"><font color="#888888">--<br>
2.15.1<br>
<br>
______________________________<wbr>_________________<br>
mesa-dev mailing list<br>
<a href="mailto:mesa-dev@lists.freedesktop.org">mesa-dev@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/mesa-dev" rel="noreferrer" target="_blank">https://lists.freedesktop.org/<wbr>mailman/listinfo/mesa-dev</a><br>
</font></span></blockquote></div><br></div></div>