* [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
---
| 8 ++++++++
| 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
--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
--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