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

* Re: [ptxdist] [APPLIED] spirv-tools: version bump 2021.4 -> 1.3.204.0, separate spirv-headers
  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 ` Michael Olbrich
  0 siblings, 0 replies; 2+ messages in thread
From: Michael Olbrich @ 2022-02-28 12:09 UTC (permalink / raw)
  To: ptxdist; +Cc: Philipp Zabel

Thanks, applied as 5e7e588625f1d07c14d6d4d7aa9a29916f9b8804.

Michael

[sent from post-receive hook]

On Mon, 28 Feb 2022 13:09:43 +0100, Philipp Zabel <p.zabel@pengutronix.de> wrote:
> 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>
> Message-Id: <20220225094300.2602978-1-p.zabel@pengutronix.de>
> Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
> 
> 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
>  # ----------------------------------------------------------------------------

_______________________________________________
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