[meta-freescale] [PATCH v2 04/19] imx-gpu-viv: Add i.MX 8 support

Gary Bisson gary.bisson at boundarydevices.com
Wed Jun 27 01:51:46 PDT 2018


Hi Tom, Otavio,

Sorry to insist but my previous comments have not been taken into
account in this series.

On Tue, Jun 26, 2018 at 02:37:13PM -0300, Otavio Salvador wrote:
> From: Tom Hochstein <tom.hochstein at nxp.com>
> 
> Signed-off-by: Tom Hochstein <tom.hochstein at nxp.com>
> Signed-off-by: Otavio Salvador <otavio at ossystems.com.br>
> ---
> 
>  .../imx-gpu-viv/imx-gpu-viv-6.inc             | 37 ++++++++++++++++---
>  .../imx-gpu-viv_6.2.4.p1.2-aarch64.bb         |  6 +++
>  2 files changed, 37 insertions(+), 6 deletions(-)
>  create mode 100644 recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.2.4.p1.2-aarch64.bb
> 
> 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 6cc8cbb1..d5023bdf 100644
> --- a/recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc
> +++ b/recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc
> @@ -12,11 +12,11 @@ DEPENDS += " \
>         bb.utils.contains('DISTRO_FEATURES',     'x11', 'virtual/libx11 libxdamage libxext libxfixes', \
>                                                         '', d), d)} \
>  "
> -DEPENDS += "libdrm"
>  DEPENDS += " \
>      ${@bb.utils.contains('DISTRO_FEATURES',     'x11', 'libxcb libxshmfence libxxf86vm', \
>                                                         '', d)} \
>  "
> +DEPENDS_append_mx8 = " libdrm wayland"
>  
>  # imx-gpu-viv does not provide everything it needs to for virtual/libgl
>  # on x11 backend or on Wayland backend with XWayland support.
> @@ -29,6 +29,8 @@ EXTRA_PROVIDES_append_imxgpu3d = " \
>      virtual/libgles1 \
>      virtual/libgles2 \
>  "
> +EXTRA_PROVIDES_append_mx8 = " \
> +    virtual/libopenvx \

This is wrong, only available for mx8qm.

>  "
>  PROVIDES += " \
>      imx-gpu-viv \
> @@ -51,6 +53,8 @@ inherit fsl-eula-unpack
>  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
> +IMX_PACKAGES_GBM     = ""
> +IMX_PACKAGES_GBM_mx8 = "libgbm-imx libgbm-imx-dev"
>  PACKAGES =+ "libclc-imx libclc-imx-dev \
>  	libgl-imx libgl-imx-dev \
>  	libgles-imx libgles-imx-dev \
> @@ -64,7 +68,7 @@ PACKAGES =+ "libclc-imx libclc-imx-dev \
>  	libgal-imx libgal-imx-dev \
>  	libvivante-dri-imx \
>  	libvsc-imx \
> -	libgbm-imx libgbm-imx-dev \
> +	${IMX_PACKAGES_GBM} \
>  	libwayland-viv-imx libwayland-viv-imx-dev \
>  	libgc-wayland-protocol-imx libgc-wayland-protocol-imx-dev \
>  	libwayland-egl-imx-dev \
> @@ -122,9 +126,19 @@ python __anonymous() {
>  IS_MX6SL = "0"
>  IS_MX6SL_mx6sl = "1"
>  
> +IS_MX8 = "0"
> +IS_MX8_mx8 = "1"
> +
>  PACKAGE_FP_TYPE = "hardfp"
>  
> +HAS_GBM     = "false"
> +HAS_GBM_mx8 = "true"
> +
> +# GLES 3.1 is supported for all i.MX 8

Not true, i.MX 8M Mini is GLES 2.0 only according to NXP website.

> +# 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 () {
>      install -d ${D}${libdir}
> @@ -140,6 +154,9 @@ do_install () {
>      rm -rf ${D}${includedir}/vulkan/vulkan.h
>  
>      install -d ${D}${libdir}/pkgconfig
> +    if ${HAS_GBM}; 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
> @@ -212,6 +229,14 @@ do_install () {
>      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
> +        # Install the vulkan driver in a sub-folder. When installed in the same
> +        # folder as the vulkan loader layer library, an incorrect linkage is
> +        # created from libvulkan.so.1 to our library instead of the loader
> +        # layer library.
> +        install -d ${D}${libdir}/vulkan
> +        mv ${D}${libdir}/libvulkan-${backend}.so ${D}${libdir}/vulkan/libvulkan_VSI.so
> +    fi

Therefore i.MX 8M Mini cannot support Vulkan.

Let me know if I should offer follow-up patches.

Regards,
Gary


More information about the meta-freescale mailing list