diff options
Diffstat (limited to 'recipes-graphics/imx-gpu-viv')
5 files changed, 147 insertions, 107 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 3b05b2abd..e7d0188db 100644 --- a/recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc +++ b/recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc | |||
| @@ -3,18 +3,19 @@ | |||
| 3 | # Copyright 2017-2024 NXP | 3 | # Copyright 2017-2024 NXP |
| 4 | # Released under the MIT license (see COPYING.MIT for the terms) | 4 | # Released under the MIT license (see COPYING.MIT for the terms) |
| 5 | 5 | ||
| 6 | SUMMARY = "i.MX Vivante GPU driver" | ||
| 6 | DESCRIPTION = "GPU driver and apps for i.MX" | 7 | DESCRIPTION = "GPU driver and apps for i.MX" |
| 7 | HOMEPAGE = "https://www.nxp.com/" | 8 | HOMEPAGE = "https://www.nxp.com/" |
| 8 | SECTION = "libs" | 9 | SECTION = "libs" |
| 9 | LICENSE = "Proprietary" | 10 | LICENSE = "LicenseRef-Proprietary" |
| 10 | LIC_FILES_CHKSUM = "file://COPYING;md5=ea25d099982d035af85d193c88a1b479" | 11 | LIC_FILES_CHKSUM ?= "file://COPYING;md5=ea25d099982d035af85d193c88a1b479" |
| 11 | 12 | ||
| 12 | DEPENDS += " \ | 13 | DEPENDS += "\ |
| 13 | ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', \ | 14 | ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', \ |
| 14 | bb.utils.contains('DISTRO_FEATURES', 'x11', 'virtual/libx11 libxdamage libxext libxfixes', \ | 15 | bb.utils.contains('DISTRO_FEATURES', 'x11', 'virtual/libx11 libxdamage libxext libxfixes', \ |
| 15 | '', d), d)} \ | 16 | '', d), d)} \ |
| 16 | " | 17 | " |
| 17 | DEPENDS += " \ | 18 | DEPENDS += "\ |
| 18 | ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libxcb libxshmfence libxxf86vm', \ | 19 | ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libxcb libxshmfence libxxf86vm', \ |
| 19 | '', d)} \ | 20 | '', d)} \ |
| 20 | " | 21 | " |
| @@ -23,14 +24,14 @@ DEPENDS:append:mx8-nxp-bsp = " patchelf-native" | |||
| 23 | 24 | ||
| 24 | DEPENDS:append:libc-musl = " gcompat" | 25 | DEPENDS:append:libc-musl = " gcompat" |
| 25 | 26 | ||
| 26 | PROVIDES += " \ | 27 | PROVIDES += "\ |
| 27 | imx-gpu-viv \ | 28 | imx-gpu-viv \ |
| 28 | libgal-imx \ | 29 | libgal-imx \ |
| 29 | virtual/egl \ | 30 | virtual/egl \ |
| 30 | virtual/libopenvg \ | 31 | virtual/libopenvg \ |
| 31 | ${EXTRA_PROVIDES} \ | 32 | ${EXTRA_PROVIDES} \ |
| 32 | " | 33 | " |
| 33 | EXTRA_PROVIDES = " \ | 34 | EXTRA_PROVIDES = "\ |
| 34 | ${PROVIDES_OPENCL} \ | 35 | ${PROVIDES_OPENCL} \ |
| 35 | ${PROVIDES_OPENVX} \ | 36 | ${PROVIDES_OPENVX} \ |
| 36 | " | 37 | " |
| @@ -43,21 +44,21 @@ EXTRA_PROVIDES:append:mx8-nxp-bsp = " \ | |||
| 43 | virtual/libgbm \ | 44 | virtual/libgbm \ |
| 44 | " | 45 | " |
| 45 | 46 | ||
| 46 | PROVIDES_OPENCL = " \ | 47 | PROVIDES_OPENCL = "\ |
| 47 | opencl-headers \ | 48 | opencl-headers \ |
| 48 | opencl-clhpp \ | 49 | opencl-clhpp \ |
| 49 | opencl-icd-loader \ | 50 | opencl-icd-loader \ |
| 50 | virtual/libopencl1 \ | 51 | virtual/libopencl1 \ |
| 51 | " | 52 | " |
| 52 | PROVIDES_OPENCL:mx7-nxp-bsp = "" | 53 | PROVIDES_OPENCL:mx7-nxp-bsp = "" |
| 53 | PROVIDES_OPENCL:mx8mm-nxp-bsp = "" | 54 | PROVIDES_OPENCL:mx8mm-nxp-bsp = "" |
| 54 | 55 | ||
| 55 | # Note: OpenVX is fully supported on i.MX 8 QuadMax and 8 QuadPlus. | 56 | # Note: OpenVX is fully supported on i.MX 8 QuadMax and 8 QuadPlus. |
| 56 | # However, only limited support is provided on other i.MX 8 machines | 57 | # However, only limited support is provided on other i.MX 8 machines |
| 57 | # as needed for i.MX machine learning packages. | 58 | # as needed for i.MX machine learning packages. |
| 58 | PROVIDES_OPENVX = "" | 59 | PROVIDES_OPENVX = "" |
| 59 | PROVIDES_OPENVX:mx8-nxp-bsp = "virtual/libopenvx" | 60 | PROVIDES_OPENVX:mx8-nxp-bsp = "virtual/libopenvx" |
| 60 | PROVIDES_OPENVX:mx8mm-nxp-bsp = "" | 61 | PROVIDES_OPENVX:mx8mm-nxp-bsp = "" |
| 61 | 62 | ||
| 62 | RPROVIDES:${PN}:imxgpu3d += "imx-gpu-viv" | 63 | RPROVIDES:${PN}:imxgpu3d += "imx-gpu-viv" |
| 63 | 64 | ||
| @@ -65,7 +66,6 @@ PE = "1" | |||
| 65 | 66 | ||
| 66 | inherit fsl-eula-unpack | 67 | inherit fsl-eula-unpack |
| 67 | 68 | ||
| 68 | FILESEXTRAPATHS:append := "${THISDIR}/imx-gpu-viv:" | ||
| 69 | SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true" | 69 | SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true" |
| 70 | 70 | ||
| 71 | S = "${UNPACKDIR}/${BPN}-${PV}-${IMX_SRCREV_ABBREV}" | 71 | S = "${UNPACKDIR}/${BPN}-${PV}-${IMX_SRCREV_ABBREV}" |
| @@ -76,41 +76,47 @@ PACKAGECONFIG ?= "" | |||
| 76 | PACKAGECONFIG[valgrind] = "" | 76 | PACKAGECONFIG[valgrind] = "" |
| 77 | 77 | ||
| 78 | # Note : If you add a package here, to prevent a naming conflict see the python_anonymous() futher below | 78 | # Note : If you add a package here, to prevent a naming conflict see the python_anonymous() futher below |
| 79 | PACKAGES =+ " \ | 79 | PACKAGES =+ "\ |
| 80 | libgles1-imx libgles1-imx-dev \ | 80 | libgles1-imx libgles1-imx-dev \ |
| 81 | libgles2-imx libgles2-imx-dev \ | 81 | libgles2-imx libgles2-imx-dev \ |
| 82 | libgles3-imx-dev \ | 82 | libgles3-imx-dev \ |
| 83 | libglslc-imx libglslc-imx-dev \ | 83 | libglslc-imx libglslc-imx-dev \ |
| 84 | ${PACKAGES_OPENCL} \ | 84 | ${PACKAGES_OPENCL} \ |
| 85 | libopenvg-imx libopenvg-imx-dev \ | 85 | libopenvg-imx libopenvg-imx-dev \ |
| 86 | libvdk-imx libvdk-imx-dev \ | 86 | libvdk-imx libvdk-imx-dev \ |
| 87 | libegl-imx libegl-imx-dev \ | 87 | libegl-imx libegl-imx-dev \ |
| 88 | libgal-imx libgal-imx-dev \ | 88 | libgal-imx libgal-imx-dev \ |
| 89 | libvsc-imx \ | 89 | libvsc-imx \ |
| 90 | ${PACKAGES_GBM} \ | 90 | ${PACKAGES_GBM} \ |
| 91 | imx-gpu-viv-tools \ | 91 | imx-gpu-viv-tools \ |
| 92 | imx-gpu-viv-demos \ | 92 | imx-gpu-viv-demos \ |
| 93 | ${PACKAGES_VULKAN} \ | 93 | ${PACKAGES_VULKAN} \ |
| 94 | ${PACKAGES_OPENVX} \ | 94 | ${PACKAGES_OPENVX} \ |
| 95 | libnn-imx \ | 95 | libnn-imx \ |
| 96 | libspirv-imx \ | 96 | libspirv-imx \ |
| 97 | " | 97 | " |
| 98 | 98 | ||
| 99 | PACKAGES_GBM = "" | 99 | PACKAGES_GBM = "" |
| 100 | PACKAGES_GBM:mx8-nxp-bsp = "libgbm-imx libgbm-imx-dev" | 100 | PACKAGES_GBM:mx8-nxp-bsp = "libgbm-imx libgbm-imx-dev" |
| 101 | 101 | ||
| 102 | PACKAGES_OPENCL = "libclc-imx libopencl-imx libopencl-imx-dev" | 102 | PACKAGES_OPENCL = "libclc-imx libopencl-imx libopencl-imx-dev" |
| 103 | PACKAGES_OPENCL:mx7-nxp-bsp = "" | 103 | PACKAGES_OPENCL:mx7-nxp-bsp = "" |
| 104 | PACKAGES_OPENCL:mx8mm-nxp-bsp = "" | 104 | PACKAGES_OPENCL:mx8mm-nxp-bsp = "" |
| 105 | 105 | ||
| 106 | PACKAGES_OPENVX = \ | 106 | PACKAGES_OPENVX = "${@bb.utils.contains("PROVIDES_OPENVX", "virtual/libopenvx", \ |
| 107 | "${@bb.utils.contains("PROVIDES_OPENVX", "virtual/libopenvx", \ | 107 | "libopenvx-imx libopenvx-imx-dev", "", d)}" |
| 108 | "libopenvx-imx libopenvx-imx-dev", "", d)}" | ||
| 109 | 108 | ||
| 110 | PACKAGES_VULKAN = "" | 109 | PACKAGES_VULKAN = "" |
| 111 | PACKAGES_VULKAN:imxvulkan = "libvulkan-imx libvulkan-imx-dev" | 110 | PACKAGES_VULKAN:imxvulkan = "libvulkan-imx libvulkan-imx-dev" |
| 112 | PACKAGES_VULKAN:mx8mm-nxp-bsp = "libvulkan-imx libvulkan-imx-dev" | 111 | PACKAGES_VULKAN:mx8mm-nxp-bsp = "libvulkan-imx libvulkan-imx-dev" |
| 113 | 112 | ||
| 113 | # libgbm-imx, libvulkan-imx and libopenvx-imx (and their -dev variants) enter | ||
| 114 | # PACKAGES only through the machine-conditional PACKAGES_GBM/_VULKAN and the | ||
| 115 | # PROVIDES_OPENVX-gated PACKAGES_OPENVX above. Declare them as potentially | ||
| 116 | # present so their FILES/RDEPENDS/RPROVIDES/INSANE_SKIP assignments are | ||
| 117 | # recognised even when the current parse does not activate those conditions. | ||
| 118 | PACKAGES_DYNAMIC += "^libgbm-imx ^libvulkan-imx ^libopenvx-imx" | ||
| 119 | |||
| 114 | python __anonymous () { | 120 | python __anonymous () { |
| 115 | has_vivante_kernel_driver_support = (d.getVar('MACHINE_HAS_VIVANTE_KERNEL_DRIVER_SUPPORT') or '0') | 121 | has_vivante_kernel_driver_support = (d.getVar('MACHINE_HAS_VIVANTE_KERNEL_DRIVER_SUPPORT') or '0') |
| 116 | if has_vivante_kernel_driver_support != '1': | 122 | if has_vivante_kernel_driver_support != '1': |
| @@ -166,16 +172,16 @@ IS_MX8:mx8-nxp-bsp = "1" | |||
| 166 | 172 | ||
| 167 | PACKAGE_FP_TYPE = "hardfp" | 173 | PACKAGE_FP_TYPE = "hardfp" |
| 168 | 174 | ||
| 169 | HAS_GBM = "false" | 175 | HAS_GBM = "false" |
| 170 | HAS_GBM:mx8-nxp-bsp = "true" | 176 | HAS_GBM:mx8-nxp-bsp = "true" |
| 171 | 177 | ||
| 172 | IMX_SOC = "IMX_SOC_NOT_SET" | 178 | IMX_SOC = "IMX_SOC_NOT_SET" |
| 173 | IMX_SOC:mx8qm-nxp-bsp = "mx8qm" | 179 | IMX_SOC:mx8qm-nxp-bsp = "mx8qm" |
| 174 | IMX_SOC:mx8qxp-nxp-bsp = "mx8qxp" | 180 | IMX_SOC:mx8qxp-nxp-bsp = "mx8qxp" |
| 175 | IMX_SOC:mx8dx-nxp-bsp = "mx8qxp" | 181 | IMX_SOC:mx8dx-nxp-bsp = "mx8qxp" |
| 176 | IMX_SOC:mx8mp-nxp-bsp = "mx8mp" | 182 | IMX_SOC:mx8mp-nxp-bsp = "mx8mp" |
| 177 | IMX_SOC:mx8mq-nxp-bsp = "mx8mq" | 183 | IMX_SOC:mx8mq-nxp-bsp = "mx8mq" |
| 178 | IMX_SOC:mx8mn-nxp-bsp = "mx8mn" | 184 | IMX_SOC:mx8mn-nxp-bsp = "mx8mn" |
| 179 | IMX_SOC:mx8ulp-nxp-bsp = "mx8ulp" | 185 | IMX_SOC:mx8ulp-nxp-bsp = "mx8ulp" |
| 180 | 186 | ||
| 181 | do_install () { | 187 | do_install () { |
| @@ -183,17 +189,17 @@ do_install () { | |||
| 183 | install -d ${D}${includedir} | 189 | install -d ${D}${includedir} |
| 184 | install -d ${D}${bindir} | 190 | install -d ${D}${bindir} |
| 185 | 191 | ||
| 186 | cp -P ${S}/gpu-core/usr/lib/*.so* ${D}${libdir} | 192 | cp --no-preserve=ownership -P ${S}/gpu-core/usr/lib/*.so* ${D}${libdir} |
| 187 | cp -r ${S}/gpu-core/usr/include/* ${D}${includedir} | 193 | cp --no-preserve=ownership -r ${S}/gpu-core/usr/include/* ${D}${includedir} |
| 188 | cp -r ${S}/gpu-demos/opt ${D} | 194 | cp --no-preserve=ownership -r ${S}/gpu-demos/opt ${D} |
| 189 | cp -r ${S}/gpu-tools/gmem-info/usr/bin/* ${D}${bindir} | 195 | cp --no-preserve=ownership -r ${S}/gpu-tools/gmem-info/usr/bin/* ${D}${bindir} |
| 190 | 196 | ||
| 191 | # Use vulkan header from vulkan-headers recipe to support vkmark | 197 | # Use vulkan header from vulkan-headers recipe to support vkmark |
| 192 | rm -rf ${D}${includedir}/vulkan/ | 198 | rm -rf ${D}${includedir}/vulkan/ |
| 193 | 199 | ||
| 194 | # Install SOC-specific drivers | 200 | # Install SOC-specific drivers |
| 195 | if [ -d ${S}/gpu-core/usr/lib/${IMX_SOC} ]; then | 201 | if [ -d ${S}/gpu-core/usr/lib/${IMX_SOC} ]; then |
| 196 | cp -r ${S}/gpu-core/usr/lib/${IMX_SOC}/* ${D}${libdir} | 202 | cp --no-preserve=ownership -r ${S}/gpu-core/usr/lib/${IMX_SOC}/* ${D}${libdir} |
| 197 | fi | 203 | fi |
| 198 | 204 | ||
| 199 | install -d ${D}${libdir}/pkgconfig | 205 | install -d ${D}${libdir}/pkgconfig |
| @@ -212,15 +218,15 @@ do_install () { | |||
| 212 | install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/gl.pc ${D}${libdir}/pkgconfig/gl.pc | 218 | install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/gl.pc ${D}${libdir}/pkgconfig/gl.pc |
| 213 | fi | 219 | fi |
| 214 | install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/egl_wayland.pc ${D}${libdir}/pkgconfig/egl.pc | 220 | install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/egl_wayland.pc ${D}${libdir}/pkgconfig/egl.pc |
| 215 | cp -r ${S}/gpu-core/usr/lib/wayland/* ${D}${libdir} | 221 | cp --no-preserve=ownership -r ${S}/gpu-core/usr/lib/wayland/* ${D}${libdir} |
| 216 | elif [ "${IS_MX8}" != "1" ]; then | 222 | elif [ "${IS_MX8}" != "1" ]; then |
| 217 | # Framebuffer backend for i.MX 6 and 7 | 223 | # Framebuffer backend for i.MX 6 and 7 |
| 218 | install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/egl_linuxfb.pc ${D}${libdir}/pkgconfig/egl.pc | 224 | install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/egl_linuxfb.pc ${D}${libdir}/pkgconfig/egl.pc |
| 219 | cp -r ${S}/gpu-core/usr/lib/fb/* ${D}${libdir} | 225 | cp --no-preserve=ownership -r ${S}/gpu-core/usr/lib/fb/* ${D}${libdir} |
| 220 | else | 226 | else |
| 221 | # Framebuffer backend for i.MX 8 and beyond | 227 | # Framebuffer backend for i.MX 8 and beyond |
| 222 | install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/egl.pc ${D}${libdir}/pkgconfig/egl.pc | 228 | install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/egl.pc ${D}${libdir}/pkgconfig/egl.pc |
| 223 | cp -r ${S}/gpu-core/usr/lib/wayland/* ${D}${libdir} | 229 | cp --no-preserve=ownership -r ${S}/gpu-core/usr/lib/wayland/* ${D}${libdir} |
| 224 | set -f | 230 | set -f |
| 225 | for f in ${FILES:libvdk-imx} ${FILES:libvdk-imx-dev}; do | 231 | for f in ${FILES:libvdk-imx} ${FILES:libvdk-imx-dev}; do |
| 226 | set +f | 232 | set +f |
| @@ -233,7 +239,7 @@ do_install () { | |||
| 233 | fi | 239 | fi |
| 234 | if [ "${BACKEND}" = "wayland" ] && [ "${IS_MX8}" != "1" ]; then | 240 | if [ "${BACKEND}" = "wayland" ] && [ "${IS_MX8}" != "1" ]; then |
| 235 | # Special case for libVDK on Wayland backend, deliver fb library as well. | 241 | # Special case for libVDK on Wayland backend, deliver fb library as well. |
| 236 | cp ${S}/gpu-core/usr/lib/fb/libVDK.so.1.2.0 ${D}${libdir}/libVDK-fb.so.1.2.0 | 242 | install -m 0644 ${S}/gpu-core/usr/lib/fb/libVDK.so.1.2.0 ${D}${libdir}/libVDK-fb.so.1.2.0 |
| 237 | fi | 243 | fi |
| 238 | 244 | ||
| 239 | if [ -z "${PACKAGES_OPENCL}" ]; then | 245 | if [ -z "${PACKAGES_OPENCL}" ]; then |
| @@ -317,96 +323,112 @@ do_install:append:libc-musl() { | |||
| 317 | 323 | ||
| 318 | ALLOW_EMPTY:${PN} = "1" | 324 | ALLOW_EMPTY:${PN} = "1" |
| 319 | 325 | ||
| 320 | FILES:libclc-imx = "${libdir}/libCLC${SOLIBS}" | 326 | FILES:libclc-imx += "${libdir}/libCLC${SOLIBS}" |
| 321 | 327 | ||
| 322 | FILES:libegl-imx = "${libdir}/libEGL${REALSOLIBS} ${libdir}/libEGL${SOLIBS} " | 328 | FILES:libegl-imx += "${libdir}/libEGL${REALSOLIBS} ${libdir}/libEGL${SOLIBS} " |
| 323 | FILES:libegl-imx-dev = "${includedir}/EGL ${includedir}/KHR ${libdir}/pkgconfig/egl.pc" | 329 | FILES:libegl-imx-dev += "${includedir}/EGL ${includedir}/KHR ${libdir}/pkgconfig/egl.pc" |
| 324 | # libEGL.so is used by some demo apps from Freescale | 330 | # libEGL.so is used by some demo apps from Freescale |
| 331 | # nooelint: oelint.vars.insaneskip | ||
| 325 | INSANE_SKIP:libegl-imx += "dev-so" | 332 | INSANE_SKIP:libegl-imx += "dev-so" |
| 326 | 333 | ||
| 327 | FILES:libgal-imx = "${libdir}/libGAL${SOLIBS} ${libdir}/libGAL_egl${SOLIBS}" | 334 | FILES:libgal-imx += "${libdir}/libGAL${SOLIBS} ${libdir}/libGAL_egl${SOLIBS}" |
| 328 | RDEPENDS:libgal-imx += "${@bb.utils.contains('PACKAGECONFIG', 'valgrind', 'valgrind', '', d)}" | 335 | RDEPENDS:libgal-imx += "${@bb.utils.contains('PACKAGECONFIG', 'valgrind', 'valgrind', '', d)}" |
| 329 | RPROVIDES:libgal-imx += "libgal-imx" | 336 | RPROVIDES:libgal-imx += "libgal-imx" |
| 330 | RRECOMMENDS:libgal-imx += "kernel-module-imx-gpu-viv" | 337 | RRECOMMENDS:libgal-imx += "kernel-module-imx-gpu-viv" |
| 338 | # Prebuilt Vivante blob: its build-time dependencies are not expressed as recipe | ||
| 339 | # DEPENDS, so the build-deps QA check cannot be satisfied here. | ||
| 340 | # nooelint: oelint.vars.insaneskip | ||
| 331 | INSANE_SKIP:libgal-imx += "build-deps" | 341 | INSANE_SKIP:libgal-imx += "build-deps" |
| 332 | 342 | ||
| 333 | FILES:libvsc-imx = "${libdir}/libVSC${SOLIBS}" | 343 | FILES:libvsc-imx += "${libdir}/libVSC${SOLIBS}" |
| 334 | 344 | ||
| 335 | FILES:libgbm-imx = "${libdir}/libgbm*${REALSOLIBS} ${libdir}/libgbm${SOLIBS} ${libdir}/libgbm_viv${SOLIBS}" | 345 | FILES:libgbm-imx += "${libdir}/libgbm*${REALSOLIBS} ${libdir}/libgbm${SOLIBS} ${libdir}/libgbm_viv${SOLIBS}" |
| 336 | FILES:libgbm-imx-dev = "${libdir}/pkgconfig/gbm.pc ${includedir}/gbm.h" | 346 | FILES:libgbm-imx-dev += "${libdir}/pkgconfig/gbm.pc ${includedir}/gbm.h" |
| 337 | RDEPENDS:libgbm-imx:append = " libdrm" | 347 | RDEPENDS:libgbm-imx:append = " libdrm" |
| 348 | # libgbm ships its unversioned .so in the runtime package for dlopen consumers. | ||
| 349 | # nooelint: oelint.vars.insaneskip | ||
| 338 | INSANE_SKIP:libgbm-imx += "dev-so" | 350 | INSANE_SKIP:libgbm-imx += "dev-so" |
| 339 | 351 | ||
| 340 | FILES:libvulkan-imx = "\ | 352 | FILES:libvulkan-imx += "\ |
| 341 | ${libdir}/libvulkan_VSI${REALSOLIBS} \ | 353 | ${libdir}/libvulkan_VSI${REALSOLIBS} \ |
| 342 | ${sysconfdir}/vulkan" | 354 | ${datadir}/vulkan" |
| 343 | FILES:libvulkan-imx-dev = "${includedir}/vulkan ${libdir}/libvulkan_VSI${SOLIBSDEV}" | 355 | FILES:libvulkan-imx-dev += "${includedir}/vulkan ${libdir}/libvulkan_VSI${SOLIBSDEV}" |
| 344 | RPROVIDES:libvulkan-imx = "virtual-vulkan-icd" | 356 | RPROVIDES:libvulkan-imx = "virtual-vulkan-icd" |
| 345 | 357 | ||
| 346 | FILES:libspirv-imx = " \ | 358 | FILES:libspirv-imx += "\ |
| 347 | ${libdir}/libSPIRV_viv${SOLIBS} \ | 359 | ${libdir}/libSPIRV_viv${SOLIBS} \ |
| 348 | " | 360 | " |
| 349 | 361 | ||
| 350 | FILES:libopenvx-imx = " \ | 362 | FILES:libopenvx-imx += "\ |
| 351 | ${libdir}/libOpenVX${REALSOLIBS} \ | 363 | ${libdir}/libOpenVX${REALSOLIBS} \ |
| 352 | ${libdir}/libOpenVXC${SOLIBS} \ | 364 | ${libdir}/libOpenVXC${SOLIBS} \ |
| 353 | ${libdir}/libOpenVXU${SOLIBS} \ | 365 | ${libdir}/libOpenVXU${SOLIBS} \ |
| 354 | ${libdir}/libOvx*${SOLIBS} \ | 366 | ${libdir}/libOvx*${SOLIBS} \ |
| 355 | ${libdir}/libArchModelSw${SOLIBS} \ | 367 | ${libdir}/libArchModelSw${SOLIBS} \ |
| 356 | " | 368 | " |
| 357 | FILES:libopenvx-imx-dev = "${includedir}/VX ${libdir}/libOpenVX${SOLIBSDEV}" | 369 | FILES:libopenvx-imx-dev += "${includedir}/VX ${libdir}/libOpenVX${SOLIBSDEV}" |
| 358 | RDEPENDS:libopenvx-imx = "${OPENCL_VX_INTRINSIC_EXTENSION_PACKAGES}" | 370 | RDEPENDS:libopenvx-imx = "${OPENCL_VX_INTRINSIC_EXTENSION_PACKAGES}" |
| 359 | OPENCL_VX_INTRINSIC_EXTENSION_PACKAGES = "" | 371 | OPENCL_VX_INTRINSIC_EXTENSION_PACKAGES = "" |
| 360 | OPENCL_VX_INTRINSIC_EXTENSION_PACKAGES:mx8qm-nxp-bsp = "libclc-imx libopencl-imx-dev" | 372 | OPENCL_VX_INTRINSIC_EXTENSION_PACKAGES:mx8qm-nxp-bsp = "libclc-imx libopencl-imx-dev" |
| 361 | OPENCL_VX_INTRINSIC_EXTENSION_PACKAGES:mx8mp-nxp-bsp = "libclc-imx libopencl-imx-dev" | 373 | OPENCL_VX_INTRINSIC_EXTENSION_PACKAGES:mx8mp-nxp-bsp = "libclc-imx libopencl-imx-dev" |
| 374 | # The runtime package pulls -dev packages (OpenCL/VX intrinsic extensions) by | ||
| 375 | # design; the dev-deps QA check does not fit this prebuilt driver layout. | ||
| 376 | # nooelint: oelint.vars.insaneskip | ||
| 362 | INSANE_SKIP:libopenvx-imx += "dev-deps" | 377 | INSANE_SKIP:libopenvx-imx += "dev-deps" |
| 363 | 378 | ||
| 364 | FILES:libgles1-imx = "${libdir}/libGLESv1*${REALSOLIBS} ${libdir}/libGLESv1*${SOLIBS} ${libdir}/libGLES_*${REALSOLIBS} ${libdir}/libGLES_*${SOLIBS}" | 379 | FILES:libgles1-imx += "${libdir}/libGLESv1*${REALSOLIBS} ${libdir}/libGLESv1*${SOLIBS} ${libdir}/libGLES_*${REALSOLIBS} ${libdir}/libGLES_*${SOLIBS}" |
| 365 | FILES:libgles1-imx-dev = "${includedir}/GLES ${libdir}/pkgconfig/glesv1_cm.pc" | 380 | FILES:libgles1-imx-dev += "${includedir}/GLES ${libdir}/pkgconfig/glesv1_cm.pc" |
| 366 | RPROVIDES:libgles1-imx = "libgles-imx" | 381 | RPROVIDES:libgles1-imx = "libgles-imx" |
| 367 | RPROVIDES:libgles1-imx-dev = "libgles-imx-dev" | 382 | RPROVIDES:libgles1-imx-dev = "libgles-imx-dev" |
| 368 | # libEGL does dlopen of libGLESv1.so | 383 | # libEGL does dlopen of libGLESv1.so |
| 384 | # nooelint: oelint.vars.insaneskip | ||
| 369 | INSANE_SKIP:libgles1-imx += "dev-so" | 385 | INSANE_SKIP:libgles1-imx += "dev-so" |
| 370 | 386 | ||
| 371 | FILES:libgles2-imx = "${libdir}/libGLESv2${REALSOLIBS} ${libdir}/libGLESv2${SOLIBS}" | 387 | FILES:libgles2-imx += "${libdir}/libGLESv2${REALSOLIBS} ${libdir}/libGLESv2${SOLIBS}" |
| 372 | FILES:libgles2-imx-dev = "${includedir}/GLES2 ${libdir}/pkgconfig/glesv2.pc" | 388 | FILES:libgles2-imx-dev += "${includedir}/GLES2 ${libdir}/pkgconfig/glesv2.pc" |
| 373 | RDEPENDS:libgles2-imx = "libglslc-imx" | 389 | RDEPENDS:libgles2-imx = "libglslc-imx" |
| 374 | # libEGL does dlopen of libGLESv2.so | 390 | # libEGL does dlopen of libGLESv2.so |
| 391 | # nooelint: oelint.vars.insaneskip | ||
| 375 | INSANE_SKIP:libgles2-imx += "dev-so" | 392 | INSANE_SKIP:libgles2-imx += "dev-so" |
| 376 | 393 | ||
| 377 | FILES:libgles3-imx-dev = "${includedir}/GLES3" | 394 | FILES:libgles3-imx-dev += "${includedir}/GLES3" |
| 378 | # as long as there is no libgles3: ship libgles3-dev along with | 395 | # as long as there is no libgles3: ship libgles3-dev along with |
| 379 | # libgles2-dev - otherwise GLES3 headers have to be added manually | 396 | # libgles2-dev - otherwise GLES3 headers have to be added manually |
| 380 | RDEPENDS:libgles2-imx-dev += "libgles3-imx-dev" | 397 | RDEPENDS:libgles2-imx-dev += "libgles3-imx-dev" |
| 381 | 398 | ||
| 382 | FILES:libglslc-imx = "${libdir}/libGLSLC${SOLIBS}" | 399 | FILES:libglslc-imx += "${libdir}/libGLSLC${SOLIBS}" |
| 383 | 400 | ||
| 384 | FILES:libopencl-imx = "${libdir}/libOpenCL${REALSOLIBS} \ | 401 | FILES:libopencl-imx += "${libdir}/libOpenCL${REALSOLIBS} \ |
| 385 | ${libdir}/libVivanteOpenCL${SOLIBS} \ | 402 | ${libdir}/libVivanteOpenCL${SOLIBS} \ |
| 386 | ${libdir}/libLLVM_viv${SOLIBS} \ | 403 | ${libdir}/libLLVM_viv${SOLIBS} \ |
| 387 | ${sysconfdir}/OpenCL/vendors/Vivante.icd" | 404 | ${sysconfdir}/OpenCL/vendors/Vivante.icd" |
| 388 | FILES:libopencl-imx-dev = "${includedir}/CL ${libdir}/libOpenCL${SOLIBSDEV}" | 405 | FILES:libopencl-imx-dev += "${includedir}/CL ${libdir}/libOpenCL${SOLIBSDEV}" |
| 389 | RDEPENDS:libopencl-imx = "libclc-imx" | 406 | RDEPENDS:libopencl-imx = "libclc-imx" |
| 390 | RPROVIDES:libopencl-imx = "virtual-opencl-icd" | 407 | RPROVIDES:libopencl-imx = "virtual-opencl-icd" |
| 391 | RPROVIDES:libopencl-imx:mx7-nxp-bsp = "" | 408 | RPROVIDES:libopencl-imx:mx7-nxp-bsp = "" |
| 392 | RPROVIDES:libopencl-imx:mx8mm-nxp-bsp = "" | 409 | RPROVIDES:libopencl-imx:mx8mm-nxp-bsp = "" |
| 393 | 410 | ||
| 394 | FILES:libopenvg-imx = "${libdir}/libOpenVG*${REALSOLIBS} ${libdir}/libOpenVG*${SOLIBS}" | 411 | FILES:libopenvg-imx += "${libdir}/libOpenVG*${REALSOLIBS} ${libdir}/libOpenVG*${SOLIBS}" |
| 395 | FILES:libopenvg-imx-dev = "${includedir}/VG ${libdir}/pkgconfig/vg.pc" | 412 | FILES:libopenvg-imx-dev += "${includedir}/VG ${libdir}/pkgconfig/vg.pc" |
| 396 | # libEGL does dlopen of libOpenVG.so | 413 | # libEGL does dlopen of libOpenVG.so |
| 414 | # nooelint: oelint.vars.insaneskip | ||
| 397 | INSANE_SKIP:libopenvg-imx += "dev-so" | 415 | INSANE_SKIP:libopenvg-imx += "dev-so" |
| 398 | 416 | ||
| 399 | FILES:libvdk-imx = "${libdir}/libVDK*${REALSOLIBS}" | 417 | FILES:libvdk-imx += "${libdir}/libVDK*${REALSOLIBS}" |
| 400 | FILES:libvdk-imx-dev = "${includedir}/*vdk*.h ${libdir}/libVDK${SOLIBSDEV}" | 418 | FILES:libvdk-imx-dev += "${includedir}/*vdk*.h ${libdir}/libVDK${SOLIBSDEV}" |
| 401 | 419 | ||
| 402 | FILES:imx-gpu-viv-tools = "${bindir}/gmem_info" | 420 | FILES:imx-gpu-viv-tools += "${bindir}/gmem_info" |
| 403 | 421 | ||
| 404 | FILES:imx-gpu-viv-demos = "/opt" | 422 | FILES:imx-gpu-viv-demos += "/opt" |
| 423 | # Prebuilt demo binaries under /opt carry vendor rpaths and link the -dev | ||
| 424 | # packages; the rpaths and dev-deps QA checks do not apply to them. | ||
| 425 | # nooelint: oelint.vars.insaneskip | ||
| 405 | INSANE_SKIP:imx-gpu-viv-demos += "rpaths dev-deps" | 426 | INSANE_SKIP:imx-gpu-viv-demos += "rpaths dev-deps" |
| 406 | 427 | ||
| 407 | FILES:libnn-imx = "${libdir}/libNN*${SOLIBS}" | 428 | FILES:libnn-imx += "${libdir}/libNN*${SOLIBS}" |
| 408 | 429 | ||
| 409 | # It will use gcompat at runtime therefore checking for these at compile time wont be useful as | 430 | # It will use gcompat at runtime therefore checking for these at compile time wont be useful as |
| 410 | # they dont match musl/gcompat but it should run fine | 431 | # they dont match musl/gcompat but it should run fine |
| 432 | # nooelint: oelint.vars.insaneskip | ||
| 411 | INSANE_SKIP:append:libc-musl = " file-rdeps" | 433 | INSANE_SKIP:append:libc-musl = " file-rdeps" |
| 412 | 434 | ||
diff --git a/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p3.2-aarch32.bb b/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p3.2-aarch32.bb deleted file mode 100644 index f0e7d285d..000000000 --- a/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p3.2-aarch32.bb +++ /dev/null | |||
| @@ -1,9 +0,0 @@ | |||
| 1 | require imx-gpu-viv-6.inc | ||
| 2 | |||
| 3 | LIC_FILES_CHKSUM = "file://COPYING;md5=a93b654673e1bc8398ed1f30e0813359" | ||
| 4 | |||
| 5 | IMX_SRCREV_ABBREV = "3c5e429" | ||
| 6 | |||
| 7 | SRC_URI[sha256sum] = "ea7ffb01fd7cd88f2a308e5b12b40cc3c9553b8ff2941c4867943b4fee265d27" | ||
| 8 | |||
| 9 | COMPATIBLE_MACHINE = "(mx6q-nxp-bsp|mx6dl-nxp-bsp|mx6sx-nxp-bsp|mx6sl-nxp-bsp|mx7ulp-nxp-bsp)" | ||
diff --git a/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p3.2-aarch64.bb b/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p3.2-aarch64.bb deleted file mode 100644 index 38870add7..000000000 --- a/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p3.2-aarch64.bb +++ /dev/null | |||
| @@ -1,9 +0,0 @@ | |||
| 1 | require imx-gpu-viv-6.inc | ||
| 2 | |||
| 3 | LIC_FILES_CHKSUM = "file://COPYING;md5=a93b654673e1bc8398ed1f30e0813359" | ||
| 4 | |||
| 5 | IMX_SRCREV_ABBREV = "3c5e429" | ||
| 6 | |||
| 7 | SRC_URI[sha256sum] = "bf6fe102e8aa7a16373392efcf6ac45d705bbb95f5c39501da8aaa30957c554f" | ||
| 8 | |||
| 9 | COMPATIBLE_MACHINE = "(mx8-nxp-bsp)" | ||
diff --git a/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p4.4-aarch32.bb b/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p4.4-aarch32.bb new file mode 100644 index 000000000..86a7c20a3 --- /dev/null +++ b/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p4.4-aarch32.bb | |||
| @@ -0,0 +1,9 @@ | |||
| 1 | require imx-gpu-viv-6.inc | ||
| 2 | |||
| 3 | LIC_FILES_CHKSUM = "file://COPYING;md5=bc649096ad3928ec06a8713b8d787eac" | ||
| 4 | |||
| 5 | IMX_SRCREV_ABBREV = "8626797" | ||
| 6 | |||
| 7 | SRC_URI[sha256sum] = "db361e1f9db45f498fd669e1f58823d937d436e6fc797da6c710cf35609b47a9" | ||
| 8 | |||
| 9 | COMPATIBLE_MACHINE = "(mx6q-nxp-bsp|mx6dl-nxp-bsp|mx6sx-nxp-bsp|mx6sl-nxp-bsp|mx7ulp-nxp-bsp)" | ||
diff --git a/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p4.4-aarch64.bb b/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p4.4-aarch64.bb new file mode 100644 index 000000000..37db9098a --- /dev/null +++ b/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p4.4-aarch64.bb | |||
| @@ -0,0 +1,27 @@ | |||
| 1 | require imx-gpu-viv-6.inc | ||
| 2 | |||
| 3 | LIC_FILES_CHKSUM = "file://COPYING;md5=bc649096ad3928ec06a8713b8d787eac" | ||
| 4 | |||
| 5 | IMX_SRCREV_ABBREV = "8626797" | ||
| 6 | |||
| 7 | SRC_URI[sha256sum] = "8cc97005a7469c0e83139cf1b9a8106fa6f0a84fb6f87d0f6bb9808408305c28" | ||
| 8 | |||
| 9 | do_install:prepend() { | ||
| 10 | if [ "${IS_MX8}" = "1" ]; then | ||
| 11 | if [ ! -z "${PACKAGES_VULKAN}" ]; then | ||
| 12 | mkdir -p ${S}/gpu-core/etc/vulkan/icd.d | ||
| 13 | mv ${S}/gpu-core/usr/share/vulkan/icd.d/verisilicon_icd.json ${S}/gpu-core/etc/vulkan/icd.d/imx_icd.json | ||
| 14 | fi | ||
| 15 | fi | ||
| 16 | } | ||
| 17 | |||
| 18 | do_install:append() { | ||
| 19 | if [ "${IS_MX8}" = "1" ]; then | ||
| 20 | if [ ! -z "${PACKAGES_VULKAN}" ]; then | ||
| 21 | install -d ${D}${datadir}/vulkan/icd.d | ||
| 22 | mv ${D}${sysconfdir}/vulkan/icd.d/imx_icd.json ${D}${datadir}/vulkan/icd.d/verisilicon_icd.json | ||
| 23 | fi | ||
| 24 | fi | ||
| 25 | } | ||
| 26 | |||
| 27 | COMPATIBLE_MACHINE = "(mx8-nxp-bsp)" | ||
