summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDylan Baker <[email protected]>2017-03-03 14:22:44 -0800
committerDylan Baker <[email protected]>2017-03-22 16:22:00 -0700
commit8211e3e60d941ed62c4a0d22de3967a8ded7d805 (patch)
treedc8b5e9b1a51b572931e8998656738465328de7f
parent383032c70068938575f609fef0d442ba3e4d7c68 (diff)
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 <[email protected]>
-rw-r--r--src/intel/Android.vulkan.mk7
-rw-r--r--src/intel/Makefile.vulkan.am9
-rw-r--r--src/intel/vulkan/anv_entrypoints_gen.py19
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__':