diff options
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.inc | 91 |
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" |