From patchwork Wed May 20 10:12:18 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Gary Bisson X-Patchwork-Id: 474336 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from silver.osuosl.org (silver.osuosl.org [140.211.166.136]) by ozlabs.org (Postfix) with ESMTP id 989FE140293 for ; Wed, 20 May 2015 20:14:02 +1000 (AEST) Received: from localhost (localhost [127.0.0.1]) by silver.osuosl.org (Postfix) with ESMTP id D7C30335DB; Wed, 20 May 2015 10:14:01 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from silver.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id SiII4K2aCqvq; Wed, 20 May 2015 10:13:47 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by silver.osuosl.org (Postfix) with ESMTP id E3023335F8; Wed, 20 May 2015 10:13:00 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from whitealder.osuosl.org (whitealder.osuosl.org [140.211.166.138]) by ash.osuosl.org (Postfix) with ESMTP id 5B7821C2351 for ; Wed, 20 May 2015 10:12:50 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id 53C5B91AB1 for ; Wed, 20 May 2015 10:12:50 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id NcprsGEPsOxG for ; Wed, 20 May 2015 10:12:49 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from mail-wi0-f181.google.com (mail-wi0-f181.google.com [209.85.212.181]) by whitealder.osuosl.org (Postfix) with ESMTPS id BEB8791AAB for ; Wed, 20 May 2015 10:12:48 +0000 (UTC) Received: by wicmc15 with SMTP id mc15so144602152wic.1 for ; Wed, 20 May 2015 03:12:47 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-type:content-transfer-encoding; bh=vV0DuGX2h2gh1OKmAfQfrSXIjjtgHaSjQ1t93MbtJ0k=; b=mdOBEzzpq/hbSeAzqrWua5q8NUIU84FOJTW1H+/svzpGb+c2OvkRZVc+CZbrdVuTlr TKENgwQvDT92Ub99CfsHxpkRfaC7DAKb47HETJ/xw5odQ5AZlYWgO/289bzuyxXtmqB5 yLcxVVd/5B4Hds5FdHhzJwnDZUHbJsY5dCrafEFzU/yI8LyBafUTkjm12Unb7nV+R7by TGY2HvMw60orped65PlizN+t+/G7dMhPKon2jqW5kp7ggfLMYNOpRoGOsnRO+N+8KnN3 A+IDnvNC2PcHfWsEZq2u/gws1xg/SAqnYqJz214si9+JBfDYAVSomMaSMAnYg9fTUke7 uLhw== X-Gm-Message-State: ALoCoQkUt6yQuHiJKjifRaPFqP1+hls2dSReAmU8HAMcg0nS0RVLJsppddrZ5/D1vc4t27ralY4Z X-Received: by 10.194.89.130 with SMTP id bo2mr54509804wjb.17.1432116767441; Wed, 20 May 2015 03:12:47 -0700 (PDT) Received: from t450s.lan (89-92-157-132.hfc.dyn.abo.bbox.fr. [89.92.157.132]) by mx.google.com with ESMTPSA id di9sm2628198wib.16.2015.05.20.03.12.46 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 20 May 2015 03:12:46 -0700 (PDT) From: Gary Bisson To: buildroot@busybox.net Date: Wed, 20 May 2015 12:12:18 +0200 Message-Id: <1432116744-25760-8-git-send-email-gary.bisson@boundarydevices.com> X-Mailer: git-send-email 2.1.4 In-Reply-To: <1432116744-25760-1-git-send-email-gary.bisson@boundarydevices.com> References: <1432116744-25760-1-git-send-email-gary.bisson@boundarydevices.com> MIME-Version: 1.0 Cc: thomas.petazzoni@free-electrons.com, jezz@sysmic.org, luca@lucaceresoli.net Subject: [Buildroot] [PATCH 07/13] gpu-viv-bin-mx6q: bump to 5.0.11.p4.1 X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" From: Antoine Tenart Bump the Vivante drivers to 5.0.11.p4.1. The version scheme has changed and 5.0.11.p4.1 is indeed the latest version. In addition to the version bump, other changes are done to handle the new directory organisation. The work behind this commit was funded by ECA Group . ECA Group is the copyright owner of the contributed code. Changelog: - Package version is changed to use Vivante version - imx-gpu-viv includes separate sub packages for demos and tools to support flexible package additions - Graphics package is reorganized to improve library layout - New GPU tool apitrace is added - supported only for X11 backend (not supported yet) - gpu-viv-g2d shares same package with imx-gpu-viv (not supported yet) [Gary: use pkgconfig files provided inside the packages, extend commit log and add a symlink fixup for X11 libs] Signed-off-by: Antoine Tenart Signed-off-by: Gary Bisson --- Hi all, This patch is based on the Yocto equivalent: https://github.com/Freescale/meta-fsl-arm/commit/74c86aa9639f6f20991ab64ea75177a017f8749a Antoine provided a patch that I modified: 1- used the pkgconfig files provided in the package from now on 2- extend the commit log 3- add a symlink for libGAL_egl.so as it wasn't working on X - had to do a fixup as for some reason the lib is called libGAL_egl.dri.so Without that last symlink change, the tutorial examples were missing some symbols and qtbase wouldn't build. I wasn't sure if the fixup was the most elegant way to deal with it but I'm open to any remark to improve it. On separate patches, here are some enchancements that could be made to this package: - add option to install g2d libraries - add option to install apitrace tools (X11 only) This package has been tested with both X11 and Framebuffer backends; # cd /usr/share/examples/viv_samples/vdk/ # ./tutorial7 Regards, Gary --- .../0001-correct-HAL-include.patch | 16 -------- package/freescale-imx/gpu-viv-bin-mx6q/egl.pc | 10 ----- package/freescale-imx/gpu-viv-bin-mx6q/glesv2.pc | 10 ----- .../gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk | 47 +++++++++++++--------- package/freescale-imx/gpu-viv-bin-mx6q/vg.pc | 10 ----- 5 files changed, 28 insertions(+), 65 deletions(-) delete mode 100644 package/freescale-imx/gpu-viv-bin-mx6q/0001-correct-HAL-include.patch delete mode 100644 package/freescale-imx/gpu-viv-bin-mx6q/egl.pc delete mode 100644 package/freescale-imx/gpu-viv-bin-mx6q/glesv2.pc delete mode 100644 package/freescale-imx/gpu-viv-bin-mx6q/vg.pc diff --git a/package/freescale-imx/gpu-viv-bin-mx6q/0001-correct-HAL-include.patch b/package/freescale-imx/gpu-viv-bin-mx6q/0001-correct-HAL-include.patch deleted file mode 100644 index c83cd55..0000000 --- a/package/freescale-imx/gpu-viv-bin-mx6q/0001-correct-HAL-include.patch +++ /dev/null @@ -1,16 +0,0 @@ -Correct the directory path for gc_hal_eglplatform_type.h - -Signed-off-by: Henk Fijnvandraat - -diff -rup gpu-viv-bin-mx6q-1.1.0-orig/usr/include/gc_vdk_types.h gpu-viv-bin-mx6q-1.1.0/usr/include/gc_vdk_types.h ---- gpu-viv-bin-mx6q-1.1.0-orig/usr/include/gc_vdk_types.h 2012-12-18 10:35:55.000000000 +0100 -+++ gpu-viv-bin-mx6q-1.1.0/usr/include/gc_vdk_types.h 2013-05-09 21:09:28.080138681 +0200 -@@ -39,7 +39,7 @@ extern "C" { - #endif - - #include --#include "gc_hal_eglplatform_type.h" -+#include - - - /******************************************************************************* diff --git a/package/freescale-imx/gpu-viv-bin-mx6q/egl.pc b/package/freescale-imx/gpu-viv-bin-mx6q/egl.pc deleted file mode 100644 index d1d09a0..0000000 --- a/package/freescale-imx/gpu-viv-bin-mx6q/egl.pc +++ /dev/null @@ -1,10 +0,0 @@ -prefix=/usr -exec_prefix=${prefix} -libdir=${exec_prefix}/lib -includedir=${prefix}/include - -Name: egl -Description: Freescale gpu-viv-bin-mx6q implementation of EGL -Version: 1.0 -Libs: -L${libdir} -lGAL -lEGL -Cflags: -I${includedir}/ diff --git a/package/freescale-imx/gpu-viv-bin-mx6q/glesv2.pc b/package/freescale-imx/gpu-viv-bin-mx6q/glesv2.pc deleted file mode 100644 index 74ce792..0000000 --- a/package/freescale-imx/gpu-viv-bin-mx6q/glesv2.pc +++ /dev/null @@ -1,10 +0,0 @@ -prefix=/usr -exec_prefix=${prefix} -libdir=${exec_prefix}/lib -includedir=${prefix}/include - -Name: glesv2 -Description: Freescale gpu-viv-bin-mx6q implementation of OpenGL ESv2 -Version: 2.0 -Libs: -L${libdir} -lGAL -lEGL -lGLESv2 -Cflags: -I${includedir}/ diff --git a/package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk b/package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk index ec779a4..678bfdf 100644 --- a/package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk +++ b/package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk @@ -4,14 +4,14 @@ # ################################################################################ -GPU_VIV_BIN_MX6Q_BASE_VERSION = 3.10.17-1.0.1 +GPU_VIV_BIN_MX6Q_BASE_VERSION = 5.0.11.p4.1 ifeq ($(BR2_ARM_EABIHF),y) GPU_VIV_BIN_MX6Q_VERSION = $(GPU_VIV_BIN_MX6Q_BASE_VERSION)-hfp else GPU_VIV_BIN_MX6Q_VERSION = $(GPU_VIV_BIN_MX6Q_BASE_VERSION)-sfp endif GPU_VIV_BIN_MX6Q_SITE = $(FREESCALE_IMX_SITE) -GPU_VIV_BIN_MX6Q_SOURCE = gpu-viv-bin-mx6q-$(GPU_VIV_BIN_MX6Q_VERSION).bin +GPU_VIV_BIN_MX6Q_SOURCE = imx-gpu-viv-$(GPU_VIV_BIN_MX6Q_VERSION).bin GPU_VIV_BIN_MX6Q_INSTALL_STAGING = YES @@ -26,27 +26,36 @@ define GPU_VIV_BIN_MX6Q_EXTRACT_CMDS $(call FREESCALE_IMX_EXTRACT_HELPER,$(DL_DIR)/$(GPU_VIV_BIN_MX6Q_SOURCE)) endef +# For some reason libGAL_egl for x11 is called libGAL_egl.dri.so +ifeq ($(GPU_VIV_BIN_MX6Q_LIB_TARGET),x11) +define GPU_VIV_BIN_MX6Q_FIXUP_SYMLINKS + ln -sf libGAL_egl.dri.so $(@D)/gpu-core/usr/lib/libGAL_egl.so +endef +endif + # Instead of building, we fix up the inconsistencies that exist # in the upstream archive here. # Make sure these commands are idempotent. define GPU_VIV_BIN_MX6Q_BUILD_CMDS - $(SED) 's/defined(LINUX)/defined(__linux__)/g' $(@D)/usr/include/*/*.h - ln -sf libGL.so.1.2 $(@D)/usr/lib/libGL.so - ln -sf libGL.so.1.2 $(@D)/usr/lib/libGL.so.1 - ln -sf libGL.so.1.2 $(@D)/usr/lib/libGL.so.1.2.0 - ln -sf libEGL-$(GPU_VIV_BIN_MX6Q_LIB_TARGET).so $(@D)/usr/lib/libEGL.so - ln -sf libEGL-$(GPU_VIV_BIN_MX6Q_LIB_TARGET).so $(@D)/usr/lib/libEGL.so.1 - ln -sf libEGL-$(GPU_VIV_BIN_MX6Q_LIB_TARGET).so $(@D)/usr/lib/libEGL.so.1.0 - ln -sf libGLESv2-$(GPU_VIV_BIN_MX6Q_LIB_TARGET).so $(@D)/usr/lib/libGLESv2.so - ln -sf libGLESv2-$(GPU_VIV_BIN_MX6Q_LIB_TARGET).so $(@D)/usr/lib/libGLESv2.so.2 - ln -sf libGLESv2-$(GPU_VIV_BIN_MX6Q_LIB_TARGET).so $(@D)/usr/lib/libGLESv2.so.2.0.0 - ln -sf libVIVANTE-$(GPU_VIV_BIN_MX6Q_LIB_TARGET).so $(@D)/usr/lib/libVIVANTE.so - ln -sf libGAL-$(GPU_VIV_BIN_MX6Q_LIB_TARGET).so $(@D)/usr/lib/libGAL.so + $(SED) 's/defined(LINUX)/defined(__linux__)/g' $(@D)/gpu-core/usr/include/*/*.h + ln -sf libGL.so.1.2 $(@D)/gpu-core/usr/lib/libGL.so + ln -sf libGL.so.1.2 $(@D)/gpu-core/usr/lib/libGL.so.1 + ln -sf libGL.so.1.2 $(@D)/gpu-core/usr/lib/libGL.so.1.2.0 + ln -sf libEGL-$(GPU_VIV_BIN_MX6Q_LIB_TARGET).so $(@D)/gpu-core/usr/lib/libEGL.so + ln -sf libEGL-$(GPU_VIV_BIN_MX6Q_LIB_TARGET).so $(@D)/gpu-core/usr/lib/libEGL.so.1 + ln -sf libEGL-$(GPU_VIV_BIN_MX6Q_LIB_TARGET).so $(@D)/gpu-core/usr/lib/libEGL.so.1.0 + ln -sf libGLESv2-$(GPU_VIV_BIN_MX6Q_LIB_TARGET).so $(@D)/gpu-core/usr/lib/libGLESv2.so + ln -sf libGLESv2-$(GPU_VIV_BIN_MX6Q_LIB_TARGET).so $(@D)/gpu-core/usr/lib/libGLESv2.so.2 + ln -sf libGLESv2-$(GPU_VIV_BIN_MX6Q_LIB_TARGET).so $(@D)/gpu-core/usr/lib/libGLESv2.so.2.0.0 + ln -sf libVIVANTE-$(GPU_VIV_BIN_MX6Q_LIB_TARGET).so $(@D)/gpu-core/usr/lib/libVIVANTE.so + ln -sf libGAL-$(GPU_VIV_BIN_MX6Q_LIB_TARGET).so $(@D)/gpu-core/usr/lib/libGAL.so + ln -sf libGAL_egl.$(GPU_VIV_BIN_MX6Q_LIB_TARGET).so $(@D)/gpu-core/usr/lib/libGAL_egl.so + $(GPU_VIV_BIN_MX6Q_FIXUP_SYMLINKS) endef ifeq ($(GPU_VIV_BIN_MX6Q_LIB_TARGET),fb) define GPU_VIV_BIN_MX6Q_FIXUP_FB_HEADERS - $(SED) '/#define EGLAPIENTRY/ a \ + $(SED) '39i\ #if !defined(EGL_API_X11) && !defined(EGL_API_DFB) && !defined(EGL_API_FB) \n\ #define EGL_API_FB \n\ #endif' $(STAGING_DIR)/usr/include/EGL/eglvivante.h @@ -54,11 +63,11 @@ endef endif define GPU_VIV_BIN_MX6Q_INSTALL_STAGING_CMDS - cp -r $(@D)/usr/* $(STAGING_DIR)/usr + cp -r $(@D)/gpu-core/usr/* $(STAGING_DIR)/usr $(GPU_VIV_BIN_MX6Q_FIXUP_FB_HEADERS) for lib in egl glesv2 vg; do \ $(INSTALL) -m 0644 -D \ - package/freescale-imx/gpu-viv-bin-mx6q/$${lib}.pc \ + $(@D)/gpu-core/usr/lib/pkgconfig/$${lib}.pc \ $(STAGING_DIR)/usr/lib/pkgconfig/$${lib}.pc; \ done endef @@ -66,7 +75,7 @@ endef ifeq ($(BR2_PACKAGE_GPU_VIV_BIN_MX6Q_EXAMPLES),y) define GPU_VIV_BIN_MX6Q_INSTALL_EXAMPLES mkdir -p $(TARGET_DIR)/usr/share/examples/ - cp -r $(@D)/opt/* $(TARGET_DIR)/usr/share/examples/ + cp -r $(@D)/gpu-demos/opt/* $(TARGET_DIR)/usr/share/examples/ endef endif @@ -75,7 +84,7 @@ endif # to the wrong library define GPU_VIV_BIN_MX6Q_INSTALL_TARGET_CMDS $(GPU_VIV_BIN_MX6Q_INSTALL_EXAMPLES) - cp -a $(@D)/usr/lib $(TARGET_DIR)/usr + cp -a $(@D)/gpu-core/usr/lib $(TARGET_DIR)/usr for lib in EGL GAL VIVANTE GLESv2; do \ for f in $(TARGET_DIR)/usr/lib/lib$${lib}-*.so; do \ case $$f in \ diff --git a/package/freescale-imx/gpu-viv-bin-mx6q/vg.pc b/package/freescale-imx/gpu-viv-bin-mx6q/vg.pc deleted file mode 100644 index 677a7ee..0000000 --- a/package/freescale-imx/gpu-viv-bin-mx6q/vg.pc +++ /dev/null @@ -1,10 +0,0 @@ -prefix=/usr -exec_prefix=${prefix} -libdir=${exec_prefix}/lib -includedir=${prefix}/include - -Name: vg -Description: Freescale gpu-viv-bin-mx6q implementation of OpenVG -Version: 1.1 -Libs: -L${libdir} -lGAL -lEGL -lOpenVG -Cflags: -I${includedir}/