@@ -82,6 +82,7 @@ source "package/freescale-imx/gpu-amd-bin-mx51/Config.in"
source "package/freescale-imx/libz160/Config.in"
endif
if BR2_PACKAGE_FREESCALE_IMX_HAS_VIV_GPU
+source "package/freescale-imx/imx-gpu-g2d/Config.in"
source "package/freescale-imx/imx-gpu-viv/Config.in"
source "package/freescale-imx/kernel-module-imx-gpu-viv/Config.in"
endif
new file mode 100644
@@ -0,0 +1,25 @@
+comment "imx-gpu-g2d needs a glibc toolchain with armhf enabled"
+ depends on BR2_arm
+ depends on !BR2_TOOLCHAIN_USES_GLIBC || !BR2_ARM_EABIHF
+
+config BR2_PACKAGE_IMX_GPU_G2D
+ bool "imx-gpu-g2d"
+ # Pre-built binaries only available for ARM EABIhf
+ depends on BR2_ARM_EABIHF
+ # Library binaries are linked against libc.so.6
+ depends on BR2_TOOLCHAIN_USES_GLIBC
+ select BR2_PACKAGE_IMX_GPU_VIV
+ help
+ Userspace 2D libraries for Vivante GPU on i.MX platforms.
+
+ This library is provided by NXP as-is and doesn't have an
+ upstream.
+
+if BR2_PACKAGE_IMX_GPU_G2D
+
+config BR2_PACKAGE_IMX_GPU_G2D_EXAMPLES
+ bool "install examples"
+ help
+ Copy the Vivante G2D examples to the target.
+
+endif
new file mode 100644
@@ -0,0 +1 @@
+sha256 070a95aa9942bd67e8ba4012962df74143bffb9998301ac097dab5e1437000d8 imx-gpu-g2d-6.2.2.p0.bin
new file mode 100644
@@ -0,0 +1,37 @@
+################################################################################
+#
+# imx-gpu-g2d
+#
+################################################################################
+
+IMX_GPU_G2D_VERSION = 6.2.2.p0
+IMX_GPU_G2D_SITE = $(FREESCALE_IMX_SITE)
+IMX_GPU_G2D_SOURCE = imx-gpu-g2d-$(IMX_GPU_G2D_VERSION).bin
+IMX_GPU_G2D_DEPENDENCIES = imx-gpu-viv
+IMX_GPU_G2D_INSTALL_STAGING = YES
+
+IMX_GPU_G2D_LICENSE = NXP Semiconductor Software License Agreement
+IMX_GPU_G2D_LICENSE_FILES = EULA COPYING
+IMX_GPU_G2D_REDISTRIBUTE = NO
+
+define IMX_GPU_G2D_EXTRACT_CMDS
+ $(call FREESCALE_IMX_EXTRACT_HELPER,$(DL_DIR)/$(IMX_GPU_G2D_SOURCE))
+endef
+
+define IMX_GPU_G2D_INSTALL_STAGING_CMDS
+ cp -a $(@D)/g2d/usr/* $(STAGING_DIR)/usr
+endef
+
+ifeq ($(BR2_PACKAGE_IMX_GPU_G2D_EXAMPLES),y)
+define IMX_GPU_G2D_INSTALL_EXAMPLES
+ mkdir -p $(TARGET_DIR)/usr/share/examples/
+ cp -a $(@D)/gpu-demos/opt/* $(TARGET_DIR)/usr/share/examples/
+endef
+endif
+
+define IMX_GPU_G2D_INSTALL_TARGET_CMDS
+ $(IMX_GPU_G2D_INSTALL_EXAMPLES)
+ cp -a $(@D)/g2d/usr/lib $(TARGET_DIR)/usr
+endef
+
+$(eval $(generic-package))
Up until now, the G2D libraries were included inside the imx-gpu-viv package. However, since next version of the i.MX will use a new hardware IP to do 2D rendering (DPU), the GPU 2D libraries have been separated from the 3D GPU package. Tested with the following commands: # /usr/share/examples/g2d_samples/g2d_multiblit_test # /usr/share/examples/g2d_samples/g2d_overlay_test # /usr/share/examples/g2d_samples/g2d_test # gst-launch-1.0 videotestsrc ! imxg2dvideosink Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com> --- package/freescale-imx/Config.in | 1 + package/freescale-imx/imx-gpu-g2d/Config.in | 25 +++++++++++++++ package/freescale-imx/imx-gpu-g2d/imx-gpu-g2d.hash | 1 + package/freescale-imx/imx-gpu-g2d/imx-gpu-g2d.mk | 37 ++++++++++++++++++++++ 4 files changed, 64 insertions(+) create mode 100644 package/freescale-imx/imx-gpu-g2d/Config.in create mode 100644 package/freescale-imx/imx-gpu-g2d/imx-gpu-g2d.hash create mode 100644 package/freescale-imx/imx-gpu-g2d/imx-gpu-g2d.mk