1
0
mirror of https://git.yoctoproject.org/poky synced 2026-05-08 17:19:20 +00:00

gstreamer1.0-plugins-bad: Add vulkan PACKAGECONFIG

This adds a Vulkan video sink (using xcb and/or wayland).

Add a few patches to fix the build.

(From OE-Core rev: a80a0b3981d129a945ddd775690963cefa15376a)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Jussi Kukkonen
2017-07-06 10:54:36 +03:00
committed by Richard Purdie
parent 5e4845d15e
commit 4a51d254cf
4 changed files with 105 additions and 2 deletions
@@ -66,6 +66,7 @@ PACKAGECONFIG[srtp] = "--enable-srtp,--disable-srtp,libsrtp"
PACKAGECONFIG[uvch264] = "--enable-uvch264,--disable-uvch264,libusb1 libgudev"
PACKAGECONFIG[voaacenc] = "--enable-voaacenc,--disable-voaacenc,vo-aacenc"
PACKAGECONFIG[voamrwbenc] = "--enable-voamrwbenc,--disable-voamrwbenc,vo-amrwbenc"
PACKAGECONFIG[vulkan] = "--enable-vulkan,--disable-vulkan,vulkan"
PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland-native wayland wayland-protocols"
PACKAGECONFIG[webp] = "--enable-webp,--disable-webp,libwebp"
@@ -78,7 +79,7 @@ PACKAGECONFIG[webp] = "--enable-webp,--disable-webp,libwebp"
# openni2 winks direct3d directsound winscreencap acm apple_media
# android_media avc bs2b chromaprint daala dts fdkaac gme gsm kate ladspa libde265
# lv2 mimic mpeg2enc mplex musepack nvenc ofa openh264 opensles pvr soundtouch spandsp
# spc teletextdec tinyalsa vdpau vulkan wasapi x265 zbar
# spc teletextdec tinyalsa vdpau wasapi x265 zbar
# qt5 support is disabled, because it is not present in OE core, and requires more work than
# just adding a packageconfig (it requires access to moc, uic, rcc, and qmake paths).
@@ -136,7 +137,6 @@ EXTRA_OECONF += " \
--disable-timidity \
--disable-tinyalsa \
--disable-vdpau \
--disable-vulkan \
--disable-wasapi \
--disable-wildmidi \
--disable-wininet \
@@ -0,0 +1,37 @@
From 1523ab462c1bf19055960ced255f4872b6cf9f5c Mon Sep 17 00:00:00 2001
From: Jussi Kukkonen <jussi.kukkonen@intel.com>
Date: Wed, 5 Jul 2017 11:00:42 +0300
Subject: [PATCH 1/2] vkdisplay: Use ifdef for platform specific defines
VK_KHR_*_SURFACE_EXTENSION_NAME are only available when corresponding
WSI is enabled.
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Upstream-Status: Submitted [https://bugzilla.gnome.org/show_bug.cgi?id=784539]
---
ext/vulkan/vkdisplay.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/ext/vulkan/vkdisplay.c b/ext/vulkan/vkdisplay.c
index 550134cd8..ade5d4583 100644
--- a/ext/vulkan/vkdisplay.c
+++ b/ext/vulkan/vkdisplay.c
@@ -448,11 +448,15 @@ gst_vulkan_display_type_to_extension_string (GstVulkanDisplayType type)
if (type == GST_VULKAN_DISPLAY_TYPE_NONE)
return NULL;
+#if GST_VULKAN_HAVE_WINDOW_XCB
if (type & GST_VULKAN_DISPLAY_TYPE_XCB)
return VK_KHR_XCB_SURFACE_EXTENSION_NAME;
+#endif
+#if GST_VULKAN_HAVE_WINDOW_WAYLAND
if (type & GST_VULKAN_DISPLAY_TYPE_WAYLAND)
return VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME;
+#endif
return NULL;
}
--
2.13.2
@@ -0,0 +1,64 @@
From c23e1dc22deb495561cffb877edb2746b740a1fa Mon Sep 17 00:00:00 2001
From: Jussi Kukkonen <jussi.kukkonen@intel.com>
Date: Wed, 5 Jul 2017 11:07:05 +0300
Subject: [PATCH 2/2] vulkan: Use the generated version of vkconfig.h
Build fails in ext/vulkan/xcb and ext/vulkan/wayland when:
* building from tarball
* building out-of-tree
* Only one WSI integration (xcb or wayland) is enabled by configure.ac
This is because vkconfig.h from source directory gets used instead
of the generated one.
Add the correct build directory to "-I". Use angle bracket
include in vkapi.h so that it actually looks in the include search
path instead of defaulting to the same (source tree) directory.
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Upstream-Status: Submitted [https://bugzilla.gnome.org/show_bug.cgi?id=784539]
---
ext/vulkan/vkapi.h | 2 +-
ext/vulkan/wayland/Makefile.am | 1 +
ext/vulkan/xcb/Makefile.am | 1 +
3 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/ext/vulkan/vkapi.h b/ext/vulkan/vkapi.h
index e9c23aa92..a37c29d0f 100644
--- a/ext/vulkan/vkapi.h
+++ b/ext/vulkan/vkapi.h
@@ -23,7 +23,7 @@
#define VK_PROTOTYPES
-#include "vkconfig.h"
+#include <vkconfig.h>
#include "vk_fwd.h"
#include "vkmacros.h"
diff --git a/ext/vulkan/wayland/Makefile.am b/ext/vulkan/wayland/Makefile.am
index f92d85e2c..10cfb70e6 100644
--- a/ext/vulkan/wayland/Makefile.am
+++ b/ext/vulkan/wayland/Makefile.am
@@ -14,6 +14,7 @@ noinst_HEADERS = \
libgstvulkan_wayland_la_CFLAGS = \
-I$(top_srcdir)/gst-libs \
+ -I$(top_builddir)/ext/vulkan \
-I$(top_srcdir)/ext/vulkan \
-I$(top_builddir)/gst-libs \
$(GST_PLUGINS_BASE_CFLAGS) \
diff --git a/ext/vulkan/xcb/Makefile.am b/ext/vulkan/xcb/Makefile.am
index 7debcff9e..b5103551b 100644
--- a/ext/vulkan/xcb/Makefile.am
+++ b/ext/vulkan/xcb/Makefile.am
@@ -14,6 +14,7 @@ noinst_HEADERS = \
libgstvulkan_xcb_la_CFLAGS = \
-I$(top_srcdir)/gst-libs \
+ -I$(top_builddir)/ext/vulkan \
-I$(top_srcdir)/ext/vulkan \
-I$(top_builddir)/gst-libs \
$(GST_PLUGINS_BASE_CFLAGS) \
--
2.13.2
@@ -19,6 +19,8 @@ SRC_URI = " \
file://0001-smoothstreaming-use-the-duration-from-the-list-of-fr.patch \
file://0001-mssdemux-improved-live-playback-support.patch \
file://link-with-libvchostif.patch \
file://0001-vkdisplay-Use-ifdef-for-platform-specific-defines.patch \
file://0002-vulkan-Use-the-generated-version-of-vkconfig.h.patch \
"
SRC_URI[md5sum] = "2757103e57a096a1a05b3ab85b8381af"
SRC_URI[sha256sum] = "23ddae506b3a223b94869a0d3eea3e9a12e847f94d2d0e0b97102ce13ecd6966"