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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>