diff options
| -rw-r--r-- | recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc | 70 | ||||
| -rw-r--r-- | recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.2.4.p1.2-aarch32.bb (renamed from recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.2.2.p0-aarch32.bb) | 4 |
2 files changed, 53 insertions, 21 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 b6f5f24ea..f47bd9738 100644 --- a/recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc +++ b/recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc | |||
| @@ -1,11 +1,11 @@ | |||
| 1 | # Copyright (C) 2012-2016 Freescale Semiconductor | 1 | # Copyright (C) 2012-2016 Freescale Semiconductor |
| 2 | # Copyright (C) 2012-2016 O.S. Systems Software LTDA. | 2 | # Copyright (C) 2012-2018 O.S. Systems Software LTDA. |
| 3 | # Released under the MIT license (see COPYING.MIT for the terms) | 3 | # Released under the MIT license (see COPYING.MIT for the terms) |
| 4 | 4 | ||
| 5 | DESCRIPTION = "GPU driver and apps for i.MX" | 5 | DESCRIPTION = "GPU driver and apps for i.MX" |
| 6 | SECTION = "libs" | 6 | SECTION = "libs" |
| 7 | LICENSE = "Proprietary" | 7 | LICENSE = "Proprietary" |
| 8 | LIC_FILES_CHKSUM = "file://COPYING;md5=08fd295cce89b0a9c74b9b83ed74f671" | 8 | LIC_FILES_CHKSUM = "file://COPYING;md5=75abe2fa1d16ca79f87cde926f05f72d" |
| 9 | 9 | ||
| 10 | DEPENDS += " \ | 10 | DEPENDS += " \ |
| 11 | ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', \ | 11 | ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', \ |
| @@ -13,6 +13,10 @@ DEPENDS += " \ | |||
| 13 | '', d), d)} \ | 13 | '', d), d)} \ |
| 14 | " | 14 | " |
| 15 | DEPENDS += "libdrm" | 15 | DEPENDS += "libdrm" |
| 16 | DEPENDS += " \ | ||
| 17 | ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libxcb libxshmfence libxxf86vm', \ | ||
| 18 | '', d)} \ | ||
| 19 | " | ||
| 16 | 20 | ||
| 17 | # imx-gpu-viv does not provide everything it needs to for virtual/libgl | 21 | # imx-gpu-viv does not provide everything it needs to for virtual/libgl |
| 18 | # on x11 backend or on Wayland backend with XWayland support. | 22 | # on x11 backend or on Wayland backend with XWayland support. |
| @@ -20,9 +24,23 @@ DEPENDS += "libdrm" | |||
| 20 | DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'mesa', '', d)}" | 24 | DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'mesa', '', d)}" |
| 21 | 25 | ||
| 22 | EXTRA_PROVIDES = "" | 26 | EXTRA_PROVIDES = "" |
| 23 | EXTRA_PROVIDES_append_imxgpu3d = " virtual/libgl virtual/libgles1 virtual/libgles2" | 27 | EXTRA_PROVIDES_append_imxgpu3d = " \ |
| 24 | EXTRA_PROVIDES_append_mx6q = " virtual/opencl-icd opencl-headers" | 28 | virtual/libgl \ |
| 25 | PROVIDES += "imx-gpu-viv virtual/wayland-egl virtual/libgal-x11 virtual/egl virtual/libopenvg ${EXTRA_PROVIDES}" | 29 | virtual/libgles1 \ |
| 30 | virtual/libgles2 \ | ||
| 31 | " | ||
| 32 | " | ||
| 33 | PROVIDES += " \ | ||
| 34 | imx-gpu-viv \ | ||
| 35 | virtual/libgal-x11 \ | ||
| 36 | opencl-headers \ | ||
| 37 | virtual/egl \ | ||
| 38 | virtual/libopenvg \ | ||
| 39 | virtual/opencl-headers \ | ||
| 40 | virtual/opencl-icd \ | ||
| 41 | virtual/wayland-egl \ | ||
| 42 | ${EXTRA_PROVIDES} \ | ||
| 43 | " | ||
| 26 | 44 | ||
| 27 | RPROVIDES_${PN}_imxgpu3d += "imx-gpu-viv" | 45 | RPROVIDES_${PN}_imxgpu3d += "imx-gpu-viv" |
| 28 | 46 | ||
| @@ -73,16 +91,15 @@ INHIBIT_PACKAGE_DEBUG_SPLIT = "1" | |||
| 73 | REALSOLIBS := "${SOLIBS}" | 91 | REALSOLIBS := "${SOLIBS}" |
| 74 | SOLIBS = "${SOLIBSDEV}" | 92 | SOLIBS = "${SOLIBSDEV}" |
| 75 | 93 | ||
| 76 | # For the packages that make up the OpenGL interfaces, inject variables so that | ||
| 77 | # they don't get Debian-renamed (which would remove the -imx suffix). | ||
| 78 | # | ||
| 79 | # FIXME: All binaries lack GNU_HASH in elf binary but as we don't have | ||
| 80 | # the source we cannot fix it. Disable the insane check for now. | ||
| 81 | python __anonymous() { | 94 | python __anonymous() { |
| 95 | # FIXME: All binaries lack GNU_HASH in elf binary but as we don't have | ||
| 96 | # the source we cannot fix it. Disable the insane check for now. | ||
| 82 | packages = d.getVar('PACKAGES', True).split() | 97 | packages = d.getVar('PACKAGES', True).split() |
| 83 | for p in packages: | 98 | for p in packages: |
| 84 | d.appendVar("INSANE_SKIP_%s" % p, " ldflags") | 99 | d.appendVar("INSANE_SKIP_%s" % p, " ldflags") |
| 85 | 100 | ||
| 101 | # For the packages that make up the OpenGL interfaces, inject variables so that | ||
| 102 | # they don't get Debian-renamed (which would remove the -imx suffix). | ||
| 86 | for p in (("libegl", "libegl1"), ("libgl", "libgl1"), | 103 | for p in (("libegl", "libegl1"), ("libgl", "libgl1"), |
| 87 | ("libgles1", "libglesv1-cm1"), ("libgles2", "libglesv2-2"), | 104 | ("libgles1", "libglesv1-cm1"), ("libgles2", "libglesv2-2"), |
| 88 | ("libgles3",) , ("libvulkan",)): | 105 | ("libgles3",) , ("libvulkan",)): |
| @@ -105,6 +122,10 @@ python __anonymous() { | |||
| 105 | IS_MX6SL = "0" | 122 | IS_MX6SL = "0" |
| 106 | IS_MX6SL_mx6sl = "1" | 123 | IS_MX6SL_mx6sl = "1" |
| 107 | 124 | ||
| 125 | PACKAGE_FP_TYPE = "hardfp" | ||
| 126 | |||
| 127 | GLES3_HEADER_REMOVALS = "gl31.h gl32.h" | ||
| 128 | |||
| 108 | do_install () { | 129 | do_install () { |
| 109 | install -d ${D}${libdir} | 130 | install -d ${D}${libdir} |
| 110 | install -d ${D}${includedir} | 131 | install -d ${D}${includedir} |
| @@ -115,6 +136,8 @@ do_install () { | |||
| 115 | cp -r ${S}/gpu-demos/opt ${D} | 136 | cp -r ${S}/gpu-demos/opt ${D} |
| 116 | cp -r ${S}/gpu-tools/gmem-info/usr/bin/* ${D}${bindir} | 137 | cp -r ${S}/gpu-tools/gmem-info/usr/bin/* ${D}${bindir} |
| 117 | 138 | ||
| 139 | # Use vulkan header from vulkan recipe to support vkmark | ||
| 140 | rm -rf ${D}${includedir}/vulkan/vulkan.h | ||
| 118 | 141 | ||
| 119 | install -d ${D}${libdir}/pkgconfig | 142 | install -d ${D}${libdir}/pkgconfig |
| 120 | 143 | ||
| @@ -127,10 +150,6 @@ do_install () { | |||
| 127 | install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/glesv1_cm.pc ${D}${libdir}/pkgconfig/glesv1_cm.pc | 150 | install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/glesv1_cm.pc ${D}${libdir}/pkgconfig/glesv1_cm.pc |
| 128 | install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/glesv2.pc ${D}${libdir}/pkgconfig/glesv2.pc | 151 | install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/glesv2.pc ${D}${libdir}/pkgconfig/glesv2.pc |
| 129 | install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/vg.pc ${D}${libdir}/pkgconfig/vg.pc | 152 | install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/vg.pc ${D}${libdir}/pkgconfig/vg.pc |
| 130 | install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/gc_wayland_protocol.pc ${D}${libdir}/pkgconfig/gc_wayland_protocol.pc | ||
| 131 | install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/wayland-egl.pc ${D}${libdir}/pkgconfig/wayland-egl.pc | ||
| 132 | install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/wayland-viv.pc ${D}${libdir}/pkgconfig/wayland-viv.pc | ||
| 133 | install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/gbm.pc ${D}${libdir}/pkgconfig/gbm.pc | ||
| 134 | 153 | ||
| 135 | if [ "${USE_X11}" = "yes" ]; then | 154 | if [ "${USE_X11}" = "yes" ]; then |
| 136 | 155 | ||
| @@ -176,7 +195,16 @@ do_install () { | |||
| 176 | ln -sf libEGL.so.1.0 ${D}${libdir}/libEGL.so.1 | 195 | ln -sf libEGL.so.1.0 ${D}${libdir}/libEGL.so.1 |
| 177 | ln -sf libEGL.so.1.0 ${D}${libdir}/libEGL.so | 196 | ln -sf libEGL.so.1.0 ${D}${libdir}/libEGL.so |
| 178 | mv ${D}${libdir}/libGAL-${backend}.so ${D}${libdir}/libGAL.so | 197 | mv ${D}${libdir}/libGAL-${backend}.so ${D}${libdir}/libGAL.so |
| 179 | mv ${D}${libdir}/libVDK-${backend}.so ${D}${libdir}/libVDK.so | 198 | if [ "${USE_WL}" = "yes" ]; then |
| 199 | # Special case for libVDK on Wayland backend, deliver fb library as well. | ||
| 200 | # Need to rename the libraries to avoid the code below that will remove | ||
| 201 | # *-fb.so and *-wl.so | ||
| 202 | mv ${D}${libdir}/libVDK-fb.so ${D}${libdir}/libVDK-framebuffer.so | ||
| 203 | mv ${D}${libdir}/libVDK-wl.so ${D}${libdir}/libVDK-wayland.so | ||
| 204 | ln -sf libVDK-wayland.so ${D}${libdir}/libVDK.so | ||
| 205 | else | ||
| 206 | mv ${D}${libdir}/libVDK-${backend}.so ${D}${libdir}/libVDK.so | ||
| 207 | fi | ||
| 180 | 208 | ||
| 181 | # update libglesv2 as backend dependent | 209 | # update libglesv2 as backend dependent |
| 182 | rm -rf ${D}${libdir}/libGLESv2* | 210 | rm -rf ${D}${libdir}/libGLESv2* |
| @@ -184,10 +212,14 @@ do_install () { | |||
| 184 | ln -sf libGLESv2.so.2.0.0 ${D}${libdir}/libGLESv2.so.2 | 212 | ln -sf libGLESv2.so.2.0.0 ${D}${libdir}/libGLESv2.so.2 |
| 185 | ln -sf libGLESv2.so.2.0.0 ${D}${libdir}/libGLESv2.so | 213 | ln -sf libGLESv2.so.2.0.0 ${D}${libdir}/libGLESv2.so |
| 186 | 214 | ||
| 215 | for header in ${GLES3_HEADER_REMOVALS}; do | ||
| 216 | rm -f ${D}${includedir}/GLES3/${header} | ||
| 217 | done | ||
| 218 | |||
| 187 | # skip packaging wayland libraries if no support is requested | 219 | # skip packaging wayland libraries if no support is requested |
| 188 | if [ "${USE_WL}" = "no" ]; then | 220 | if [ "${USE_WL}" = "no" ]; then |
| 189 | rm ${D}${libdir}/libgc_wayland_protocol.* | 221 | find ${D}${libdir} -name "libgc_wayland_protocol.*" -exec rm '{}' ';' |
| 190 | rm ${D}${libdir}/libwayland-viv.* | 222 | find ${D}${libdir} -name "libwayland-viv.*" -exec rm '{}' ';' |
| 191 | fi | 223 | fi |
| 192 | 224 | ||
| 193 | for i in wl x11 fb dri; do | 225 | for i in wl x11 fb dri; do |
| @@ -234,7 +266,6 @@ FILES_libclc-imx-dev = "${includedir}/CL ${libdir}/libCLC${SOLIBSDEV}" | |||
| 234 | INSANE_SKIP_libegl-imx += "dev-so" | 266 | INSANE_SKIP_libegl-imx += "dev-so" |
| 235 | FILES_libegl-imx = "${libdir}/libEGL${REALSOLIBS} ${libdir}/libEGL${SOLIBSDEV} " | 267 | FILES_libegl-imx = "${libdir}/libEGL${REALSOLIBS} ${libdir}/libEGL${SOLIBSDEV} " |
| 236 | FILES_libegl-imx-dev = "${includedir}/EGL ${includedir}/KHR ${libdir}/pkgconfig/egl.pc" | 268 | FILES_libegl-imx-dev = "${includedir}/EGL ${includedir}/KHR ${libdir}/pkgconfig/egl.pc" |
| 237 | RDEPENDS_libegl-imx += "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'libgc-wayland-protocol-imx libwayland-viv-imx libgc-wayland-protocol-imx', '', d)}" | ||
| 238 | RDEPENDS_libegl-imx-dev += "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'libwayland-egl-imx-dev', '', d)}" | 269 | RDEPENDS_libegl-imx-dev += "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'libwayland-egl-imx-dev', '', d)}" |
| 239 | 270 | ||
| 240 | FILES_libgal-imx = "${libdir}/libGAL${SOLIBS} ${libdir}/libGAL_egl${SOLIBS}" | 271 | FILES_libgal-imx = "${libdir}/libGAL${SOLIBS} ${libdir}/libGAL_egl${SOLIBS}" |
| @@ -290,8 +321,9 @@ INSANE_SKIP_libopenvg-imx += "dev-so" | |||
| 290 | FILES_libopenvg-imx = "${libdir}/libOpenVG*${SOLIBS}" | 321 | FILES_libopenvg-imx = "${libdir}/libOpenVG*${SOLIBS}" |
| 291 | FILES_libopenvg-imx-dev = "${includedir}/VG ${libdir}/libOpenVG*${SOLIBSDEV} ${libdir}/pkgconfig/vg.pc" | 322 | FILES_libopenvg-imx-dev = "${includedir}/VG ${libdir}/libOpenVG*${SOLIBSDEV} ${libdir}/pkgconfig/vg.pc" |
| 292 | 323 | ||
| 293 | FILES_libvdk-imx = "${libdir}/libVDK${SOLIBS}" | 324 | FILES_libvdk-imx = "${libdir}/libVDK*${SOLIBS}" |
| 294 | FILES_libvdk-imx-dev = "${includedir}/*vdk*.h ${libdir}/libVDK${SOLIBSDEV}" | 325 | FILES_libvdk-imx-dev = "${includedir}/*vdk*.h ${libdir}/libVDK${SOLIBSDEV}" |
| 326 | INSANE_SKIP_libvdk-imx += "dev-so" | ||
| 295 | 327 | ||
| 296 | FILES_libvivante-dri-imx = "${libdir}/dri/vivante_dri.so" | 328 | FILES_libvivante-dri-imx = "${libdir}/dri/vivante_dri.so" |
| 297 | RDEPENDS_libvivante-dri-imx = "libdrm" | 329 | RDEPENDS_libvivante-dri-imx = "libdrm" |
diff --git a/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.2.2.p0-aarch32.bb b/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.2.4.p1.2-aarch32.bb index 9f3b7cc12..05004570a 100644 --- a/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.2.2.p0-aarch32.bb +++ b/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.2.4.p1.2-aarch32.bb | |||
| @@ -4,8 +4,8 @@ | |||
| 4 | 4 | ||
| 5 | require recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc | 5 | require recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc |
| 6 | 6 | ||
| 7 | SRC_URI[md5sum] = "7d43f73b8bc0c1c442587f819218a1d5" | 7 | SRC_URI[md5sum] = "280990aab8dee2ee9ce508cbf0d6833f" |
| 8 | SRC_URI[sha256sum] = "4f93a4412c93ca5959aa2437bfed2ecbaf983b5b272be5977f76a967de5db150" | 8 | SRC_URI[sha256sum] = "dddadd164bede4793409ccfb636324dd73862c33458db66a5860f126bada25dc" |
| 9 | 9 | ||
| 10 | PACKAGE_FP_TYPE = "hardfp" | 10 | PACKAGE_FP_TYPE = "hardfp" |
| 11 | 11 | ||
