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 <[email protected]> --- 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..70416f79ac08 --- /dev/null +++ b/rules/spirv-headers.make @@ -0,0 +1,35 @@ +# -*-makefile-*- +# +# Copyright (C) 2022 by Philipp Zabel <[email protected]> +# +# 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 := Khronos +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 [email protected] To unsubscribe, send a mail with subject "unsubscribe" to [email protected]
