From 15b9296f924461ddf115e241852736a0191b6298 Mon Sep 17 00:00:00 2001 From: Hector Palacios Date: Thu, 31 May 2018 17:24:55 +0200 Subject: [PATCH] imx-gpu-viv: upgrade to version 6.2.4 and add support for ConnectCore 8X This is taken from meta-fsl-bsp-release layer at bb80ba5a0104. The file had a few commented lines for Wayland that have been uncommented to leave them untouched in the commit. Signed-off-by: Hector Palacios https://jira.digi.com/browse/DEL-5937 --- .../recipes-graphics/drm/libdrm_%.bbappend | 18 ++++ .../imx-gpu-viv/imx-gpu-viv-v6.inc | 93 ++++++++++++------- .../imx-gpu-viv_6.2.4.p0-aarch32.bb | 6 ++ .../imx-gpu-viv_6.2.4.p0-aarch64.bb | 6 ++ 4 files changed, 90 insertions(+), 33 deletions(-) create mode 100644 meta-digi-dey/recipes-graphics/drm/libdrm_%.bbappend create mode 100644 meta-digi-dey/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.2.4.p0-aarch32.bb create mode 100644 meta-digi-dey/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.2.4.p0-aarch64.bb diff --git a/meta-digi-dey/recipes-graphics/drm/libdrm_%.bbappend b/meta-digi-dey/recipes-graphics/drm/libdrm_%.bbappend new file mode 100644 index 000000000..493170072 --- /dev/null +++ b/meta-digi-dey/recipes-graphics/drm/libdrm_%.bbappend @@ -0,0 +1,18 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" + +IMX_LIBDRM_SRC ?= "git://source.codeaurora.org/external/imx/libdrm-imx.git;protocol=https" +IMX_LIBDRM_BRANCH = "libdrm-imx-2.4.84" +SRC_URI_remove_imxgpu = "http://dri.freedesktop.org/libdrm/${BP}.tar.bz2" +SRC_URI_remove_mx8 = "file://drm-update-arm.patch" +SRC_URI_prepend_imxgpu = "${IMX_LIBDRM_SRC};branch=${IMX_LIBDRM_BRANCH} " +SRCREV_imxgpu = "5ea2086676129226753e186ad2521ff360444416" + +S_imxgpu = "${WORKDIR}/git" + +EXTRA_OECONF_append_imxgpu = " --enable-vivante-experimental-api" + +PACKAGES_prepend_imxgpu = "${PN}-vivante " + +RRECOMMENDS_${PN}-drivers_append_imxgpu = " ${PN}-vivante" + +FILES_${PN}-vivante = "${libdir}/libdrm_vivante.so.*" diff --git a/meta-digi-dey/recipes-graphics/imx-gpu-viv/imx-gpu-viv-v6.inc b/meta-digi-dey/recipes-graphics/imx-gpu-viv/imx-gpu-viv-v6.inc index d7716601d..9fc9ac201 100644 --- a/meta-digi-dey/recipes-graphics/imx-gpu-viv/imx-gpu-viv-v6.inc +++ b/meta-digi-dey/recipes-graphics/imx-gpu-viv/imx-gpu-viv-v6.inc @@ -7,11 +7,13 @@ SECTION = "libs" LICENSE = "Proprietary" LIC_FILES_CHKSUM = "file://COPYING;md5=08fd295cce89b0a9c74b9b83ed74f671" -DEPENDS += " \ - ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', \ - bb.utils.contains('DISTRO_FEATURES', 'x11', 'virtual/libx11 libxdamage libxext libxfixes', \ - '', d), d)} \ -" +DEPENDS += \ + "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', \ + bb.utils.contains('DISTRO_FEATURES', 'x11', 'virtual/libx11 libxdamage libxext libxfixes', \ + '', d), d)}" +DEPENDS += \ + "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libxcb libxshmfence libxxf86vm', \ + '', d)}" DEPENDS += "libdrm" # imx-gpu-viv does not provide everything it needs to for virtual/libgl @@ -20,10 +22,28 @@ DEPENDS += "libdrm" DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'mesa', '', d)}" EXTRA_PROVIDES = "" -EXTRA_PROVIDES_append_imxgpu3d = " virtual/libgl virtual/libgles1 virtual/libgles2" -EXTRA_PROVIDES_append_mx6q = " virtual/opencl-icd opencl-headers" -EXTRA_PROVIDES_append_mx8 = " virtual/opencl-icd opencl-headers virtual/libopenvx" -PROVIDES += "imx-gpu-viv virtual/wayland-egl virtual/libgal-x11 virtual/egl virtual/libopenvg ${EXTRA_PROVIDES}" +EXTRA_PROVIDES_append_imxgpu3d = " \ + virtual/libgl \ + virtual/libgles1 \ + virtual/libgles2 \ +" +EXTRA_PROVIDES_append_mx6q = " \ + virtual/opencl-icd \ + opencl-headers \ +" +EXTRA_PROVIDES_append_mx8 = " \ + virtual/libopenvx \ + virtual/opencl-icd \ + opencl-headers \ +" +PROVIDES += " \ + imx-gpu-viv \ + virtual/egl \ + virtual/libgal-x11 \ + virtual/libopenvg \ + virtual/wayland-egl \ + ${EXTRA_PROVIDES} \ +" RPROVIDES_${PN}_imxgpu3d += "imx-gpu-viv" @@ -35,26 +55,26 @@ 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 PACKAGES =+ "libclc-imx libclc-imx-dev \ - libgl-imx libgl-imx-dev \ - libgles-imx libgles-imx-dev \ - libgles2-imx libgles2-imx-dev \ - libgles3-imx-dev \ - libglslc-imx libglslc-imx-dev \ - libopencl-imx libopencl-imx-dev \ - libopenvg-imx libopenvg-imx-dev \ - libvdk-imx libvdk-imx-dev \ - libegl-imx libegl-imx-dev \ - libgal-imx libgal-imx-dev \ - libvivante-dri-imx \ - libvsc-imx \ - libgbm-imx libgbm-imx-dev \ - libwayland-viv-imx libwayland-viv-imx-dev \ - libgc-wayland-protocol-imx libgc-wayland-protocol-imx-dev \ - libwayland-egl-imx-dev \ - imx-gpu-viv-tools \ - imx-gpu-viv-demos \ - libvulkan-imx libvulkan-imx-dev \ - libopenvx-imx libopenvx-imx-dev \ + libgl-imx libgl-imx-dev \ + libgles-imx libgles-imx-dev \ + libgles2-imx libgles2-imx-dev \ + libgles3-imx-dev \ + libglslc-imx libglslc-imx-dev \ + libopencl-imx libopencl-imx-dev \ + libopenvg-imx libopenvg-imx-dev \ + libvdk-imx libvdk-imx-dev \ + libegl-imx libegl-imx-dev \ + libgal-imx libgal-imx-dev \ + libvivante-dri-imx \ + libvsc-imx \ + libgbm-imx libgbm-imx-dev \ + libwayland-viv-imx libwayland-viv-imx-dev \ + libgc-wayland-protocol-imx libgc-wayland-protocol-imx-dev \ + libwayland-egl-imx-dev \ + imx-gpu-viv-tools \ + imx-gpu-viv-demos \ + libvulkan-imx libvulkan-imx-dev \ + libopenvx-imx libopenvx-imx-dev \ " python __anonymous () { has_vivante_kernel_driver_support = (d.getVar('MACHINE_HAS_VIVANTE_KERNEL_DRIVER_SUPPORT', True) or '0') @@ -109,6 +129,11 @@ IS_MX6SL_mx6sl = "1" IS_MX8 = "0" IS_MX8_mx8 = "1" +PACKAGE_FP_TYPE = "hardfp" + +HAS_GPU3D = "false" +HAS_GPU3D_imxgpu3d = "true" + do_install () { install -d ${D}${libdir} install -d ${D}${includedir} @@ -121,6 +146,9 @@ do_install () { install -d ${D}${libdir}/pkgconfig + if ${HAS_GPU3D}; then + install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/gbm.pc ${D}${libdir}/pkgconfig/gbm.pc + fi # The preference order, based in DISTRO_FEATURES, is Wayland (with or without X11), X11 and fb if [ "${USE_WL}" = "yes" ]; then @@ -134,7 +162,6 @@ do_install () { 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-viv.pc ${D}${libdir}/pkgconfig/wayland-viv.pc - install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/gbm.pc ${D}${libdir}/pkgconfig/gbm.pc if [ "${USE_X11}" = "yes" ]; then @@ -199,8 +226,8 @@ do_install () { # skip packaging wayland libraries if no support is requested if [ "${USE_WL}" = "no" ]; then - rm ${D}${libdir}/libgc_wayland_protocol.* - rm ${D}${libdir}/libwayland-viv.* + find ${D}${libdir} -name "libgc_wayland_protocol.*" -exec rm '{}' ';' + find ${D}${libdir} -name "libwayland-viv.*" -exec rm '{}' ';' fi for i in wl x11 fb dri; do @@ -212,7 +239,7 @@ do_install () { if [ "${IS_MX6SL}" = "1" ]; then rm -rf ${D}${libdir}/libCLC* ${D}${includedir}/CL \ \ - ${D}${libdir}/libGL* ${D}${includedir}/GL* ${D}${libdir}/pkgconfig/gl.pc \ + ${D}${libdir}/libGL* ${D}${includedir}/GL* ${D}${libdir}/pkgconfig/gl.pc \ \ ${D}${libdir}/libGLES* ${D}${libdir}/pkgconfig/gles*.pc \ \ diff --git a/meta-digi-dey/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.2.4.p0-aarch32.bb b/meta-digi-dey/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.2.4.p0-aarch32.bb new file mode 100644 index 000000000..611ba7b1b --- /dev/null +++ b/meta-digi-dey/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.2.4.p0-aarch32.bb @@ -0,0 +1,6 @@ +require imx-gpu-viv-v6.inc + +SRC_URI[md5sum] = "4b141f4d748405fa555d167e7ec666a7" +SRC_URI[sha256sum] = "fa76426aa7515a414146a9db51d1a499b3cc694b731e8951b89f4b8368f32e38" + +COMPATIBLE_MACHINE = "(mx6q|mx6dl|mx6sx|mx6sl|mx7ulp)" diff --git a/meta-digi-dey/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.2.4.p0-aarch64.bb b/meta-digi-dey/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.2.4.p0-aarch64.bb new file mode 100644 index 000000000..569975b29 --- /dev/null +++ b/meta-digi-dey/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.2.4.p0-aarch64.bb @@ -0,0 +1,6 @@ +require imx-gpu-viv-v6.inc + +SRC_URI[md5sum] = "46b311f0a963e4b443eca248a80d1167" +SRC_URI[sha256sum] = "3699d60b13558735f6f6575c95a799ec75e8439d555feba87801eeb63ad11b1b" + +COMPATIBLE_MACHINE = "(mx8)"