anv: don't pass xmlfile via stdin anv_entrypoints_gen.py
It's slow, and has the potential for encoding issues. v2: - pass xml file location via argument - update Android.mk Signed-off-by: Dylan Baker <dylanx.c.baker@intel.com>
This commit is contained in:
@@ -59,8 +59,7 @@ $(intermediates)/vulkan/dummy.c:
|
|||||||
$(hide) touch $@
|
$(hide) touch $@
|
||||||
|
|
||||||
$(intermediates)/vulkan/anv_entrypoints.h:
|
$(intermediates)/vulkan/anv_entrypoints.h:
|
||||||
@mkdir -p $(dir $@)
|
$(VK_ENTRYPOINTS_SCRIPT) header --xml $(MESA_TOP)/src/vulkan/registry/vk.xml > $@
|
||||||
$(hide) cat $(MESA_TOP)/src/vulkan/registry/vk.xml | $(VK_ENTRYPOINTS_SCRIPT) header > $@
|
|
||||||
|
|
||||||
LOCAL_EXPORT_C_INCLUDE_DIRS := \
|
LOCAL_EXPORT_C_INCLUDE_DIRS := \
|
||||||
$(intermediates)
|
$(intermediates)
|
||||||
@@ -180,8 +179,7 @@ LOCAL_WHOLE_STATIC_LIBRARIES := \
|
|||||||
LOCAL_GENERATED_SOURCES += $(intermediates)/vulkan/anv_entrypoints.c
|
LOCAL_GENERATED_SOURCES += $(intermediates)/vulkan/anv_entrypoints.c
|
||||||
|
|
||||||
$(intermediates)/vulkan/anv_entrypoints.c:
|
$(intermediates)/vulkan/anv_entrypoints.c:
|
||||||
@mkdir -p $(dir $@)
|
$(VK_ENTRYPOINTS_SCRIPT) code --xml $(MESA_TOP)/src/vulkan/registry/vk.xml > $@
|
||||||
$(hide) cat $(MESA_TOP)/src/vulkan/registry/vk.xml | $(VK_ENTRYPOINTS_SCRIPT) code > $@
|
|
||||||
|
|
||||||
LOCAL_SHARED_LIBRARIES := libdrm_intel
|
LOCAL_SHARED_LIBRARIES := libdrm_intel
|
||||||
|
|
||||||
|
@@ -24,15 +24,11 @@
|
|||||||
# out and we'll fail at `make dist'
|
# out and we'll fail at `make dist'
|
||||||
vulkan_api_xml = $(top_srcdir)/src/vulkan/registry/vk.xml
|
vulkan_api_xml = $(top_srcdir)/src/vulkan/registry/vk.xml
|
||||||
|
|
||||||
vulkan/anv_entrypoints.h: vulkan/anv_entrypoints_gen.py $(vulkan_api_xml)
|
vulkan/anv_entrypoints.h : vulkan/anv_entrypoints_gen.py $(vulkan_api_xml)
|
||||||
$(MKDIR_GEN)
|
$(AM_V_GEN)$(PYTHON2) $(srcdir)/vulkan/anv_entrypoints_gen.py header --xml $(vulkan_api_xml) > $@
|
||||||
$(AM_V_GEN) cat $(vulkan_api_xml) |\
|
|
||||||
$(PYTHON2) $(srcdir)/vulkan/anv_entrypoints_gen.py header > $@
|
|
||||||
|
|
||||||
vulkan/anv_entrypoints.c: vulkan/anv_entrypoints_gen.py $(vulkan_api_xml)
|
vulkan/anv_entrypoints.c : vulkan/anv_entrypoints_gen.py $(vulkan_api_xml)
|
||||||
$(MKDIR_GEN)
|
$(AM_V_GEN)$(PYTHON2) $(srcdir)/vulkan/anv_entrypoints_gen.py code --xml $(vulkan_api_xml) > $@
|
||||||
$(AM_V_GEN) cat $(vulkan_api_xml) |\
|
|
||||||
$(PYTHON2) $(srcdir)/vulkan/anv_entrypoints_gen.py code > $@
|
|
||||||
|
|
||||||
BUILT_SOURCES += $(VULKAN_GENERATED_FILES)
|
BUILT_SOURCES += $(VULKAN_GENERATED_FILES)
|
||||||
CLEANFILES += \
|
CLEANFILES += \
|
||||||
|
@@ -22,7 +22,7 @@
|
|||||||
# IN THE SOFTWARE.
|
# IN THE SOFTWARE.
|
||||||
#
|
#
|
||||||
|
|
||||||
import sys
|
import argparse
|
||||||
import textwrap
|
import textwrap
|
||||||
import xml.etree.ElementTree as et
|
import xml.etree.ElementTree as et
|
||||||
|
|
||||||
@@ -58,13 +58,6 @@ PRIME_STEP = 19
|
|||||||
opt_header = False
|
opt_header = False
|
||||||
opt_code = False
|
opt_code = False
|
||||||
|
|
||||||
if sys.argv[1] == "header":
|
|
||||||
opt_header = True
|
|
||||||
sys.argv.pop()
|
|
||||||
elif sys.argv[1] == "code":
|
|
||||||
opt_code = True
|
|
||||||
sys.argv.pop()
|
|
||||||
|
|
||||||
|
|
||||||
def hash(name):
|
def hash(name):
|
||||||
h = 0
|
h = 0
|
||||||
@@ -140,7 +133,13 @@ def get_entrypoints_defines(doc):
|
|||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
doc = et.parse(sys.stdin)
|
parser = argparse.ArgumentParser()
|
||||||
|
parser.add_argument('target', choices=['header', 'code'],
|
||||||
|
help='Which file to generate.')
|
||||||
|
parser.add_argument('--xml', help='Vulkan API XML file.')
|
||||||
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
doc = et.parse(args.xml)
|
||||||
entrypoints = get_entrypoints(doc, get_entrypoints_defines(doc))
|
entrypoints = get_entrypoints(doc, get_entrypoints_defines(doc))
|
||||||
|
|
||||||
# Manually add CreateDmaBufImageINTEL for which we don't have an extension
|
# Manually add CreateDmaBufImageINTEL for which we don't have an extension
|
||||||
@@ -156,7 +155,7 @@ def main():
|
|||||||
# For outputting entrypoints.h we generate a anv_EntryPoint() prototype
|
# For outputting entrypoints.h we generate a anv_EntryPoint() prototype
|
||||||
# per entry point.
|
# per entry point.
|
||||||
|
|
||||||
if opt_header:
|
if args.target == 'header':
|
||||||
print "/* This file generated from vk_gen.py, don't edit directly. */\n"
|
print "/* This file generated from vk_gen.py, don't edit directly. */\n"
|
||||||
|
|
||||||
print "struct anv_dispatch_table {"
|
print "struct anv_dispatch_table {"
|
||||||
|
Reference in New Issue
Block a user