aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMauro Rossi <[email protected]>2017-02-28 01:24:41 +0100
committerEmil Velikov <[email protected]>2017-02-28 01:24:41 +0100
commit3f2cb699cfe0481f214c709b5a1375caf0a9c7fe (patch)
tree77f1c429036d86140bc59a12a071fa5b0d0a19ae
parent3bbbb63801c9c30440398563d6090029f9c7b51c (diff)
android: vulkan: add support for libmesa_vulkan_util
The following changes are implemented: Add src/vulkan/Android.mk to build libmesa_vulkan_util Android.mk: add src/vulkan to SUBDIR to build new module intel/vulkan: fix libmesa_vulkan_util,vk_enum_to_str.h dependencies Add -o OUTPUT_PATH option in src/vulkan/util/gen_enum_to_str.py script Use -o OUTPUT_PATH option in automake generation rules for vk_enum_to_str.{c,h} Fixes: e9dcb17 "vulkan/util: Add generator for enum_to_str functions" Fixes: 8e03250 "vulkan: Combine wsi and util makefiles" Reviewed-by: Dylan Baker <[email protected]> Reviewed-by: Emil Velikov <[email protected]> [Emil Velikov] - Move parser within main() - Use --outdir instead of -o Signed-off-by: Emil Velikov <[email protected]>
-rw-r--r--Android.mk3
-rw-r--r--src/intel/vulkan/Android.mk8
-rw-r--r--src/vulkan/Android.mk55
-rw-r--r--src/vulkan/Makefile.am2
-rw-r--r--src/vulkan/util/gen_enum_to_str.py12
5 files changed, 74 insertions, 6 deletions
diff --git a/Android.mk b/Android.mk
index 33f1d141131..9afa415dd74 100644
--- a/Android.mk
+++ b/Android.mk
@@ -97,7 +97,8 @@ SUBDIRS := \
src/egl \
src/amd \
src/intel \
- src/mesa/drivers/dri
+ src/mesa/drivers/dri \
+ src/vulkan
INC_DIRS := $(call all-named-subdir-makefiles,$(SUBDIRS))
diff --git a/src/intel/vulkan/Android.mk b/src/intel/vulkan/Android.mk
index 1e5397019a0..a6a7d263f6d 100644
--- a/src/intel/vulkan/Android.mk
+++ b/src/intel/vulkan/Android.mk
@@ -74,7 +74,8 @@ include $(BUILD_STATIC_LIBRARY)
ANV_INCLUDES := \
$(VULKAN_COMMON_INCLUDES) \
$(call generated-sources-dir-for,STATIC_LIBRARIES,libmesa_anv_entrypoints,,) \
- $(call generated-sources-dir-for,STATIC_LIBRARIES,libmesa_nir,,)/nir
+ $(call generated-sources-dir-for,STATIC_LIBRARIES,libmesa_nir,,)/nir \
+ $(call generated-sources-dir-for,STATIC_LIBRARIES,libmesa_vulkan_util,,)/util
#
# libanv for gen7
@@ -172,7 +173,10 @@ LOCAL_C_INCLUDES := \
$(ANV_INCLUDES) \
$(MESA_TOP)/src/compiler
-LOCAL_WHOLE_STATIC_LIBRARIES := libmesa_anv_entrypoints libmesa_genxml
+LOCAL_WHOLE_STATIC_LIBRARIES := \
+ libmesa_anv_entrypoints \
+ libmesa_genxml \
+ libmesa_vulkan_util
LOCAL_GENERATED_SOURCES += $(intermediates)/anv_entrypoints.c
diff --git a/src/vulkan/Android.mk b/src/vulkan/Android.mk
new file mode 100644
index 00000000000..b8ed706f1de
--- /dev/null
+++ b/src/vulkan/Android.mk
@@ -0,0 +1,55 @@
+# Copyright © 2017 Mauro Rossi <[email protected]>
+#
+# Permission is hereby granted, free of charge, to any person obtaining a
+# copy of this software and associated documentation files (the "Software"),
+# to deal in the Software without restriction, including without limitation
+# the rights to use, copy, modify, merge, publish, distribute, sublicense,
+# and/or sell copies of the Software, and to permit persons to whom the
+# Software is furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice (including the next
+# paragraph) shall be included in all copies or substantial portions of the
+# Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+# IN THE SOFTWARE.
+
+LOCAL_PATH := $(call my-dir)
+
+# Import variables
+include $(LOCAL_PATH)/Makefile.sources
+
+#
+# libmesa_vulkan_util
+#
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := libmesa_vulkan_util
+LOCAL_MODULE_CLASS := STATIC_LIBRARIES
+
+intermediates := $(call local-generated-sources-dir)
+
+LOCAL_C_INCLUDES := \
+ $(MESA_TOP)/include/vulkan
+
+LOCAL_GENERATED_SOURCES := \
+ $(intermediates)/util/vk_enum_to_str.c \
+ $(intermediates)/util/vk_enum_to_str.h
+
+vulkan_api_xml = $(MESA_TOP)/src/vulkan/registry/vk.xml
+
+$(LOCAL_GENERATED_SOURCES): $(MESA_TOP)/src/vulkan/util/gen_enum_to_str.py $(vulkan_api_xml)
+ @echo "target Generated: $(PRIVATE_MODULE) <= $(notdir $(@))"
+ @mkdir -p $(dir $@)
+ $(hide) $(MESA_PYTHON2) $(MESA_TOP)/src/vulkan/util/gen_enum_to_str.py --outdir $(intermediates)/util
+
+LOCAL_EXPORT_C_INCLUDE_DIRS := \
+ $(intermediates)
+
+include $(MESA_COMMON_MK)
+include $(BUILD_STATIC_LIBRARY)
diff --git a/src/vulkan/Makefile.am b/src/vulkan/Makefile.am
index 5cdffbf901e..072e45e3469 100644
--- a/src/vulkan/Makefile.am
+++ b/src/vulkan/Makefile.am
@@ -17,7 +17,7 @@ BUILT_SOURCES = \
util/vk_enum_to_str.c util/vk_enum_to_str.h: util/gen_enum_to_str.py $(vulkan_api_xml)
$(MKDIR_GEN)
- $(PYTHON_GEN) $(srcdir)/util/gen_enum_to_str.py
+ $(PYTHON_GEN) $(srcdir)/util/gen_enum_to_str.py --outdir $(top_builddir)/src/vulkan/util
libvulkan_util_la_SOURCES = $(VULKAN_UTIL_FILES)
diff --git a/src/vulkan/util/gen_enum_to_str.py b/src/vulkan/util/gen_enum_to_str.py
index 4b6fdf3b3de..8c11569b6ae 100644
--- a/src/vulkan/util/gen_enum_to_str.py
+++ b/src/vulkan/util/gen_enum_to_str.py
@@ -22,6 +22,7 @@
"""Create enum to string functions for vulking using vk.xml."""
from __future__ import print_function
+import argparse
import os
import textwrap
import xml.etree.cElementTree as et
@@ -158,9 +159,16 @@ def xml_parser(filename):
def main():
+ parser = argparse.ArgumentParser()
+ parser.add_argument('--outdir',
+ help='Directory to put the generated files in',
+ required=True)
+
+ args = parser.parse_args()
+
enums = xml_parser(VK_XML)
- for template, file_ in [(C_TEMPLATE, 'util/vk_enum_to_str.c'),
- (H_TEMPLATE, 'util/vk_enum_to_str.h')]:
+ for template, file_ in [(C_TEMPLATE, os.path.join(args.outdir, 'vk_enum_to_str.c')),
+ (H_TEMPLATE, os.path.join(args.outdir, 'vk_enum_to_str.h'))]:
with open(file_, 'wb') as f:
f.write(template.render(
file=os.path.basename(__file__),