mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
* [ptxdist] [PATCH 1/4] vulkan-loader: new package
@ 2020-01-10  9:11 Philipp Zabel
  2020-01-10  9:11 ` [ptxdist] [PATCH 2/4] mesalib: enable zink gallium driver Philipp Zabel
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Philipp Zabel @ 2020-01-10  9:11 UTC (permalink / raw)
  To: ptxdist

Add the Vulkan loader dispatch library and Vulkan headers in known-good
combination. There is a file scripts/know_good.json in the vulkan-loader
source tree that contains the vulkan-header commit to be used for the
SDK release.

Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
---
 rules/vulkan-loader.in   | 23 ++++++++++
 rules/vulkan-loader.make | 97 ++++++++++++++++++++++++++++++++++++++++
 2 files changed, 120 insertions(+)
 create mode 100644 rules/vulkan-loader.in
 create mode 100644 rules/vulkan-loader.make

diff --git a/rules/vulkan-loader.in b/rules/vulkan-loader.in
new file mode 100644
index 000000000000..8134e373de89
--- /dev/null
+++ b/rules/vulkan-loader.in
@@ -0,0 +1,23 @@
+## SECTION=multimedia_libs
+
+config VULKAN_LOADER
+	tristate
+	prompt "vulkan-loader"
+	select HOST_CMAKE
+	select HOST_QEMU
+	select LIBXCB		if VULKAN_LOADER_X11
+	select WAYLAND		if VULKAN_LOADER_WAYLAND
+	help
+	  Vulkan ICD Loader
+
+if VULKAN_LOADER
+
+config VULKAN_LOADER_X11
+	bool
+	prompt "X11"
+
+config VULKAN_LOADER_WAYLAND
+	bool
+	prompt "Wayland"
+
+endif
diff --git a/rules/vulkan-loader.make b/rules/vulkan-loader.make
new file mode 100644
index 000000000000..ff2f4a1ea48c
--- /dev/null
+++ b/rules/vulkan-loader.make
@@ -0,0 +1,97 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2020 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_VULKAN_LOADER) += vulkan-loader
+
+#
+# Paths and names
+#
+VULKAN_LOADER_VERSION	:= 1.1.130
+VULKAN_LOADER_MD5	:= 857a8ec5b90d681aa0c66d0e8e8f298f
+VULKAN_LOADER		:= vulkan-loader-$(VULKAN_LOADER_VERSION)
+VULKAN_LOADER_SUFFIX	:= tar.gz
+VULKAN_LOADER_URL	:= https://github.com/KhronosGroup/Vulkan-Loader/archive/sdk-$(VULKAN_LOADER_VERSION).0.$(VULKAN_LOADER_SUFFIX)
+VULKAN_LOADER_SOURCE	:= $(SRCDIR)/$(VULKAN_LOADER).$(VULKAN_LOADER_SUFFIX)
+VULKAN_LOADER_DIR	:= $(BUILDDIR)/$(VULKAN_LOADER)
+VULKAN_LOADER_LICENSE	:= Apache-2.0
+VULKAN_LOADER_LICENSE_FILES := file://LICENSE.txt;md5=7dbefed23242760aa3475ee42801c5ac
+
+VULKAN_HEADERS_VERSION	:= 1.1.130
+VULKAN_HEADERS_MD5	:= 5a623558b956c4853b4a62d2bf0979d1
+VULKAN_HEADERS_SUFFIX	:= tar.gz
+VULKAN_HEADERS_URL	:= https://github.com/KhronosGroup/Vulkan-Headers/archive/v$(VULKAN_HEADERS_VERSION).$(VULKAN_HEADERS_SUFFIX)
+VULKAN_HEADERS_SOURCE	:= $(SRCDIR)/vulkan-headers-$(VULKAN_HEADERS_VERSION).$(VULKAN_HEADERS_SUFFIX)
+$(VULKAN_HEADERS_SOURCE) := VULKAN_HEADERS
+VULKAN_HEADERS_DIR	:= $(VULKAN_LOADER_DIR)/vulkan-headers
+
+VULKAN_LOADER_SOURCES	:= $(VULKAN_LOADER_SOURCE) $(VULKAN_HEADERS_SOURCE)
+
+# ----------------------------------------------------------------------------
+# Extract
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/vulkan-loader.extract:
+	@$(call targetinfo)
+	@$(call clean, $(VULKAN_LOADER_DIR))
+	@$(call extract, VULKAN_LOADER)
+	@$(call extract, VULKAN_HEADERS)
+	@$(call patchin, VULKAN_LOADER)
+	@$(call touch)
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+VULKAN_LOADER_CONF_TOOL	:= cmake
+VULKAN_LOADER_CONF_OPT	:= \
+	$(CROSS_CMAKE_USR) \
+	-DCMAKE_BUILD_TYPE=Release \
+	-DCMAKE_CROSSCOMPILING_EMULATOR=$(PTXDIST_SYSROOT_CROSS)/bin/qemu-cross \
+	-DCMAKE_INSTALL_LIBDIR=/usr/lib \
+	-DBUILD_WSI_XCB_SUPPORT=$(call ptx/onoff, PTXCONF_VULKAN_LOADER_X11) \
+	-DBUILD_WSI_XLIB_SUPPORT=$(call ptx/onoff, PTXCONF_VULKAN_LOADER_X11) \
+	-DBUILD_WSI_WAYLAND_SUPPORT=$(call ptx/onoff, PTXCONF_VULKAN_LOADER_WAYLAND) \
+	-DBUILD_LOADER=ON \
+	-DBUILD_TESTS=OFF \
+	-DVulkanHeaders_INCLUDE_DIR=$(VULKAN_HEADERS_DIR)/include \
+	-DVulkanRegistry_DIR=$(VULKAN_HEADERS_DIR)/registry
+
+# ----------------------------------------------------------------------------
+# Install
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/vulkan-loader.install:
+	@$(call targetinfo)
+	@$(call world/install, VULKAN_LOADER)
+	@cp -rp $(VULKAN_HEADERS_DIR)/include $(VULKAN_LOADER_PKGDIR)/usr
+	@cp -rp $(VULKAN_HEADERS_DIR)/registry $(VULKAN_LOADER_PKGDIR)/usr/share/vulkan
+	@$(call touch)
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/vulkan-loader.targetinstall:
+	@$(call targetinfo)
+
+	@$(call install_init, vulkan-loader)
+	@$(call install_fixup, vulkan-loader, PRIORITY, optional)
+	@$(call install_fixup, vulkan-loader, SECTION, base)
+	@$(call install_fixup, vulkan-loader, AUTHOR, "Philipp Zabel <p.zabel@pengutronix.de>")
+	@$(call install_fixup, vulkan-loader, DESCRIPTION, Vulkan ICD Loader)
+
+	@$(call install_lib, vulkan-loader, 0, 0, 0644, libvulkan)
+
+	@$(call install_finish, vulkan-loader)
+
+	@$(call touch)
+
+# vim: syntax=make
-- 
2.20.1


_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de

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

end of thread, other threads:[~2020-01-10  9:36 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-10  9:11 [ptxdist] [PATCH 1/4] vulkan-loader: new package Philipp Zabel
2020-01-10  9:11 ` [ptxdist] [PATCH 2/4] mesalib: enable zink gallium driver Philipp Zabel
2020-01-10  9:11 ` [ptxdist] [PATCH 3/4] mesalib: enable vulkan drivers Philipp Zabel
2020-01-10  9:12 ` [ptxdist] [PATCH 4/4] gst-plugins-bad1: enable vulkan plugin Philipp Zabel
2020-01-10  9:36 ` [ptxdist] [PATCH 1/4] vulkan-loader: new package Roland Hieber

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