Commit Graph

25 Commits

Author SHA1 Message Date
Gary Bisson
8171aad89b package/freescale-imx/imx-gpu-viv: bump to version 6.4.3.p1.0
- Same version as NXP release 5.4.70-2.3.0
- EULA/COPYING: update to LA_OPT_NXP_Software_License v17
- backend libraries have moved to separated folders
  - can now be simply copied, no more symlink or -fb/wl/x11.so
- wayland backend was renamed from 'wl' to 'wayland'
- sed on headers for LINUX removed as packages now expected to use
pkgconfig files properly (just like fb fixup was removed)

Key Improvements (from NXP changelog):
- GLES CTS 3.2.6.1
- Vulkan 1.1.6
- OpenVX 1.2
- GPU & NPU accelerated ML support
- OpenCV 4.2
- Chromium v74
- Support for renderdoc 1.7
- Support for TFlite 2.2
- NNCTS 1.2
- Vulkan backend support for Unity

Fixes: afbeed5d17 ("package/freescale-imx/imx-gpu-viv: bump version to
6.4.3.p0.0")

Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2020-12-29 23:24:22 +01:00
Romain Naour
f296b7ac59 package/freescale-imx/imx-gpu-viv: is an libopencl provider
The imx-gpu-viv install libOpenCL.so.1.2 library and cl.h header,
so declare it as a libopencl provider.

With this support we can select the clinfo package provided by
Buildroot instead of the one provided by imx-gpu-viv package.

Signed-off-by: Romain Naour <romain.naour@smile.fr>
Cc: Gary Bisson <gary.bisson@boundarydevices.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2020-12-26 18:32:46 +01:00
Romain Naour
b37cd79daf package/freescale-imx/imx-gpu-viv: install Vendor ICDs file (Vivante.icd)
Without this file, the clinfo binary provided by the package doesn't
detect the opencl support.

Fixes:
https://github.com/boundarydevices/buildroot-external-boundary/issues/5

Signed-off-by: Romain Naour <romain.naour@smile.fr>
Cc: Gary Bisson <gary.bisson@boundarydevices.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2020-12-26 18:32:45 +01:00
Stephane Viau
afbeed5d17 package/freescale-imx/imx-gpu-viv: bump version to 6.4.3.p0.0
This version is aligned with 5.4.47_2.2.0 NXP Linux BSP.

Signed-off-by: Stephane Viau <stephane.viau@oss.nxp.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2020-12-26 18:30:27 +01:00
Gary Bisson
6d21635c36 package/freescale-imx/imx-gpu-viv: remove fb headers fixup
As it doesn't seem to be needed any longer. Also it was agreed to fix
packages not using pkgconfig properly instead of doing this sed.

Tested on i.MX6 platform with Qt5, no more issues.

Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2020-10-29 23:34:06 +01:00
Gary Bisson
4f0f549114 package/freescale-imx/imx-gpu-viv: bump to version 6.4.0.p2.4
- Same version as NXP release 5.4.24-2.1.0
- No changelog provided by NXP
- COPYING/EULA update: LA_OPT_NXP_Software_License v11 February 2020
- Tested on Nitrogen8M device with Weston (DRM backend) as follows:
 # cd /usr/share/examples/viv_samples/vdk/
 # ./tutorial7

Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2020-07-16 22:24:59 +02:00
Refik Tuzakli
c8cf273f96 package/freescale-imx/imx-gpu-viv: bump to version 6.4.0.p1.0
While at it, we add hashes for the licenses files.

Signed-off-by: Refik Tuzakli <tuzakli.refik@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2020-02-04 11:09:51 +01:00
Laurent Hartanerot
06a5d193ed imx-gpu-viv: add a missing backslash
[Peter: add semicolon and || exit 1 to catch failures]
Signed-off-by: Laurent Hartanerot <laurent.hartanerot@atos.net>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-07-20 11:43:13 +02:00
Gary Bisson
84afda9ca6 imx-gpu-viv: enable package for 64-bit i.MX processors
Basically enabling the package for aarch64. One difference with 32-bit
i.MX platforms resides in the fact that Wayland is the only back-end
supported. Therefore X11 and Framebuffer options are masked.

This was tested on i.MX8MQ Nitrogen8M platform (with weston-imx):
 # cd /usr/share/examples/viv_samples/vdk/
 # ./tutorial7

Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
[Thomas: drop BR2_PACKAGE_FREESCALE_IMX_HAS_VIV_GPU_WAYLAND_ONLY and
use BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M directly.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-06-17 15:24:09 +02:00
Gary Bisson
90955660da imx-gpu-viv: bump to version 6.2.4.p1.2
No changelog was provided by NXP but we can assume it's the latest and
therefore the greatest.

What is known, is that that same version worked both ARM and ARM64.
The support for the latter will be added in a follow-up patch.

This package has been tested with X11, Framebuffer and Wayland
back-ends:
 # cd /usr/share/examples/viv_samples/vdk/
 # ./tutorial7
 # gmem_info
 ... display memory use per PID ...

Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-06-17 15:17:25 +02:00
Gary Bisson
ae7e5960a3 imx-gpu-viv: add Wayland backend option
This package has been tested with Wayland back-end using weston-imx
repository on a i.MX6Q Nitrogen6x:
https://source.codeaurora.org/external/imx/weston-imx/
(tag rel_imx_4.9.51_8mq_ga to work with both i.MX6 and i.MX8MQ)

Weston was started as follows:
 # export XDG_RUNTIME_DIR=/tmp
 # weston --tty=1 --device=/dev/fb0

Finally the Vivante sample apps were started from weston-terminal:
 # cd /usr/share/examples/viv_samples/vdk/
 # ./tutorial7

Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-05-19 21:53:52 +02:00
Maxime Hadjinlian
514291f39e packages: use new $($PKG)_DL_DIR) variable
Instead of DL_DIR, the package should now use $(PKG)_DL_DIR to ease the
transition into a new directory structure for DL_DIR.

This commit has been generated with the following scripts:

for i in $(find . -iname "*.mk"); do
	if ! grep -q "\$(DL_DIR)" ${i}; then
		continue
	fi
	pkg_name="$(basename $(dirname ${i}))"
	[ "${pkg_name}" = "package" ] && continue
	raw_pkg_name=$(echo ${pkg_name} | tr [a-z] [A-Z] | tr '-' '_')
	pkg_dl_dir="${raw_pkg_name}_DL_DIR"
	sed -i "s/\$(DL_DIR)/\$($pkg_dl_dir)/" ${i}
done

Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-04-02 15:53:53 +02:00
Gary Bisson
3cd1908292 imx-gpu-viv: fix compiling issues with EGL_API_FB
Just like the previous commit did:
c9ecdd2b96 gpu-viv-bin-mx6q: fix compiling issues with EGL_API_FB

Difference is that in latest package, eglvivante.h is included after
a EGL_API_FB check in eglplatform.h, giving the following error:
/.../sysroot/usr/include/EGL/eglplatform.h:146:10:
 fatal error: X11/Xlib.h: No such file or directory
 #include <X11/Xlib.h>

Also, this patch introduce IMX_GPU_VIV_FIXUP_PKGCONFIG which fixes
the pkgconfig files (for some reason default egl.pc file isn't the
same as the one for fb target).

Finally, this patch removes references to libVIVANTE which is now
replaced by libVDK.

Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2018-01-12 22:22:27 +01:00
Gary Bisson
f7a7d9487c imx-gpu-viv: bump to version 6.2.2.p0
New features:
- Added mutex protection for referencing gctSIGNAL in gckOS_MapSignal to
  fix a MT race issue.
- Streamlined GPU address calculation base on MC20 (0/1) and MMU (0/1)
  combinations.
- Fixed multiple Android HWC 2.0 rendering issues. Refined HWC 2.0 driver
  implementation.
- Improved HWC2.0 composition performance by composing damaged regions
  only.
- Enabled offline/online compiler IR assembly dump function for users.
- Implemented the direct rendering support (no-resolve) for Wayland
  platform.
- Added EGL_EXT_buffer_age extension for Wayland and fbdev platforms.
- Updated wayland-viv protocol to support tile status sync from client
  to server.
- Improved OpenCL 1.2 builtin function support with native GPU
  instructions.
- Enabled OpenCL 1.2 API trace dump function controlled by VIV_TRACE
  environment variable.
- Support for OpenGL4.0
- Cleaned up driver code issues reported by Klocwork and Coverity.

Full changelog:
http://git.freescale.com/git/cgit.cgi/imx/fsl-arm-yocto-bsp.git/tree/GraphicsChangeLogv6?h=imx-morty

Note that the apitrace tool and the G2D libraries are not part of the
package any longer, so the corresponding options are removed. The G2D
libraries are now provided by a separate package.

This package has been tested with both X11 and Framebuffer backends:
 # cd /usr/share/examples/viv_samples/vdk/
 # ./tutorial7
 # gmem_info
 ... display memory use per PID ...

Also update packages that depended on g2d libraries to match new package
name.

Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2018-01-07 15:28:40 +01:00
Adam Duskett
f7e7bf72a7 package/f*/Config.in: fix ordering of statements
The check-package script when ran gives warnings on ordering issues
on all of these Config files.  This patch cleans up all warnings
related to the ordering in the Config files for packages starting with
the letter f in the package directory.

The appropriate ordering is: type, default, depends on, select, help
See http://nightly.buildroot.org/#_config_files for more information.

Signed-off-by: Adam Duskett <Adamduskett@outlook.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-04-29 21:17:55 +02:00
Gary Bisson
8700d72294 imx-gpu-viv: bump to version 5.0.11.p8.6
Bug Fixes for P8.6 Graphics includes:

3D: MGS-2239 Destroy EGL window surface and makecurrent new surface
cause segmentation fault
3D: MGS-2237 [6Q-SDB] FB met GPU STATE DUMP when testing ES30
Conformance 100%
3D: MGS-2101 EGLImage created with an OpenVG parent image always returns
EGL_BAD_ACCESS
3D: MGS-2086 Met GPU dump when do driver test under dvfs stress test
3D: MGS-2150 optimized vertex copy for attribute upload
3D: MGS-2100 CubeMap sub-texture copy disappears when small size and
small x/y offset
3D: MA-8321 testTextureViewStress200Hz fail on kk4.4.3_2.0.1 with GPU
5.0.11p8
3D: MA-8302 testOpenGlEsVersion fail on kk4.4.3_2.0.1 with GPU 5.0.11p8
3D: MA-8300 Fix antutu3.0.3 2D/3D performance downgrade
3D: MA-8104 fix Antutu6.x benchmark 3D not supported issue
3D: MA-8110 Change NOTIFY_OK to NOTIFY_DONE in task_notify_func.
3D: MGS-1851 fix the integer id resource leak
3D: MGS-1845 refine es11 extension
3D: MGS-1717 display no output when use gplay to do loopback test
Compiler: MGS-1948 Fix UBO in shader can not support by new bsp release.
2D-VG: MGS-2154 VG kernel driver Allocate and Free wrong memory type
2D-VG: MGS-2089 fix gc355 vg freeze with interrupt signal
2D-VG: MGS-2084 fix vg pbuffer memory leak
2D-VG: MGS-1756 Portability issue: OpenVG includes "malloc.h" instead of
"stdlib.h" for malloc() function
2D: MA-8378 Refine g2d and gpu helper functions.
2D: MGS-1847 fix G2D build broken with g2dBUILD_FOR_VIVANTE=1
General: MGS-2243 Fix high impact Coverity issue in GPU kernel driver
General: MGS-2233 fix gpu axi bus error with process kill operations
General: MGS-2188 Fix misleading indents causing errors in gcc6
General: MGS-1624 QNX - port gmem_info tool
General: MGS-1630-1 5.0.11.p8 driver can't pass build with kernel 4.1 on
Android M6.0

This patch is based on the Yocto equivalent:
https://github.com/Freescale/meta-freescale/commit/de26bc15

This package has been tested with both X11 and Framebuffer backends:
 # cd /usr/share/examples/viv_samples/vdk/
 # apitrace trace --api egl ./tutorial7
 # gmem_info
 ... display memory use per PID ...
 # apitrace replay tutorial7.trace
 # eglretrace tutorial7.trace

Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-01 19:27:44 +01:00
Thomas Petazzoni
416fd9cd13 Replace (e)glibc by glibc
Following the removal of eglibc support, this commit replaces all
occurences of "(e)glibc" by just "glibc". Most of the occurences are in
package Config.in comments.

In addition, when the form "an (e)glibc ..." was used, it is replaced by
"a glibc ...".

[Peter: add new efi* packages, s/uclibc/uClibc as suggested by Romain,
        systemd / liquid-dsp tweaks as suggested by Yann]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Romain Naour <romain.naour@gmail.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-06-28 22:19:22 +02:00
Andrew Webster
018e1a06b7 imx-gpu-viv: bump version to 5.0.11-p8.4
Changelog:
Software floating point is no longer supported.

For a detailed list of changes in this update, see the Graphics section of
the i.MX Linux Release Notes contained in the i.MX Linux BSP documentation
here:

https://www.nxp.com/webapp/Download?colCode=L4.1.15_1.1.0_LINUX_DOCS&location=null&fpsp=1&WT_TYPE=Supporting%20Information&WT_VENDOR=FREESCALE&WT_FILE_FORMAT=gz&WT_ASSET=Documentation&fileExt=.gz&Parent_nodeId=1337637154535695831062&Parent_pageType=product

This patch is based on the Yocto equivalent:
https://github.com/Freescale/meta-fsl-arm/commit/b667ed4
https://github.com/Freescale/meta-fsl-arm/commit/af5b3a6

This package has been tested with both X11 and Framebuffer backends:
 # cd /usr/share/examples/viv_samples/vdk/
 # apitrace trace --api egl ./tutorial7
 # gmem_info
 ... display memory use per PID ...
 # apitrace replay tutorial7.trace
 # eglretrace tutorial7.trace

Signed-off-by: Andrew Webster <awebster@arcx.com>
Tested-by: Gary Bisson <gary.bisson@boundarydevices.com>
Reviewed-by: Gary Bisson <gary.bisson@boundarydevices.com>
[Thomas:
 - use only one comment for the glibc and ARM EABIhf dependency, like we
   do for the mali-t76x package.
 - reword the comment for the EABIhf dependency, as suggested by Gary
 - remove the IMX_GPU_VIV_BASE_VERSION variable, and use directly
   IMX_GPU_VIV_VERSION, as suggested by Gary.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-06-15 22:48:40 +02:00
Gary Bisson
88d244a0eb imx-gpu-viv: add apitrace dependency on libpng
This patch is based on the Yocto equivalent:
https://github.com/Freescale/meta-fsl-arm/commit/ce73c200

Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-03-18 23:15:50 +01:00
Gary Bisson
cd2c132596 imx-gpu-viv: bump version to 5.0.11 p7.4
This version is released with 3.14.52-1.1.0_ga release.

Includes many of the bug fixes and stability improvements.
For more information refer to i.MX Linux Release Notes from NXP website:
L3.14.52_1.1.0_LINUX_DOCS package is under Supporting Information.

This patch is based on the Yocto equivalent:
https://github.com/Freescale/meta-fsl-arm/commit/f1161869

This package has been tested with both X11 and Framebuffer backends:
 # cd /usr/share/examples/viv_samples/vdk/
 # apitrace trace --api egl ./tutorial7
 # gmem_info
 ... display memory use per PID ...
 # apitrace replay tutorial7.trace
 # eglretrace tutorial7.trace

Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-03-18 23:15:41 +01:00
Antoine Ténart
1d916a5d16 imx-gpu-viv: fix build dependencies when linking against libGAL.so
Packages like QT5 Base with OpenGL and X support link against libGAL.so
at build time. This results in an error because some X functions used
in libGAL.so aren't referenced as the libXdamage, libXext and libXfixes
packages aren't built and installed into sysroot at the time. Fix this
by adding these three packages as build dependencies of imx-gpu-viv.

Signed-off-by: Antoine Tenart <antoine.tenart@free-electrons.com>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-03-01 17:46:52 +01:00
Gary Bisson
1db97c0ce6 imx-gpu-viv: bump version to 5.0.11 p7.1
Upgrade to 5.0.11 P7.1 for i.MX6 with GPU

i.MX6QP qualified graphics driver(5.0.11P7.1).
Includes many of the bug fixes and stability improvements.
For more information refer to release notes from
http://www.freescale.com/imx6qp

libGAL_egl is no longer provided in p7.1.

This patch is based on the Yocto equivalent:
https://github.com/Freescale/meta-fsl-arm/commit/b3ef125

This package has been tested with both X11 and Framebuffer backends:
 # cd /usr/share/examples/viv_samples/vdk/
 # apitrace trace --api egl ./tutorial7
 # gmem_info
 ... display memory use per PID ...
 # apitrace replay tutorial7.trace
 # eglretrace tutorial7.trace

Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-02-01 21:46:27 +01:00
Gary Bisson
f640a6659f imx-gpu-viv: add G2D libs and GPU tools selection
GPU package now includes libraries for GPU2D as well as several tools to
monitor and debug the GPUs.

GPU2D libraries have been tested with the example provided in the
package:
 # /usr/share/examples/fsl-samples/g2d/overlay_test/g2d_overlay_test
 Overlay rendering time 53861us .

The tools have been tested with the following commands:
 # cd /usr/share/examples/viv_samples/vdk/
 # apitrace trace --api egl ./tutorial7 &
 # gmem_info
 ... display memory use per PID ...
 # killall tutorial7
 # apitrace replay tutorial7.trace
 # eglretrace tutorial7.trace

[Thomas: tweak the installation logic to be more explicit about paths
being copied, and to use cp -dpfr consistently.]

Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-10-12 23:40:18 +02:00
Gary Bisson
abac6887ca imx-gpu-viv: bump version to 5.0.11 p4.5
Also add the package hash file.

3.14.28-1.0.1 patch release has the following bug fixes:

MGS-554 [#1644] Fix the false alert with GPU commit dirty
MGS-528 [#ccc] Wayland does not free window memory until the application
exits
GRPH-56 [#ccc] Add environment variable to turn off memory fill
GRPH-55 [ccc] Add alpha channel for direct texture viv extension
MA-6540 [#1672] Fix native fence FD leak found by Android™ CTS
MGS-663 [#1686] P4 release can't be built statically
MA-6527 [#1666] Fix android.webgl.cts.WebGLTest CTS failure
MGS-511-2 [#1593] Qt 3D app cannot run on i.MX 6SoloX board
MGS-658 [#ccc] Fix build warning of isInApiTraceMode for static link
Revert MGS-352 [#1453] Creating context on 5.x is slower than 4.x due to
process name
read
MGS-578 [#1657] GoogleEarth APK encounters a shader compile error
MGS-507 [#1323] RenderToTexture has distorted pictures on screen in DL
board
MGS-547 [#ccc] Add YVYU format test in g2d_overlay_test
MGS-547 [#1640] YVYU format gets wrong result when 2D is built
MGS-564 [#ccc] Resolve race condition in display frame sync
MGS-367 [#1589] "CTRL+C" to close the "tutorial7_es20" causes GPU to
hang
MGS-543 [#1604] Remove some unsupported extensions in gles10
MGS-436 [#ccc] Memory leak in glimagesink video loop playback
MA-6267 [#1600] Fix ES3.0 benchmark UBenchEnhanced can't run
MA-6208-1 [#1543] Fix build error
MA-6208 [#1543] Fix com.drawelements.deqp.gles3 CTS failure
MGS-511 [#1593] Qt 3D app cannot run on i.MX 6SoloX board
MGS-512 [#1493] Fix es30 conformance failures related to glReadPixels
MGS-502 [#ccc] libCLC failure
MGS-500 [#ccc] Disable apitrace for static build

This patch is based on the Yocto equivalent:
https://github.com/Freescale/meta-freescale/commit/8f74380a

This package has been tested with both X11 and Framebuffer backends:
 # cd /usr/share/examples/viv_samples/vdk/
 # ./tutorial7

Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-09-19 15:38:33 +02:00
Gary Bisson
4c0613e7de gpu-viv-bin-mx6q: rename package to imx-gpu-viv
In order to be in line with new Freescale naming convention:

https://github.com/Freescale/meta-fsl-arm/commit/74c86aa9

"Graphics recipe is renamed from gpu-viv-bin-mx6q to imx-gpu-viv"

Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-07-11 13:00:45 +02:00