anv/entrypoints_gen: A bit of refactoring
authorJason Ekstrand <jason.ekstrand@intel.com>
Wed, 20 Sep 2017 16:41:50 +0000 (09:41 -0700)
committerJason Ekstrand <jason.ekstrand@intel.com>
Wed, 7 Mar 2018 20:13:47 +0000 (12:13 -0800)
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
src/intel/vulkan/anv_entrypoints_gen.py

index dc0f0e968cab10962b9b33033ddffdc130ee86c1..aa47711d8b620379ce70ee2a293299d031885e69 100644 (file)
@@ -480,20 +480,6 @@ def get_entrypoints_defines(doc):
     return entrypoints_to_defines
 
 
-def gen_code(entrypoints):
-    """Generate the C code."""
-
-    strmap = StringIntMap()
-    for e in entrypoints:
-        strmap.add_string(e.name, e.num)
-    strmap.bake()
-
-    return TEMPLATE_C.render(entrypoints=entrypoints,
-                             LAYERS=LAYERS,
-                             strmap=strmap,
-                             filename=os.path.basename(__file__))
-
-
 def main():
     parser = argparse.ArgumentParser()
     parser.add_argument('--outdir', help='Where to write the files.',
@@ -524,8 +510,11 @@ def main():
         EntrypointParam('VkImage', 'pImage', 'VkImage* pImage')
     ]))
 
+    strmap = StringIntMap()
     for num, e in enumerate(entrypoints):
+        strmap.add_string(e.name, num)
         e.num = num
+    strmap.bake()
 
     # For outputting entrypoints.h we generate a anv_EntryPoint() prototype
     # per entry point.
@@ -535,7 +524,10 @@ def main():
                                       LAYERS=LAYERS,
                                       filename=os.path.basename(__file__)))
         with open(os.path.join(args.outdir, 'anv_entrypoints.c'), 'wb') as f:
-            f.write(gen_code(entrypoints))
+            f.write(TEMPLATE_C.render(entrypoints=entrypoints,
+                                      LAYERS=LAYERS,
+                                      strmap=strmap,
+                                      filename=os.path.basename(__file__)))
     except Exception:
         # In the even there's an error this imports some helpers from mako
         # to print a useful stack trace and prints it, then exits with