imx-gpu-viv: update recipes to 6.2.4-p1.2

- These have been taken from meta-fsl-bsp-release layer at branch
  'rocko-4.9.88-2.0.0_ga', SHA1 d65692ecb3a4.
- Old recipes have been removed.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>

https://jira.digi.com/browse/DEL-6029
This commit is contained in:
Hector Palacios 2018-06-14 16:01:44 +02:00
parent 105ab7a89b
commit 4fd4246dba
6 changed files with 64 additions and 53 deletions

View File

@ -5,7 +5,7 @@
DESCRIPTION = "GPU driver and apps for imx" DESCRIPTION = "GPU driver and apps for imx"
SECTION = "libs" SECTION = "libs"
LICENSE = "Proprietary" LICENSE = "Proprietary"
LIC_FILES_CHKSUM = "file://COPYING;md5=08fd295cce89b0a9c74b9b83ed74f671" LIC_FILES_CHKSUM = "file://COPYING;md5=75abe2fa1d16ca79f87cde926f05f72d"
DEPENDS += \ DEPENDS += \
"${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', \ "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', \
@ -14,7 +14,7 @@ DEPENDS += \
DEPENDS += \ DEPENDS += \
"${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libxcb libxshmfence libxxf86vm', \ "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libxcb libxshmfence libxxf86vm', \
'', d)}" '', d)}"
DEPENDS += "libdrm" DEPENDS_append_imxdrm = " libdrm wayland"
# imx-gpu-viv does not provide everything it needs to for virtual/libgl # imx-gpu-viv does not provide everything it needs to for virtual/libgl
# on x11 backend or on Wayland backend with XWayland support. # on x11 backend or on Wayland backend with XWayland support.
@ -38,9 +38,11 @@ EXTRA_PROVIDES_append_mx8 = " \
" "
PROVIDES += " \ PROVIDES += " \
imx-gpu-viv \ imx-gpu-viv \
libgal-imx \
virtual/egl \ virtual/egl \
virtual/libgal-x11 \
virtual/libopenvg \ virtual/libopenvg \
virtual/opencl-headers \
virtual/opencl-icd \
virtual/wayland-egl \ virtual/wayland-egl \
${EXTRA_PROVIDES} \ ${EXTRA_PROVIDES} \
" "
@ -54,7 +56,7 @@ inherit fsl-eula-unpack
SRC_URI = "${FSL_MIRROR}/${PN}-${PV}.bin;fsl-eula=true" SRC_URI = "${FSL_MIRROR}/${PN}-${PV}.bin;fsl-eula=true"
# Note : If you add a package here, to prevent a naming conflict see the python_anonymous() futher below # Note : If you add a package here, to prevent a naming conflict see the python_anonymous() futher below
PACKAGES =+ "libclc-imx libclc-imx-dev \ PACKAGES_1 = "libclc-imx libclc-imx-dev \
libgl-imx libgl-imx-dev \ libgl-imx libgl-imx-dev \
libgles-imx libgles-imx-dev \ libgles-imx libgles-imx-dev \
libgles2-imx libgles2-imx-dev \ libgles2-imx libgles2-imx-dev \
@ -67,8 +69,10 @@ PACKAGES =+ "libclc-imx libclc-imx-dev \
libgal-imx libgal-imx-dev \ libgal-imx libgal-imx-dev \
libvivante-dri-imx \ libvivante-dri-imx \
libvsc-imx \ libvsc-imx \
libgbm-imx libgbm-imx-dev \ "
libwayland-viv-imx libwayland-viv-imx-dev \ PACKAGES_2 = ""
PACKAGES_2_mx8 = "libgbm-imx libgbm-imx-dev"
PACKAGES_3 = "libwayland-viv-imx libwayland-viv-imx-dev \
libgc-wayland-protocol-imx libgc-wayland-protocol-imx-dev \ libgc-wayland-protocol-imx libgc-wayland-protocol-imx-dev \
libwayland-egl-imx-dev \ libwayland-egl-imx-dev \
imx-gpu-viv-tools \ imx-gpu-viv-tools \
@ -76,6 +80,7 @@ PACKAGES =+ "libclc-imx libclc-imx-dev \
libvulkan-imx libvulkan-imx-dev \ libvulkan-imx libvulkan-imx-dev \
libopenvx-imx libopenvx-imx-dev \ libopenvx-imx libopenvx-imx-dev \
" "
PACKAGES =+ "${PACKAGES_1} ${PACKAGES_2} ${PACKAGES_3}"
python __anonymous () { python __anonymous () {
has_vivante_kernel_driver_support = (d.getVar('MACHINE_HAS_VIVANTE_KERNEL_DRIVER_SUPPORT', True) or '0') has_vivante_kernel_driver_support = (d.getVar('MACHINE_HAS_VIVANTE_KERNEL_DRIVER_SUPPORT', True) or '0')
if has_vivante_kernel_driver_support != '1': if has_vivante_kernel_driver_support != '1':
@ -94,16 +99,15 @@ INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
REALSOLIBS := "${SOLIBS}" REALSOLIBS := "${SOLIBS}"
SOLIBS = "${SOLIBSDEV}" SOLIBS = "${SOLIBSDEV}"
# For the packages that make up the OpenGL interfaces, inject variables so that
# they don't get Debian-renamed (which would remove the -imx suffix).
#
# FIXME: All binaries lack GNU_HASH in elf binary but as we don't have
# the source we cannot fix it. Disable the insane check for now.
python __anonymous() { python __anonymous() {
# FIXME: All binaries lack GNU_HASH in elf binary but as we don't have
# the source we cannot fix it. Disable the insane check for now.
packages = d.getVar('PACKAGES', True).split() packages = d.getVar('PACKAGES', True).split()
for p in packages: for p in packages:
d.appendVar("INSANE_SKIP_%s" % p, " ldflags") d.appendVar("INSANE_SKIP_%s" % p, " ldflags")
# For the packages that make up the OpenGL interfaces, inject variables so that
# they don't get Debian-renamed (which would remove the -imx suffix).
for p in (("libegl", "libegl1"), ("libgl", "libgl1"), for p in (("libegl", "libegl1"), ("libgl", "libgl1"),
("libgles1", "libglesv1-cm1"), ("libgles2", "libglesv2-2"), ("libgles1", "libglesv1-cm1"), ("libgles2", "libglesv2-2"),
("libgles3",) , ("libvulkan",)): ("libgles3",) , ("libvulkan",)):
@ -131,8 +135,14 @@ IS_MX8_mx8 = "1"
PACKAGE_FP_TYPE = "hardfp" PACKAGE_FP_TYPE = "hardfp"
HAS_GPU3D = "false" HAS_GBM = "false"
HAS_GPU3D_imxgpu3d = "true" HAS_GBM_mx8 = "true"
# GLES 3.1 is supported for all i.MX 8
# GLES 3.2 is supported for i.MX 8QM only
GLES3_HEADER_REMOVALS = "gl31.h gl32.h"
GLES3_HEADER_REMOVALS_remove_mx8 = "gl31.h"
GLES3_HEADER_REMOVALS_remove_mx8qm = "gl32.h"
do_install () { do_install () {
install -d ${D}${libdir} install -d ${D}${libdir}
@ -144,9 +154,11 @@ do_install () {
cp -r ${S}/gpu-demos/opt ${D} cp -r ${S}/gpu-demos/opt ${D}
cp -r ${S}/gpu-tools/gmem-info/usr/bin/* ${D}${bindir} cp -r ${S}/gpu-tools/gmem-info/usr/bin/* ${D}${bindir}
# Use vulkan header from vulkan recipe to support vkmark
rm -rf ${D}${includedir}/vulkan/vulkan.h
install -d ${D}${libdir}/pkgconfig install -d ${D}${libdir}/pkgconfig
if ${HAS_GPU3D}; then if ${HAS_GBM}; then
install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/gbm.pc ${D}${libdir}/pkgconfig/gbm.pc install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/gbm.pc ${D}${libdir}/pkgconfig/gbm.pc
fi fi
@ -159,9 +171,9 @@ do_install () {
install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/glesv1_cm.pc ${D}${libdir}/pkgconfig/glesv1_cm.pc install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/glesv1_cm.pc ${D}${libdir}/pkgconfig/glesv1_cm.pc
install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/glesv2.pc ${D}${libdir}/pkgconfig/glesv2.pc install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/glesv2.pc ${D}${libdir}/pkgconfig/glesv2.pc
install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/vg.pc ${D}${libdir}/pkgconfig/vg.pc install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/vg.pc ${D}${libdir}/pkgconfig/vg.pc
install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/gc_wayland_protocol.pc ${D}${libdir}/pkgconfig/gc_wayland_protocol.pc #install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/gc_wayland_protocol.pc ${D}${libdir}/pkgconfig/gc_wayland_protocol.pc
install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/wayland-egl.pc ${D}${libdir}/pkgconfig/wayland-egl.pc install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/wayland-egl.pc ${D}${libdir}/pkgconfig/wayland-egl.pc
install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/wayland-viv.pc ${D}${libdir}/pkgconfig/wayland-viv.pc #install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/wayland-viv.pc ${D}${libdir}/pkgconfig/wayland-viv.pc
if [ "${USE_X11}" = "yes" ]; then if [ "${USE_X11}" = "yes" ]; then
@ -207,7 +219,16 @@ do_install () {
ln -sf libEGL.so.1.0 ${D}${libdir}/libEGL.so.1 ln -sf libEGL.so.1.0 ${D}${libdir}/libEGL.so.1
ln -sf libEGL.so.1.0 ${D}${libdir}/libEGL.so ln -sf libEGL.so.1.0 ${D}${libdir}/libEGL.so
mv ${D}${libdir}/libGAL-${backend}.so ${D}${libdir}/libGAL.so mv ${D}${libdir}/libGAL-${backend}.so ${D}${libdir}/libGAL.so
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 mv ${D}${libdir}/libVDK-${backend}.so ${D}${libdir}/libVDK.so
fi
# update libglesv2 as backend dependent # update libglesv2 as backend dependent
rm -rf ${D}${libdir}/libGLESv2* rm -rf ${D}${libdir}/libGLESv2*
@ -223,6 +244,9 @@ do_install () {
install -d ${D}${libdir}/vulkan install -d ${D}${libdir}/vulkan
mv ${D}${libdir}/libvulkan-${backend}.so ${D}${libdir}/vulkan/libvulkan_VSI.so mv ${D}${libdir}/libvulkan-${backend}.so ${D}${libdir}/vulkan/libvulkan_VSI.so
fi fi
for header in ${GLES3_HEADER_REMOVALS}; do
rm -f ${D}${includedir}/GLES3/${header}
done
# skip packaging wayland libraries if no support is requested # skip packaging wayland libraries if no support is requested
if [ "${USE_WL}" = "no" ]; then if [ "${USE_WL}" = "no" ]; then
@ -274,7 +298,7 @@ FILES_libclc-imx-dev = "${includedir}/CL ${libdir}/libCLC${SOLIBSDEV}"
INSANE_SKIP_libegl-imx += "dev-so" INSANE_SKIP_libegl-imx += "dev-so"
FILES_libegl-imx = "${libdir}/libEGL${REALSOLIBS} ${libdir}/libEGL${SOLIBSDEV} " FILES_libegl-imx = "${libdir}/libEGL${REALSOLIBS} ${libdir}/libEGL${SOLIBSDEV} "
FILES_libegl-imx-dev = "${includedir}/EGL ${includedir}/KHR ${libdir}/pkgconfig/egl.pc" FILES_libegl-imx-dev = "${includedir}/EGL ${includedir}/KHR ${libdir}/pkgconfig/egl.pc"
RDEPENDS_libegl-imx += "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'libgc-wayland-protocol-imx libwayland-viv-imx libgc-wayland-protocol-imx', '', d)}" #RDEPENDS_libegl-imx += "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'libgc-wayland-protocol-imx libwayland-viv-imx libgc-wayland-protocol-imx', '', d)}"
RDEPENDS_libegl-imx-dev += "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'libwayland-egl-imx-dev', '', d)}" RDEPENDS_libegl-imx-dev += "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'libwayland-egl-imx-dev', '', d)}"
FILES_libgal-imx = "${libdir}/libGAL${SOLIBS} ${libdir}/libGAL_egl${SOLIBS}" FILES_libgal-imx = "${libdir}/libGAL${SOLIBS} ${libdir}/libGAL_egl${SOLIBS}"
@ -285,9 +309,9 @@ INSANE_SKIP_libgal-imx += "build-deps"
FILES_libvsc-imx = "${libdir}/libVSC${SOLIBS}" FILES_libvsc-imx = "${libdir}/libVSC${SOLIBS}"
FILES_libgbm-imx = "${libdir}/libgbm${SOLIBS} ${libdir}/gbm_viv${SOLIBS}" FILES_libgbm-imx_mx8 = "${libdir}/libgbm${SOLIBS} ${libdir}/gbm_viv${SOLIBS}"
FILES_libgbm-imx-dev = "${libdir}/pkgconfig/gbm.pc ${includedir}/gbm.h ${libdir}/libgbm${SOLIBSDEV}" FILES_libgbm-imx-dev_mx8 = "${libdir}/pkgconfig/gbm.pc ${includedir}/gbm.h ${libdir}/libgbm${SOLIBSDEV}"
RDEPENDS_libgbm-imx += "libdrm" RDEPENDS_libgbm-imx_append_mx8 = " libdrm"
FILES_libvulkan-imx = "${libdir}/vulkan/libvulkan_VSI${SOLIBS}" FILES_libvulkan-imx = "${libdir}/vulkan/libvulkan_VSI${SOLIBS}"
FILES_libvulkan-imx-dev = "${includedir}/vulkan ${libdir}/vulkan/libvulkan_VSI${SOLIBSDEV}" FILES_libvulkan-imx-dev = "${includedir}/vulkan ${libdir}/vulkan/libvulkan_VSI${SOLIBSDEV}"
@ -331,8 +355,9 @@ FILES_libopenvg-imx = "${libdir}/libOpenVG*${SOLIBS}"
FILES_libopenvg-imx-dev = "${includedir}/VG ${libdir}/libOpenVG*${SOLIBSDEV} ${libdir}/pkgconfig/vg.pc" FILES_libopenvg-imx-dev = "${includedir}/VG ${libdir}/libOpenVG*${SOLIBSDEV} ${libdir}/pkgconfig/vg.pc"
RDEPENDS_libopenvg-imx += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd-gpuconfig', '', d)}" RDEPENDS_libopenvg-imx += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd-gpuconfig', '', d)}"
FILES_libvdk-imx = "${libdir}/libVDK${SOLIBS}" FILES_libvdk-imx = "${libdir}/libVDK*${SOLIBS}"
FILES_libvdk-imx-dev = "${includedir}/*vdk*.h ${libdir}/libVDK${SOLIBSDEV}" 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" FILES_libvivante-dri-imx = "${libdir}/dri/vivante_dri.so"
RDEPENDS_libvivante-dri-imx = "libdrm" RDEPENDS_libvivante-dri-imx = "libdrm"
@ -340,7 +365,7 @@ RDEPENDS_libvivante-dri-imx = "libdrm"
INSANE_SKIP_libwayland-viv-imx += "dev-so" INSANE_SKIP_libwayland-viv-imx += "dev-so"
FILES_libwayland-viv-imx = "${libdir}/libwayland-viv${REALSOLIBS} ${libdir}/libwayland-viv${SOLIBS}" FILES_libwayland-viv-imx = "${libdir}/libwayland-viv${REALSOLIBS} ${libdir}/libwayland-viv${SOLIBS}"
FILES_libwayland-viv-imx-dev = "${includedir}/wayland-viv ${libdir})/libwayland-viv${SOLIBSDEV} ${libdir}/pkgconfig/wayland-viv.pc" FILES_libwayland-viv-imx-dev = "${includedir}/wayland-viv ${libdir})/libwayland-viv${SOLIBSDEV} ${libdir}/pkgconfig/wayland-viv.pc"
RPROVIDES_libwayland-viv-imx += "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'xf86-video-imxfb-vivante', '', d)}" RPROVIDES_libwayland-viv-imx += "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'xf86-video-imx-vivante', '', d)}"
INSANE_SKIP_libgc-wayland-protocol-imx += "dev-so" INSANE_SKIP_libgc-wayland-protocol-imx += "dev-so"
FILES_libgc-wayland-protocol-imx = "${libdir}/libgc_wayland_protocol${REALSOLIBS} ${libdir}/libgc_wayland_protocol${SOLIBS}" FILES_libgc-wayland-protocol-imx = "${libdir}/libgc_wayland_protocol${REALSOLIBS} ${libdir}/libgc_wayland_protocol${SOLIBS}"
@ -352,3 +377,5 @@ FILES_imx-gpu-viv-tools = "${bindir}/gmem_info"
FILES_imx-gpu-viv-demos = "/opt" FILES_imx-gpu-viv-demos = "/opt"
INSANE_SKIP_imx-gpu-viv-demos += "rpaths dev-deps" INSANE_SKIP_imx-gpu-viv-demos += "rpaths dev-deps"
# COMPATIBLE_MACHINE = "(mx6q|mx6dl|mx6sx|mx6sl|mx8)"

View File

@ -1,16 +0,0 @@
# Copyright (C) 2013-2016 Freescale Semiconductor
# Copyright 2017 NXP
# Released under the MIT license (see COPYING.MIT for the terms)
require recipes-graphics/imx-gpu-viv/imx-gpu-viv-v6.inc
SRC_URI = "${FSL_MIRROR}/${PN}-${PV}.bin;fsl-eula=true"
S="${WORKDIR}/${PN}-${PV}"
SRC_URI[md5sum] = "7d43f73b8bc0c1c442587f819218a1d5"
SRC_URI[sha256sum] = "4f93a4412c93ca5959aa2437bfed2ecbaf983b5b272be5977f76a967de5db150"
PACKAGE_FP_TYPE = "hardfp"
COMPATIBLE_MACHINE = "(mx6q|mx6dl|mx6sx|mx6sl|mx7ulp)"

View File

@ -1,6 +0,0 @@
require imx-gpu-viv-v6.inc
SRC_URI[md5sum] = "4b141f4d748405fa555d167e7ec666a7"
SRC_URI[sha256sum] = "fa76426aa7515a414146a9db51d1a499b3cc694b731e8951b89f4b8368f32e38"
COMPATIBLE_MACHINE = "(mx6q|mx6dl|mx6sx|mx6sl|mx7ulp)"

View File

@ -1,6 +0,0 @@
require imx-gpu-viv-v6.inc
SRC_URI[md5sum] = "46b311f0a963e4b443eca248a80d1167"
SRC_URI[sha256sum] = "3699d60b13558735f6f6575c95a799ec75e8439d555feba87801eeb63ad11b1b"
COMPATIBLE_MACHINE = "(mx8)"

View File

@ -0,0 +1,6 @@
require imx-gpu-viv-v6.inc
SRC_URI[md5sum] = "280990aab8dee2ee9ce508cbf0d6833f"
SRC_URI[sha256sum] = "dddadd164bede4793409ccfb636324dd73862c33458db66a5860f126bada25dc"
COMPATIBLE_MACHINE = "(mx6q|mx6dl|mx6sx|mx6sl|mx7ulp)"

View File

@ -0,0 +1,6 @@
require imx-gpu-viv-v6.inc
SRC_URI[md5sum] = "28ef177f53be40c738f46018cebf055c"
SRC_URI[sha256sum] = "27ed3f58681cef18f87ea20946cc89b2cef4848006064303d20583e6ed7aeec7"
COMPATIBLE_MACHINE = "(mx8)"