From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by yocto-www.yoctoproject.org (Postfix, from userid 118) id C6F99E01205; Mon, 25 Jun 2018 12:33:52 -0700 (PDT) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on yocto-www.yoctoproject.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 X-Spam-HAM-Report: * -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/, no * trust * [209.85.216.195 listed in list.dnswl.org] * -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% * [score: 0.0000] Received: from mail-qt0-f195.google.com (mail-qt0-f195.google.com [209.85.216.195]) by yocto-www.yoctoproject.org (Postfix) with ESMTP id E3042E011F8 for ; Mon, 25 Jun 2018 12:33:22 -0700 (PDT) Received: by mail-qt0-f195.google.com with SMTP id x23-v6so2858996qto.7 for ; Mon, 25 Jun 2018 12:33:22 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:organization; bh=daBndpBFUTlYrvRe3RsCTb618Ltje5y9pKstkG/2h/4=; b=d0t3MvkspaHZ/NbXIOrz10oXvwpvo+pGS+AfvdRTsAH/K0UjqIlD0mb4GTlkmhZvZu TUBTPTM0tnY7dSaDBYdA/UnV02ayoYbZHbV07n/2oSkTGxjIQ6rcwAcgSoEHfDqI11Np R9EDHRXMDtPSMkTsS+cMJJE7Ov7+woXdFFjid8EmUdxzjFv4OP/s+OXMM4nAPVcS+00T 3087633fAhhZcTF7/cl+WQIb3MZtPrmTtT+d3/Um/xyIyFWt6sMdLkXo9SOhA2Lac1CU 2gZWH8nKb2OrKjgqW2GZSReOlcYoPu0Xt7JY8De0B4qNcvICUdBKQnQ/K9Gvz3tPgFCa Oo6Q== X-Gm-Message-State: APt69E1w1uKCdb498R1aKeCyKsc9Xq6D4u/dmEekZmIJHzcRIrS/fxYh VKhD0pAMITjgmEIyTXuEJLXJtQ== X-Google-Smtp-Source: ADUXVKKj0cZcaUsxhKLznf9+pSt3HugbmyLqSEXh0m+o2pDCKPr8DkpNDJSNB7GaPf5FdLVsZD65iw== X-Received: by 2002:aed:3e6f:: with SMTP id m44-v6mr12495297qtf.4.1529955201550; Mon, 25 Jun 2018 12:33:21 -0700 (PDT) Received: from localhost.localdomain ([177.194.218.61]) by smtp.gmail.com with ESMTPSA id h184-v6sm10506718qkd.80.2018.06.25.12.33.18 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 25 Jun 2018 12:33:20 -0700 (PDT) Received: by localhost.localdomain (sSMTP sendmail emulation); Mon, 25 Jun 2018 16:33:15 -0300 From: Otavio Salvador To: meta-freescale Mailing List Date: Mon, 25 Jun 2018 16:30:27 -0300 Message-Id: <20180625193032.9248-27-otavio@ossystems.com.br> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20180625193032.9248-1-otavio@ossystems.com.br> References: <20180625193032.9248-1-otavio@ossystems.com.br> Organization: O.S. Systems Software LTDA. Cc: Otavio Salvador Subject: [PATCH 27/32] imx-gpu-viv: Add i.MX 8 support X-BeenThere: meta-freescale@yoctoproject.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: Usage and development list for the meta-fsl-* layers List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 25 Jun 2018 19:33:54 -0000 From: Tom Hochstein Signed-off-by: Tom Hochstein Signed-off-by: Otavio Salvador --- .../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 \ " 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 +# 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 for header in ${GLES3_HEADER_REMOVALS}; do rm -f ${D}${includedir}/GLES3/${header} done @@ -276,9 +301,9 @@ INSANE_SKIP_libgal-imx += "build-deps" FILES_libvsc-imx = "${libdir}/libVSC${SOLIBS}" -FILES_libgbm-imx = "${libdir}/libgbm${SOLIBS} ${libdir}/gbm_viv${SOLIBS}" -FILES_libgbm-imx-dev = "${libdir}/pkgconfig/gbm.pc ${includedir}/gbm.h ${libdir}/libgbm${SOLIBSDEV}" -RDEPENDS_libgbm-imx += "libdrm" +FILES_libgbm-imx_mx8 = "${libdir}/libgbm${SOLIBS} ${libdir}/gbm_viv${SOLIBS}" +FILES_libgbm-imx-dev_mx8 = "${libdir}/pkgconfig/gbm.pc ${includedir}/gbm.h ${libdir}/libgbm${SOLIBSDEV}" +RDEPENDS_libgbm-imx_append_mx8 = " libdrm" FILES_libvulkan-imx = "${libdir}/vulkan/libvulkan_VSI${SOLIBS}" FILES_libvulkan-imx-dev = "${includedir}/vulkan ${libdir}/vulkan/libvulkan_VSI${SOLIBSDEV}" @@ -344,4 +369,4 @@ FILES_imx-gpu-viv-tools = "${bindir}/gmem_info" FILES_imx-gpu-viv-demos = "/opt" INSANE_SKIP_imx-gpu-viv-demos += "rpaths dev-deps" -# COMPATIBLE_MACHINE = "(mx6q|mx6dl|mx6sx|mx6sl)" +# COMPATIBLE_MACHINE = "(mx6q|mx6dl|mx6sx|mx6sl|mx8)" diff --git a/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.2.4.p1.2-aarch64.bb b/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.2.4.p1.2-aarch64.bb new file mode 100644 index 00000000..4b1a72ca --- /dev/null +++ b/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.2.4.p1.2-aarch64.bb @@ -0,0 +1,6 @@ +require imx-gpu-viv-6.inc + +SRC_URI[md5sum] = "28ef177f53be40c738f46018cebf055c" +SRC_URI[sha256sum] = "27ed3f58681cef18f87ea20946cc89b2cef4848006064303d20583e6ed7aeec7" + +COMPATIBLE_MACHINE = "(mx8)" -- 2.18.0