mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
* [ptxdist] [PATCH v2] spirv-tools: version bump 2021.4 -> 1.3.204.0, separate spirv-headers
@ 2022-02-25  9:43 Philipp Zabel
  2022-02-28 12:09 ` [ptxdist] [APPLIED] " Michael Olbrich
  0 siblings, 1 reply; 2+ messages in thread
From: Philipp Zabel @ 2022-02-25  9:43 UTC (permalink / raw)
  To: ptxdist

Instead of bumping to v2022.1 and applying the bugfix patches locally,
switch to the Vulkan SDK release version.

While spirv-tools (and shaderc) use spirv-headers by integrating the
sources into their build tree, vulkan-validationlayers looks for it
using cmake find_package. Split spirv-headers into a proper package
that can be installed into target-sysroot.

Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
---
Changes since v1:
 - Set SPIRV_HEADERS_LICENSE to "custom" for Khronos (modified MIT) license
---
 rules/spirv-headers.in   |  8 ++++++++
 rules/spirv-headers.make | 35 +++++++++++++++++++++++++++++++++++
 rules/spirv-tools.make   | 39 ++++++++++++---------------------------
 3 files changed, 55 insertions(+), 27 deletions(-)
 create mode 100644 rules/spirv-headers.in
 create mode 100644 rules/spirv-headers.make

diff --git a/rules/spirv-headers.in b/rules/spirv-headers.in
new file mode 100644
index 000000000000..742a7f682026
--- /dev/null
+++ b/rules/spirv-headers.in
@@ -0,0 +1,8 @@
+## SECTION=multimedia_libs
+
+menuconfig SPIRV_HEADERS
+	tristate
+	prompt "spirv-headers"
+	select HOST_CMAKE
+	help
+	  SPIR-V Headers
diff --git a/rules/spirv-headers.make b/rules/spirv-headers.make
new file mode 100644
index 000000000000..6fba1b6058c1
--- /dev/null
+++ b/rules/spirv-headers.make
@@ -0,0 +1,35 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2022 by Philipp Zabel <p.zabel@pengutronix.de>
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+PACKAGES-$(PTXCONF_SPIRV_HEADERS) += spirv-headers
+
+#
+# Paths and names
+#
+SPIRV_HEADERS_VERSION	:= 1.3.204.0
+SPIRV_HEADERS_MD5	:= 09ea3d4f15f4d79bd58ff01239ab213e
+SPIRV_HEADERS		:= spirv-headers-$(SPIRV_HEADERS_VERSION)
+SPIRV_HEADERS_SUFFIX	:= tar.gz
+SPIRV_HEADERS_URL	:= https://github.com/KhronosGroup/SPIRV-Headers/archive/sdk-$(SPIRV_HEADERS_VERSION).$(SPIRV_HEADERS_SUFFIX)
+SPIRV_HEADERS_SOURCE	:= $(SRCDIR)/spirv-headers-$(SPIRV_HEADERS_VERSION).$(SPIRV_HEADERS_SUFFIX)
+SPIRV_HEADERS_DIR	:= $(BUILDDIR)/$(SPIRV_HEADERS)
+SPIRV_HEADERS_LICENSE	:= custom
+SPIRV_HEADERS_LICENSE_FILES := file://LICENSE;md5=c938b85bceb8fb26c1a807f28a52ae2d
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+SPIRV_HEADERS_CONF_TOOL	:= cmake
+SPIRV_HEADERS_CONF_OPT	:= \
+	$(CROSS_CMAKE_USR)
+
+# vim: syntax=make
diff --git a/rules/spirv-tools.make b/rules/spirv-tools.make
index 341c9aecd17f..770df808107c 100644
--- a/rules/spirv-tools.make
+++ b/rules/spirv-tools.make
@@ -14,26 +14,25 @@ PACKAGES-$(PTXCONF_SPIRV_TOOLS) += spirv-tools
 #
 # Paths and names
 #
-SPIRV_TOOLS_VERSION	:= 2021.4
-SPIRV_TOOLS_MD5		:= bb36f699fcaca7362b983d75fa5a547b
+SPIRV_TOOLS_VERSION	:= 1.3.204.0
+SPIRV_TOOLS_MD5		:= 0078b5a2635e6cefe8e47eda98ec86b4
 SPIRV_TOOLS		:= spirv-tools-$(SPIRV_TOOLS_VERSION)
 SPIRV_TOOLS_SUFFIX	:= tar.gz
-SPIRV_TOOLS_URL		:= https://github.com/KhronosGroup/SPIRV-Tools/archive/v$(SPIRV_TOOLS_VERSION).$(SPIRV_TOOLS_SUFFIX)
+SPIRV_TOOLS_URL		:= https://github.com/KhronosGroup/SPIRV-Tools/archive/sdk-$(SPIRV_TOOLS_VERSION).$(SPIRV_TOOLS_SUFFIX)
 SPIRV_TOOLS_SOURCE	:= $(SRCDIR)/$(SPIRV_TOOLS).$(SPIRV_TOOLS_SUFFIX)
 SPIRV_TOOLS_DIR		:= $(BUILDDIR)/$(SPIRV_TOOLS)
+SPIRV_TOOLS_BUILD_DIR	:= $(SPIRV_TOOLS_DIR)-build
 SPIRV_TOOLS_LICENSE	:= Apache-2.0
 SPIRV_TOOLS_LICENSE_FILES := file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57
 
+SPIRV_TOOLS_SPIRV_HEADERS_MD5		= $(SPIRV_HEADERS_MD5)
+SPIRV_TOOLS_SPIRV_HEADERS_URL		= $(SPIRV_HEADERS_URL)
+SPIRV_TOOLS_SPIRV_HEADERS_SOURCE	= $(SPIRV_HEADERS_SOURCE)
+SPIRV_TOOLS_SPIRV_HEADERS_DIR		= $(SPIRV_TOOLS_DIR)/external/spirv-headers
 
-SPIRV_HEADERS_VERSION	:= 2021-11-11-g814e728b30dd
-SPIRV_HEADERS_MD5	:= 42b6d6fef675c42eddbc7742f033c964
-SPIRV_HEADERS_SUFFIX	:= tar.gz
-SPIRV_HEADERS_URL	:= https://github.com/KhronosGroup/SPIRV-Headers/archive/$(SPIRV_HEADERS_VERSION).$(SPIRV_HEADERS_SUFFIX)
-SPIRV_HEADERS_SOURCE	:= $(SRCDIR)/spirv-headers-$(SPIRV_HEADERS_VERSION).$(SPIRV_HEADERS_SUFFIX)
-$(SPIRV_HEADERS_SOURCE) := SPIRV_HEADERS
-SPIRV_HEADERS_DIR	:= $(SPIRV_TOOLS_DIR)/external/spirv-headers
-
-SPIRV_TOOLS_SOURCES	:= $(SPIRV_TOOLS_SOURCE) $(SPIRV_HEADERS_SOURCE)
+SPIRV_TOOLS_SOURCES	:= \
+	$(SPIRV_TOOLS_SOURCE) \
+	$(SPIRV_TOOLS_SPIRV_HEADERS_SOURCE)
 
 # ----------------------------------------------------------------------------
 # Extract
@@ -43,7 +42,7 @@ $(STATEDIR)/spirv-tools.extract:
 	@$(call targetinfo)
 	@$(call clean, $(SPIRV_TOOLS_DIR))
 	@$(call extract, SPIRV_TOOLS)
-	@$(call extract, SPIRV_HEADERS)
+	@$(call extract, SPIRV_TOOLS_SPIRV_HEADERS)
 	@$(call patchin, SPIRV_TOOLS)
 	@$(call touch)
 
@@ -73,20 +72,6 @@ SPIRV_TOOLS_CONF_OPT	:= \
 	-DSPIRV_WARN_EVERYTHING=OFF \
 	-DSPIRV_WERROR=OFF
 
-# ----------------------------------------------------------------------------
-# Install
-# ----------------------------------------------------------------------------
-
-$(STATEDIR)/spirv-tools.install:
-	@$(call targetinfo)
-	@install -vD -m 644 $(SPIRV_TOOLS_DIR)-build/source/libSPIRV-Tools.a $(SPIRV_TOOLS_PKGDIR)/usr/lib/libSPIRV-Tools.a
-	@install -vD -m 644 $(SPIRV_TOOLS_DIR)-build/source/opt/libSPIRV-Tools-opt.a $(SPIRV_TOOLS_PKGDIR)/usr/lib/libSPIRV-Tools-opt.a
-	@install -vD -m 644 $(SPIRV_TOOLS_DIR)-build/source/libSPIRV-Tools-shared.so $(SPIRV_TOOLS_PKGDIR)/usr/lib/libSPIRV-Tools-shared.so
-	@mkdir -p $(SPIRV_TOOLS_PKGDIR)/usr/include
-	@cp -r $(SPIRV_HEADERS_DIR)/include/spirv $(SPIRV_TOOLS_PKGDIR)/usr/include
-	@cp -r $(SPIRV_TOOLS_DIR)/include/spirv-tools $(SPIRV_TOOLS_PKGDIR)/usr/include
-	$(call touch)
-
 # ----------------------------------------------------------------------------
 # Target-Install
 # ----------------------------------------------------------------------------
-- 
2.30.2


_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de
To unsubscribe, send a mail with subject "unsubscribe" to ptxdist-request@pengutronix.de


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2022-02-28 12:13 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-02-25  9:43 [ptxdist] [PATCH v2] spirv-tools: version bump 2021.4 -> 1.3.204.0, separate spirv-headers Philipp Zabel
2022-02-28 12:09 ` [ptxdist] [APPLIED] " Michael Olbrich

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox