* [ptxdist] [PATCH 2/4] mesalib: enable zink gallium driver
2020-01-10 9:11 [ptxdist] [PATCH 1/4] vulkan-loader: new package Philipp Zabel
@ 2020-01-10 9:11 ` Philipp Zabel
2020-01-10 9:11 ` [ptxdist] [PATCH 3/4] mesalib: enable vulkan drivers Philipp Zabel
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: Philipp Zabel @ 2020-01-10 9:11 UTC (permalink / raw)
To: ptxdist
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
---
rules/mesalib.in | 5 +++++
rules/mesalib.make | 1 +
2 files changed, 6 insertions(+)
diff --git a/rules/mesalib.in b/rules/mesalib.in
index 56c2d9ed26ad..7e200ee9ec23 100644
--- a/rules/mesalib.in
+++ b/rules/mesalib.in
@@ -19,6 +19,7 @@ menuconfig MESALIB
select LIBDRM_RADEON if MESALIB_DRI_R600
select LIBDRM_RADEON if MESALIB_DRI_RADEONSI
select LIBDRM_NOUVEAU if MESALIB_DRI_NOUVEAU || MESALIB_DRI_NOUVEAU_VIEUX
+ select VULKAN_LOADER if MESALIB_DRI_ZINK
select LM_SENSORS if MESALIB_LMSENSORS
select XORGPROTO if MESALIB_GLX
select XORG_LIB_X11 if MESALIB_GLX || MESALIB_EGL_X11 && MESALIB_EGL_DRM
@@ -115,6 +116,10 @@ config MESALIB_DRI_LIMA
bool
prompt "lima"
+config MESALIB_DRI_ZINK
+ bool
+ prompt "zink"
+
comment "API Support"
config MESALIB_OPENGL
diff --git a/rules/mesalib.make b/rules/mesalib.make
index 1558553abf7a..35b71795dcc3 100644
--- a/rules/mesalib.make
+++ b/rules/mesalib.make
@@ -58,6 +58,7 @@ MESALIB_GALLIUM_DRIVERS-$(PTXCONF_MESALIB_DRI_LIMA) += lima
ifdef PTXCONF_ARCH_X86
MESALIB_GALLIUM_DRIVERS-$(PTXCONF_MESALIB_DRI_IRIS) += iris
endif
+MESALIB_GALLIUM_DRIVERS-$(PTXCONF_MESALIB_DRI_ZINK) += zink
MESALIB_DRI_LIBS-y = \
$(subst nouveau,nouveau_vieux,$(MESALIB_DRI_DRIVERS-y))
--
2.20.1
_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de
^ permalink raw reply [flat|nested] 5+ messages in thread
* [ptxdist] [PATCH 3/4] mesalib: enable vulkan drivers
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 ` 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
3 siblings, 0 replies; 5+ messages in thread
From: Philipp Zabel @ 2020-01-10 9:11 UTC (permalink / raw)
To: ptxdist
Radv still requires LLVM support.
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
---
rules/mesalib.in | 12 ++++++++++++
rules/mesalib.make | 19 +++++++++++++++++--
2 files changed, 29 insertions(+), 2 deletions(-)
diff --git a/rules/mesalib.in b/rules/mesalib.in
index 7e200ee9ec23..2fa8156bab8e 100644
--- a/rules/mesalib.in
+++ b/rules/mesalib.in
@@ -178,5 +178,17 @@ config MESALIB_LMSENSORS
depends on MESALIB_EXTENDED_HUD
bool
+comment "Vulkan drivers"
+
+config MESALIB_VULKAN_AMD
+ bool
+ # needs LLVM
+ depends on BROKEN
+ prompt "AMD (Radv)"
+
+config MESALIB_VULKAN_INTEL
+ bool
+ prompt "Intel (Anvil)"
+
endif
diff --git a/rules/mesalib.make b/rules/mesalib.make
index 35b71795dcc3..0fcdbbc0977e 100644
--- a/rules/mesalib.make
+++ b/rules/mesalib.make
@@ -66,6 +66,13 @@ MESALIB_DRI_LIBS-y = \
MESALIB_DRI_GALLIUM_LIBS-y = \
$(subst kmsro,imx-drm pl111 hx8357d stm,$(subst freedreno,kgsl,$(MESALIB_GALLIUM_DRIVERS-y)))
+ifdef PTXCONF_ARCH_X86
+MESALIB_VULKAN_DRIVERS-$(PTXCONF_MESALIB_VULKAN_AMD) += amd
+MESALIB_VULKAN_DRIVERS-$(PTXCONF_MESALIB_VULKAN_INTEL) += intel
+endif
+
+MESALIB_VULKAN_LIBS-y = $(subst amd,radeon,$(MESALIB_VULKAN_DRIVERS-y))
+
MESALIB_LIBS-y := libglapi
MESALIB_LIBS-$(PTXCONF_MESALIB_GLX) += libGL
MESALIB_LIBS-$(PTXCONF_MESALIB_GLES1) += libGLESv1_CM
@@ -120,7 +127,7 @@ MESALIB_CONF_OPT := \
-Dplatforms=$(subst $(space),$(comma),$(MESALIBS_EGL_PLATFORMS-y)) \
-Dpower8=false \
-Dselinux=false \
- -Dshader-cache=false \
+ -Dshader-cache=$(call ptx/truefalse, PTXCONF_MESALIB_VULKAN_AMD) \
-Dshared-glapi=true \
-Dshared-llvm=false \
-Dswr-arches=[] \
@@ -128,7 +135,7 @@ MESALIB_CONF_OPT := \
-Dva-libs-path=/usr/lib/dri \
-Dvalgrind=false \
-Dvdpau-libs-path=/usr/lib/vdpau \
- -Dvulkan-drivers=[] \
+ -Dvulkan-drivers=$(subst $(space),$(comma),$(MESALIB_VULKAN_DRIVERS-y)) \
-Dvulkan-icd-dir=/etc/vulkan/icd.d \
-Dvulkan-overlay-layer=false \
-Dxlib-lease=false \
@@ -171,6 +178,14 @@ ifneq ($(strip $(MESALIB_DRI_GALLIUM_LIBS-y)),)
/usr/lib/dri/$(lib)_dri.so)$(ptx/nl))
endif
+ifneq ($(strip $(MESALIB_VULKAN_LIBS-y)),)
+ @$(foreach lib, $(MESALIB_VULKAN_LIBS-y), \
+ $(call install_copy, mesalib, 0, 0, 0644, -, \
+ /usr/lib/libvulkan_$(lib).so)$(ptx/nl) \
+ $(call install_copy, mesalib, 0, 0, 0644, -, \
+ /etc/vulkan/icd.d/$(lib)_icd.$(subst _,-,$(PTXCONF_ARCH_STRING)).json)$(ptx/nl))
+endif
+
@$(foreach lib, $(MESALIB_LIBS-y), \
$(call install_lib, mesalib, 0, 0, 0644, $(lib))$(ptx/nl))
--
2.20.1
_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de
^ permalink raw reply [flat|nested] 5+ messages in thread
* [ptxdist] [PATCH 4/4] gst-plugins-bad1: enable vulkan plugin
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 ` Philipp Zabel
2020-01-10 9:36 ` [ptxdist] [PATCH 1/4] vulkan-loader: new package Roland Hieber
3 siblings, 0 replies; 5+ messages in thread
From: Philipp Zabel @ 2020-01-10 9:12 UTC (permalink / raw)
To: ptxdist
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
---
rules/gst-plugins-bad1.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/rules/gst-plugins-bad1.in b/rules/gst-plugins-bad1.in
index d1dd4f471df7..f535a8198d6b 100644
--- a/rules/gst-plugins-bad1.in
+++ b/rules/gst-plugins-bad1.in
@@ -803,7 +803,7 @@ config GST_PLUGINS_BAD1_VOAMRWBENC
config GST_PLUGINS_BAD1_VULKAN
bool
- depends on BROKEN
+ depends on VULKAN_LOADER
prompt "vulkan"
help
Vulkan video sink plugin
--
2.20.1
_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [ptxdist] [PATCH 1/4] vulkan-loader: new package
2020-01-10 9:11 [ptxdist] [PATCH 1/4] vulkan-loader: new package Philipp Zabel
` (2 preceding siblings ...)
2020-01-10 9:12 ` [ptxdist] [PATCH 4/4] gst-plugins-bad1: enable vulkan plugin Philipp Zabel
@ 2020-01-10 9:36 ` Roland Hieber
3 siblings, 0 replies; 5+ messages in thread
From: Roland Hieber @ 2020-01-10 9:36 UTC (permalink / raw)
To: ptxdist
On Fri, Jan 10, 2020 at 10:11:57AM +0100, Philipp Zabel wrote:
> 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
> +
For the license part:
Reviewed-by: Roland Hieber <rhi@pengutronix.de>
(There are a few others in the source, but these are more permissive, so
Apache-2.0 as a whole is okay for now.)
> +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
>
--
Roland Hieber, Pengutronix e.K. | r.hieber@pengutronix.de |
Steuerwalder Str. 21 | https://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de
^ permalink raw reply [flat|nested] 5+ messages in thread