From 8211e3e60d941ed62c4a0d22de3967a8ded7d805 Mon Sep 17 00:00:00 2001 From: Dylan Baker Date: Fri, 3 Mar 2017 14:22:44 -0800 Subject: [PATCH] anv: Generate anv_entrypoints header and code in one command This produces the header and the code in one command, saving the need to call the same script twice, which parses the same XML file. Signed-off-by: Dylan Baker --- src/intel/Android.vulkan.mk | 7 +++++-- src/intel/Makefile.vulkan.am | 9 ++++----- src/intel/vulkan/anv_entrypoints_gen.py | 19 ++++++++----------- 3 files changed, 17 insertions(+), 18 deletions(-) diff --git a/src/intel/Android.vulkan.mk b/src/intel/Android.vulkan.mk index bcf145554f8..ca2785307bd 100644 --- a/src/intel/Android.vulkan.mk +++ b/src/intel/Android.vulkan.mk @@ -179,8 +179,11 @@ LOCAL_WHOLE_STATIC_LIBRARIES := \ LOCAL_GENERATED_SOURCES += $(intermediates)/vulkan/anv_entrypoints.c -$(intermediates)/vulkan/anv_entrypoints.c: - $(VK_ENTRYPOINTS_SCRIPT) code $@ --xml $(MESA_TOP)/src/vulkan/registry/vk.xml +$(intermediates)/vulknan/anv_entrypoints.c: + $(VK_ENTRYPOINTS_SCRIPT) \ + --xml $(MESA_TOP)/src/vulkan/registry/vk.xml \ + --outdir $(intermediates)/vulkan +$(intermediates)/vulkan/anv_entrypoints.h: $(intermediates)/vulkan/anv_entrypoints.c LOCAL_SHARED_LIBRARIES := libdrm_intel diff --git a/src/intel/Makefile.vulkan.am b/src/intel/Makefile.vulkan.am index 96962861d8f..da1ee93d91c 100644 --- a/src/intel/Makefile.vulkan.am +++ b/src/intel/Makefile.vulkan.am @@ -24,11 +24,10 @@ # out and we'll fail at `make dist' vulkan_api_xml = $(top_srcdir)/src/vulkan/registry/vk.xml -vulkan/anv_entrypoints.h : vulkan/anv_entrypoints_gen.py $(vulkan_api_xml) - $(AM_V_GEN)$(PYTHON2) $(srcdir)/vulkan/anv_entrypoints_gen.py header $@ --xml $(vulkan_api_xml) - -vulkan/anv_entrypoints.c : vulkan/anv_entrypoints_gen.py $(vulkan_api_xml) - $(AM_V_GEN)$(PYTHON2) $(srcdir)/vulkan/anv_entrypoints_gen.py code $@ --xml $(vulkan_api_xml) +vulkan/anv_entrypoints.c: vulkan/anv_entrypoints_gen.py $(vulkan_api_xml) + $(AM_V_GEN)$(PYTHON2) $(srcdir)/vulkan/anv_entrypoints_gen.py \ + --xml $(vulkan_api_xml) --outdir $(builddir)/vulkan +vulkan/anv_entrypoints.h: vulkan/anv_entrypoints.c BUILT_SOURCES += $(VULKAN_GENERATED_FILES) CLEANFILES += \ diff --git a/src/intel/vulkan/anv_entrypoints_gen.py b/src/intel/vulkan/anv_entrypoints_gen.py index 47dc44b55dd..895ec949986 100644 --- a/src/intel/vulkan/anv_entrypoints_gen.py +++ b/src/intel/vulkan/anv_entrypoints_gen.py @@ -354,10 +354,9 @@ def gen_code(entrypoints): def main(): parser = argparse.ArgumentParser() - parser.add_argument('target', choices=['header', 'code'], - help='Which file to generate.') - parser.add_argument('file', help='Where to write the file.') - parser.add_argument('--xml', help='Vulkan API XML file.') + parser.add_argument('--outdir', help='Where to write the files.', + required=True) + parser.add_argument('--xml', help='Vulkan API XML file.', required=True) args = parser.parse_args() doc = et.parse(args.xml) @@ -375,13 +374,11 @@ def main(): # For outputting entrypoints.h we generate a anv_EntryPoint() prototype # per entry point. - if args.target == 'header': - with open(args.file, 'wb') as f: - f.write(TEMPLATE_H.render(entrypoints=entrypoints, - filename=os.path.basename(__file__))) - else: - with open(args.file, 'wb') as f: - f.write(gen_code(entrypoints)) + with open(os.path.join(args.outdir, 'anv_entrypoints.h'), 'wb') as f: + f.write(TEMPLATE_H.render(entrypoints=entrypoints, + filename=os.path.basename(__file__))) + with open(os.path.join(args.outdir, 'anv_entrypoints.c'), 'wb') as f: + f.write(gen_code(entrypoints)) if __name__ == '__main__': -- 2.30.2