summaryrefslogtreecommitdiffstats
path: root/recipes-multimedia
diff options
context:
space:
mode:
authorCarlos Rafael Giani <crg7475@mailbox.org>2023-09-14 11:17:36 +0200
committerCarlos Rafael Giani <crg7475@mailbox.org>2023-09-14 11:22:40 +0200
commit0c72baddf5e4bd6b7f3ba33025ae1f76881bdaf3 (patch)
tree8f4648c099d942621d43cceadeeabb95092d441b /recipes-multimedia
parentb5127cf5a9fc302fc3d2083e78450f1b63df39df (diff)
downloadmeta-freescale-0c72baddf5e4bd6b7f3ba33025ae1f76881bdaf3.tar.gz
gstreamer1.0-plugins-base: Fix viv-fb usage and extract PACKAGECONFIG_GL
Both the NXP fork of gstreamer1.0-plugins-base and upstream GStreamer need the same PACKAGECONFIG_GL adjustments, so extract those into a common .bbappend. Also, in GStreamer 1.22.5, viv-fb has been decoupled from the Vivante direct texture feature. It is no longer necessary to set viv-fb to be able to use direct textures. viv-fb now solely and only is about the windowing system (that is, using the Vivante specific framebuffer API to be able to render OpenGL ES directly to framebuffer). That windowing system is only available on vendor BSPs for i.MX6 SoCs, so limit viv-fb to mx6-nxp-bsp. The recipe for the NXP fork is at version 1.22.0, so the fixes for decoupling viv-fb from direct textures is not present there. For this reason, always enable viv-fb in that recipe. This also makes sure that that recipe essentially behaves the same, because the PACKAGECONFIG_GL adjustments end up being the same as before. Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
Diffstat (limited to 'recipes-multimedia')
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.22.%.bbappend16
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.22.0.imx.bb11
2 files changed, 21 insertions, 6 deletions
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.22.%.bbappend b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.22.%.bbappend
new file mode 100644
index 00000000..761189af
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.22.%.bbappend
@@ -0,0 +1,16 @@
1PACKAGECONFIG_GL:imxgpu2d = \
2 "${@bb.utils.contains('DISTRO_FEATURES', 'opengl x11', 'opengl', '', d)}"
3PACKAGECONFIG_GL:imxgpu3d = \
4 "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2 egl', '', d)}"
5PACKAGECONFIG_GL:use-mainline-bsp = \
6 "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2 egl gbm', '', d)}"
7
8# The i.MX8 uses KMS instead of the Vivante specific framebuffer API.
9# The i.MX7 does not have a GPU.
10# This leaves the i.MX6 - with the vendor BSP - as the remaining use case for viv-fb.
11#
12# (Note that viv-fb is about the _windowing system_. Vivante direct texture support
13# does not depend on the viv-fb feature. It used to, but that was actually a bug
14# which was fixed in GStreamer 1.22.5. Since then, the direct texture support is
15# detected by Meson by checking for direct texture symbols like "glTexDirectVIV".)
16PACKAGECONFIG_GL:append:mx6-nxp-bsp = " viv-fb "
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.22.0.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.22.0.imx.bb
index df0b9912..d8c65287 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.22.0.imx.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.22.0.imx.bb
@@ -123,12 +123,11 @@ S = "${WORKDIR}/git"
123 123
124inherit use-imx-headers 124inherit use-imx-headers
125 125
126PACKAGECONFIG_GL:imxgpu2d = \ 126# Prior to version 1.22.5, viv-fb is coupled with the Vivante direct texture feature.
127 "${@bb.utils.contains('DISTRO_FEATURES', 'opengl x11', 'opengl viv-fb', '', d)}" 127# For this reason, in these older versions, viv-fb must be enabled always, even when
128PACKAGECONFIG_GL:imxgpu3d = \ 128# building for SoCs like the i.MX8 that do not support the viv-fb windowing system.
129 "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2 egl viv-fb', '', d)}" 129# TODO: Once this .imx recipe is upgraded to 1.22.5 or newer, drop this line.
130PACKAGECONFIG_GL:use-mainline-bsp = \ 130PACKAGECONFIG_GL:append = " viv-fb "
131 "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2 egl gbm', '', d)}"
132 131
133PACKAGECONFIG_REMOVE ?= "jpeg" 132PACKAGECONFIG_REMOVE ?= "jpeg"
134PACKAGECONFIG:remove = "${PACKAGECONFIG_REMOVE}" 133PACKAGECONFIG:remove = "${PACKAGECONFIG_REMOVE}"