aboutsummaryrefslogtreecommitdiffstats
path: root/recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc')
-rw-r--r--recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc91
1 files changed, 38 insertions, 53 deletions
diff --git a/recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc b/recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc
index 5c25eec6..5acf6352 100644
--- a/recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc
+++ b/recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc
@@ -6,7 +6,7 @@
DESCRIPTION = "GPU driver and apps for i.MX"
SECTION = "libs"
LICENSE = "Proprietary"
-LIC_FILES_CHKSUM = "file://COPYING;md5=fd4b227530cd88a82af6a5982cfb724d"
+LIC_FILES_CHKSUM = "file://COPYING;md5=cf3f9b8d09bc3926b1004ea71f7a248a"
DEPENDS += " \
${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', \
@@ -43,9 +43,10 @@ PROVIDES += " \
imx-gpu-viv \
libgal-imx \
opencl-headers \
+ opencl-clhpp \
+ opencl-icd-loader \
virtual/egl \
virtual/libopenvg \
- virtual/opencl-headers \
virtual/opencl-icd \
${PROVIDES_OPENVX} \
${EXTRA_PROVIDES} \
@@ -61,6 +62,11 @@ REQUIRED_DISTRO_FEATURES_mx8 = "wayland"
SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}.bin;fsl-eula=true"
+PACKAGECONFIG ?= ""
+
+# Enables valgrind annotations for libgal-imx
+PACKAGECONFIG[valgrind] = ""
+
# Note : If you add a package here, to prevent a naming conflict see the python_anonymous() futher below
IMX_PACKAGES_GBM = ""
IMX_PACKAGES_GBM_mx8 = "libgbm-imx libgbm-imx-dev"
@@ -116,7 +122,7 @@ python __anonymous() {
# they don't get Debian-renamed (which would remove the -imx suffix).
for p in (("libegl", "libegl1"), ("libgl", "libgl1"),
("libgles1", "libglesv1-cm1"), ("libgles2", "libglesv2-2"),
- ("libgles3",) , ("libvulkan",), ("libgbm",)):
+ ("libgles3",), ("libgbm",)):
fullp = p[0] + "-imx"
pkgs = "".join(' %s' % i for i in p)
d.setVar("DEBIAN_NOAUTONAME_" + fullp, "1")
@@ -171,7 +177,7 @@ do_install () {
# The preference order, based in DISTRO_FEATURES, is Wayland (with or without X11), X11 and fb
if [ "${USE_WL}" = "yes" ]; then
- backend=wl
+ backend=wayland
install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/egl_wayland.pc ${D}${libdir}/pkgconfig/egl.pc
install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/glesv1_cm.pc ${D}${libdir}/pkgconfig/glesv1_cm.pc
@@ -212,41 +218,24 @@ do_install () {
install -d ${D}${sysconfdir}/OpenCL/vendors/
install -m 0644 ${S}/gpu-core/etc/Vivante.icd ${D}${sysconfdir}/OpenCL/vendors/Vivante.icd
- # We'll only have one backend here so we rename it to generic name
- # and avoid rework in other packages, when possible
- if [ "${USE_WL}" = "yes" -o "${USE_X11}" = "yes" ]; then
- cp ${S}/gpu-core/usr/lib/libGL-${backend}.so ${D}${libdir}/libGL.so.1.2.0
- ln -sf libGL.so.1.2.0 ${D}${libdir}/libGL.so.1.2
- ln -sf libGL.so.1.2.0 ${D}${libdir}/libGL.so.1
- ln -sf libGL.so.1.2.0 ${D}${libdir}/libGL.so
- fi
- mv ${D}${libdir}/libEGL-${backend}.so ${D}${libdir}/libEGL.so.1.0
- ln -sf libEGL.so.1.0 ${D}${libdir}/libEGL.so.1
- ln -sf libEGL.so.1.0 ${D}${libdir}/libEGL.so
- mv ${D}${libdir}/libGAL-${backend}.so ${D}${libdir}/libGAL.so
+ # Handle backend specific drivers
+ cp -r ${S}/gpu-core/usr/lib/${backend}/* ${D}${libdir}
if [ "${USE_WL}" = "yes" ]; then
# Special case for libVDK on Wayland backend, deliver fb library as well.
- # Need to rename the libraries to avoid the code below that will remove
- # *-fb.so and *-wl.so
- mv ${D}${libdir}/libVDK-fb.so ${D}${libdir}/libVDK-framebuffer.so
- mv ${D}${libdir}/libVDK-wl.so ${D}${libdir}/libVDK-wayland.so
- ln -sf libVDK-wayland.so ${D}${libdir}/libVDK.so
- else
- mv ${D}${libdir}/libVDK-${backend}.so ${D}${libdir}/libVDK.so
+ cp ${S}/gpu-core/usr/lib/fb/libVDK.so.1.2.0 ${D}${libdir}/libVDK-fb.so.1.2.0
fi
-
- # update libglesv2 as backend dependent
- rm -rf ${D}${libdir}/libGLESv2*
- cp ${S}/gpu-core/usr/lib/libGLESv2-${backend}.so ${D}${libdir}/libGLESv2.so.2.0.0
- ln -sf libGLESv2.so.2.0.0 ${D}${libdir}/libGLESv2.so.2
- ln -sf libGLESv2.so.2.0.0 ${D}${libdir}/libGLESv2.so
-
if [ "${IS_MX8}" = "1" ]; then
- # Change libvulkon.so driver soname, so that it does not clash with the
- # vulkan-loader libvulkan.so
- patchelf --set-soname libvulkan_VSI.so.1 ${D}${libdir}/libvulkan-${backend}.so
- mv ${D}${libdir}/libvulkan-${backend}.so ${D}${libdir}/libvulkan_VSI.so
+ # Rename the vulkan implementation library which is wrapped by the vulkan-loader
+ # library of the same name
+ MAJOR=1
+ FULL=$MAJOR.1.6
+ mv ${D}${libdir}/libvulkan.so.$FULL ${D}${libdir}/libvulkan_VSI.so.$FULL
+ patchelf --set-soname libvulkan_VSI.so.$MAJOR ${D}${libdir}/libvulkan_VSI.so.$FULL
+ rm ${D}${libdir}/libvulkan.so.$MAJOR ${D}${libdir}/libvulkan.so
+ ln -s libvulkan_VSI.so.$FULL ${D}${libdir}/libvulkan_VSI.so.$MAJOR
+ ln -s libvulkan_VSI.so.$FULL ${D}${libdir}/libvulkan_VSI.so
fi
+
for header in ${GLES3_HEADER_REMOVALS}; do
rm -f ${D}${includedir}/GLES3/${header}
done
@@ -257,11 +246,6 @@ do_install () {
find ${D}${libdir} -name "libwayland-viv.*" -exec rm '{}' ';'
fi
- for i in wl x11 fb dri; do
- find ${D}${libdir} -name "*-$i.so" -exec rm '{}' ';'
- find ${D}${libdir} -name "*.$i.so" -exec rm '{}' ';'
- done
-
# FIXME: MX6SL does not have 3D support; hack it for now
if [ "${IS_MX6SL}" = "1" ]; then
rm -rf ${D}${libdir}/libCLC* ${D}${includedir}/CL \
@@ -301,25 +285,28 @@ FILES_libegl-imx-dev = "${includedir}/EGL ${includedir}/KHR ${libdir}/pkgconfig/
FILES_libgal-imx = "${libdir}/libGAL${SOLIBS} ${libdir}/libGAL_egl${SOLIBS}"
FILES_libgal-imx-dev = "${libdir}/libGAL${SOLIBSDEV} ${includedir}/HAL"
RDEPENDS_libgal-imx += "kernel-module-imx-gpu-viv"
-RSUGGESTS_libgal-imx += "valgrind"
+RDEPENDS_libgal-imx += "${@bb.utils.contains('PACKAGECONFIG', 'valgrind', 'valgrind', '', d)}"
RPROVIDES_libgal-imx += "libgal-imx"
INSANE_SKIP_libgal-imx += "build-deps"
FILES_libvsc-imx = "${libdir}/libVSC${SOLIBS}"
-FILES_libgbm-imx_mx8 = "${libdir}/libgbm*${SOLIBS}"
-FILES_libgbm-imx-dev_mx8 = "${libdir}/pkgconfig/gbm.pc ${includedir}/gbm.h ${libdir}/libgbm${SOLIBSDEV}"
+FILES_libgbm-imx_mx8 = "${libdir}/libgbm*${REALSOLIBS} ${libdir}/libgbm${SOLIBSDEV} ${libdir}/libgbm_viv${SOLIBSDEV}"
+FILES_libgbm-imx-dev_mx8 = "${libdir}/pkgconfig/gbm.pc ${includedir}/gbm.h"
RDEPENDS_libgbm-imx_append_mx8 = " libdrm"
+INSANE_SKIP_libgbm-imx += "dev-so"
-FILES_libvulkan-imx = "${libdir}/libvulkan_VSI${SOLIBS} ${libdir}/libSPIRV_viv${SOLIBS}"
+FILES_libvulkan-imx = "${libdir}/libvulkan_VSI${REALSOLIBS} ${libdir}/libSPIRV_viv${SOLIBS}"
FILES_libvulkan-imx-dev = "${includedir}/vulkan ${libdir}/libvulkan_VSI${SOLIBSDEV}"
FILES_libopenvx-imx = " \
- ${libdir}/libOpenVX*${SOLIBS} \
- ${libdir}/libOvx*${SOLIBS} \
- ${libdir}/libovx*${SOLIBS} \
- "
-FILES_libopenvx-imx-dev = "${includedir}/VX ${includedir}/OVXLIB"
+ ${libdir}/libOpenVX${REALSOLIBS} \
+ ${libdir}/libOpenVXC${SOLIBS} \
+ ${libdir}/libOpenVXU${SOLIBS} \
+ ${libdir}/libOvx*${SOLIBS} \
+ ${libdir}/libArchModelSw${SOLIBS} \
+"
+FILES_libopenvx-imx-dev = "${includedir}/VX ${libdir}/libOpenVX${SOLIBSDEV}"
RDEPENDS_libopenvx-imx = "libnn-imx"
FILES_libgl-imx = "${libdir}/libGL${REALSOLIBS}"
@@ -346,20 +333,18 @@ RDEPENDS_libgles2-imx-dev += "libgles3-imx-dev"
FILES_libglslc-imx = "${libdir}/libGLSLC${SOLIBS}"
FILES_libglslc-imx-dev = "${includedir}/CL ${libdir}/libGLSLC${SOLIBSDEV}"
-FILES_libopencl-imx = "${libdir}/libOpenCL${SOLIBS} \
+FILES_libopencl-imx = "${libdir}/libOpenCL${REALSOLIBS} \
${libdir}/libVivanteOpenCL${SOLIBS} \
${libdir}/libLLVM_viv${SOLIBS} \
${sysconfdir}/OpenCL/vendors/Vivante.icd"
FILES_libopencl-imx-dev = "${includedir}/CL ${libdir}/libOpenCL${SOLIBSDEV}"
RDEPENDS_libopencl-imx= "libclc-imx"
-INSANE_SKIP_libopenvg-imx += "dev-so"
-FILES_libopenvg-imx = "${libdir}/libOpenVG*${SOLIBS}"
+FILES_libopenvg-imx = "${libdir}/libOpenVG*${REALSOLIBS}"
FILES_libopenvg-imx-dev = "${includedir}/VG ${libdir}/libOpenVG*${SOLIBSDEV} ${libdir}/pkgconfig/vg.pc"
-FILES_libvdk-imx = "${libdir}/libVDK*${SOLIBS}"
+FILES_libvdk-imx = "${libdir}/libVDK*${REALSOLIBS}"
FILES_libvdk-imx-dev = "${includedir}/*vdk*.h ${libdir}/libVDK${SOLIBSDEV}"
-INSANE_SKIP_libvdk-imx += "dev-so"
FILES_libvivante-dri-imx = "${libdir}/dri/vivante_dri.so"
RDEPENDS_libvivante-dri-imx = "libdrm"