summaryrefslogtreecommitdiffstats
path: root/recipes-graphics/imx-gpu-viv
diff options
context:
space:
mode:
authorFabio Berton <fabio.berton@ossystems.com.br>2018-06-11 11:23:26 -0300
committerOtavio Salvador <otavio@ossystems.com.br>2018-06-26 14:16:13 -0300
commit44753dac76df485730f4a50466ff816886e3932e (patch)
tree95d317d7c2ec3899fe81cd6553d33c7065b8ed7a /recipes-graphics/imx-gpu-viv
parent1594c64aa5d51a0c97835f6548215fb0b48e0a34 (diff)
downloadmeta-freescale-44753dac76df485730f4a50466ff816886e3932e.tar.gz
imx-gpu-viv: Update to 6.2.4.p1.2
Key Features of the Vivante 6.x Driver Series - Full support for Khronos OpenGL ES 3.2 API. The new OpenGL ES 3.2 and OpenGL ES Shading Language 3.20 specifications bring AEP, plus additional functionality, into core OpenGL ES. Vivante OpenGL ES 3.2 implementation has passed Khronos OpenGL ES 3.2 Conformance Test. And Vivante GC7000XS* GPU core has been certified by Khronos as an OpenGL ES 3.2 compliant product. - Backward Compatible with 5.x and 4.x Drivers. Existing OpenGL ES 3.x/2.0 applications can run on these drivers without any changes. 6.2.4P1 GPU Release (8MQ GA) ======================================== Key Features ============ - OpenCL improvements - Wayland-weston DRM Support - Wayland-weston with 2D accelerated renderer - Wayland-Weston EGL DRM Modifier support - Wayland-Weston EGL Framebuffer compression - Wayland-Weston DMABUF support - OpenCV tests with OpenCL - Add GPU DRM support - GLES CTS version 3.2.4 6.2.4P1 Improvements ================== OCL: MGS-3255-34 add opencl memory optimzation OCL: MGS-3255-33 fix opencl test buffer copy failure OCL: MGS-3640 fix opencl corruption for arm_compute_library OCL: MGS-3710 SoftISP meet CL_INVALID_WORK_GROUP_SIZE (-54) on mscale and qxp OCL: cache invalidate for uncached buffer get accesing user space memory outsied uaccess.h error OCL: ovx and ocl running together EGL MGS-3711 met display blurred when run weston-nested EGL: Enable extension EGL_EXT_image_dma_buf_import_modifiers EGL: weston-nested met process aborted and core dump EGL: MGS-3399 fix wayland egl resize cts failure EGL: support direct rendering on external drm buffer EGL: MGS-3840-2 fix 6qp display flicker with fbdev test EGL: MGS-3791 imx6q shared egl context rendering issue EGL: MGS-3744 fix GC355 OpenVG flicker on wayland EGL: MA-11528 Support enable framebuffer direct rendering GLES3.0: 6QP FB have CTS failures with ESCTS 3.2.2.0 GLES: MGS-3570 glGenerateMipmap takes too much time on 5.x/6.x driver Weston: Disable surface compress if g2d-renderer GBM: Enable DRM compression for mscale board GBM: MGS-3625 6.2.4.p1: Fix xserver build break with GBM change GBM :MGS-3694 enable fb fd and tile status fd in GPU and DCSS on wayland Android:MA-11232 Enable HDR10 support on imx8mq platform. Android: MA-10844 GPU driver pass build after refine some NXP git path Android : MA-11101 Add HAL_PIXEL_FORMAT_NV12_TILED format to support VPU tile QNX:iMX8QM MGS-2906 VDK app fail if it's started as the first app after screen QNX:iMX8QM MGS-3289 [iMX8] Rotation using blitter seems broken QNX:iMX8QM MGS-3338 - Deadlock seen with Screen API test QNX:iMX8QM MGS-3323 QNX -[iMX8] Fix NV12 handling iMX8QM Disable depth compression for LPDDR4 parts OCL: MGS-3848-5 OCL1.2: test_image_streams failures OCL:MGS-3832 cl_convolution of ACL cause MMU exception OVX: MGS-3579 Fix the invalid scope of VX graph for 8QM OVG: MGS-3826 met core dump and system prompt out of memory when do OpenVG memory leak test. OVG: MGS-3750 fix gc355 openvg stuck issue on 6q and 6qp OVG: MGS-3791 VGCTS failed to run on i.MX6SL wayland OGL: MGS-3570 glGenerateMipmap takes too much time on 5.x/6.x driver OGL: MGS-3741 glmark2 test met error message General: MGS-3848 refinements for pm and isr General: MGS-3840 Display resume back very slow and has snow screen after suspend and resume. General: MGS-3751 met GPU core dump when run multiple es20 sdk apps Known Issues ============ MGS-3770 [6q/6qp] can not generate correct reference file after do api retrace and sometimes met stuck - Need wayland support in waffle. will be addressed in next release MGS-3747 [6dl/6q] X11: copytex can't work after "Qt5_NMapper" app test. YOCIMX-2354 Some qt3-3d demos not work. Issue related to QTwayland in 5.8 later MGS-3739 can not pass webgl 1.0.2 CTS test. Chromium 64 known issue. Same reproduced on desktop Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br> Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Diffstat (limited to 'recipes-graphics/imx-gpu-viv')
-rw-r--r--recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc70
-rw-r--r--recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.2.4.p1.2-aarch32.bb (renamed from recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.2.2.p0-aarch32.bb)4
2 files changed, 53 insertions, 21 deletions
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 b6f5f24e..f47bd973 100644
--- a/recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc
+++ b/recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc
@@ -1,11 +1,11 @@
1# Copyright (C) 2012-2016 Freescale Semiconductor 1# Copyright (C) 2012-2016 Freescale Semiconductor
2# Copyright (C) 2012-2016 O.S. Systems Software LTDA. 2# Copyright (C) 2012-2018 O.S. Systems Software LTDA.
3# Released under the MIT license (see COPYING.MIT for the terms) 3# Released under the MIT license (see COPYING.MIT for the terms)
4 4
5DESCRIPTION = "GPU driver and apps for i.MX" 5DESCRIPTION = "GPU driver and apps for i.MX"
6SECTION = "libs" 6SECTION = "libs"
7LICENSE = "Proprietary" 7LICENSE = "Proprietary"
8LIC_FILES_CHKSUM = "file://COPYING;md5=08fd295cce89b0a9c74b9b83ed74f671" 8LIC_FILES_CHKSUM = "file://COPYING;md5=75abe2fa1d16ca79f87cde926f05f72d"
9 9
10DEPENDS += " \ 10DEPENDS += " \
11 ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', \ 11 ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', \
@@ -13,6 +13,10 @@ DEPENDS += " \
13 '', d), d)} \ 13 '', d), d)} \
14" 14"
15DEPENDS += "libdrm" 15DEPENDS += "libdrm"
16DEPENDS += " \
17 ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libxcb libxshmfence libxxf86vm', \
18 '', d)} \
19"
16 20
17# imx-gpu-viv does not provide everything it needs to for virtual/libgl 21# imx-gpu-viv does not provide everything it needs to for virtual/libgl
18# on x11 backend or on Wayland backend with XWayland support. 22# on x11 backend or on Wayland backend with XWayland support.
@@ -20,9 +24,23 @@ DEPENDS += "libdrm"
20DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'mesa', '', d)}" 24DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'mesa', '', d)}"
21 25
22EXTRA_PROVIDES = "" 26EXTRA_PROVIDES = ""
23EXTRA_PROVIDES_append_imxgpu3d = " virtual/libgl virtual/libgles1 virtual/libgles2" 27EXTRA_PROVIDES_append_imxgpu3d = " \
24EXTRA_PROVIDES_append_mx6q = " virtual/opencl-icd opencl-headers" 28 virtual/libgl \
25PROVIDES += "imx-gpu-viv virtual/wayland-egl virtual/libgal-x11 virtual/egl virtual/libopenvg ${EXTRA_PROVIDES}" 29 virtual/libgles1 \
30 virtual/libgles2 \
31"
32"
33PROVIDES += " \
34 imx-gpu-viv \
35 virtual/libgal-x11 \
36 opencl-headers \
37 virtual/egl \
38 virtual/libopenvg \
39 virtual/opencl-headers \
40 virtual/opencl-icd \
41 virtual/wayland-egl \
42 ${EXTRA_PROVIDES} \
43"
26 44
27RPROVIDES_${PN}_imxgpu3d += "imx-gpu-viv" 45RPROVIDES_${PN}_imxgpu3d += "imx-gpu-viv"
28 46
@@ -73,16 +91,15 @@ INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
73REALSOLIBS := "${SOLIBS}" 91REALSOLIBS := "${SOLIBS}"
74SOLIBS = "${SOLIBSDEV}" 92SOLIBS = "${SOLIBSDEV}"
75 93
76# For the packages that make up the OpenGL interfaces, inject variables so that
77# they don't get Debian-renamed (which would remove the -imx suffix).
78#
79# FIXME: All binaries lack GNU_HASH in elf binary but as we don't have
80# the source we cannot fix it. Disable the insane check for now.
81python __anonymous() { 94python __anonymous() {
95 # FIXME: All binaries lack GNU_HASH in elf binary but as we don't have
96 # the source we cannot fix it. Disable the insane check for now.
82 packages = d.getVar('PACKAGES', True).split() 97 packages = d.getVar('PACKAGES', True).split()
83 for p in packages: 98 for p in packages:
84 d.appendVar("INSANE_SKIP_%s" % p, " ldflags") 99 d.appendVar("INSANE_SKIP_%s" % p, " ldflags")
85 100
101 # For the packages that make up the OpenGL interfaces, inject variables so that
102 # they don't get Debian-renamed (which would remove the -imx suffix).
86 for p in (("libegl", "libegl1"), ("libgl", "libgl1"), 103 for p in (("libegl", "libegl1"), ("libgl", "libgl1"),
87 ("libgles1", "libglesv1-cm1"), ("libgles2", "libglesv2-2"), 104 ("libgles1", "libglesv1-cm1"), ("libgles2", "libglesv2-2"),
88 ("libgles3",) , ("libvulkan",)): 105 ("libgles3",) , ("libvulkan",)):
@@ -105,6 +122,10 @@ python __anonymous() {
105IS_MX6SL = "0" 122IS_MX6SL = "0"
106IS_MX6SL_mx6sl = "1" 123IS_MX6SL_mx6sl = "1"
107 124
125PACKAGE_FP_TYPE = "hardfp"
126
127GLES3_HEADER_REMOVALS = "gl31.h gl32.h"
128
108do_install () { 129do_install () {
109 install -d ${D}${libdir} 130 install -d ${D}${libdir}
110 install -d ${D}${includedir} 131 install -d ${D}${includedir}
@@ -115,6 +136,8 @@ do_install () {
115 cp -r ${S}/gpu-demos/opt ${D} 136 cp -r ${S}/gpu-demos/opt ${D}
116 cp -r ${S}/gpu-tools/gmem-info/usr/bin/* ${D}${bindir} 137 cp -r ${S}/gpu-tools/gmem-info/usr/bin/* ${D}${bindir}
117 138
139 # Use vulkan header from vulkan recipe to support vkmark
140 rm -rf ${D}${includedir}/vulkan/vulkan.h
118 141
119 install -d ${D}${libdir}/pkgconfig 142 install -d ${D}${libdir}/pkgconfig
120 143
@@ -127,10 +150,6 @@ do_install () {
127 install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/glesv1_cm.pc ${D}${libdir}/pkgconfig/glesv1_cm.pc 150 install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/glesv1_cm.pc ${D}${libdir}/pkgconfig/glesv1_cm.pc
128 install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/glesv2.pc ${D}${libdir}/pkgconfig/glesv2.pc 151 install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/glesv2.pc ${D}${libdir}/pkgconfig/glesv2.pc
129 install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/vg.pc ${D}${libdir}/pkgconfig/vg.pc 152 install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/vg.pc ${D}${libdir}/pkgconfig/vg.pc
130 install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/gc_wayland_protocol.pc ${D}${libdir}/pkgconfig/gc_wayland_protocol.pc
131 install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/wayland-egl.pc ${D}${libdir}/pkgconfig/wayland-egl.pc
132 install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/wayland-viv.pc ${D}${libdir}/pkgconfig/wayland-viv.pc
133 install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/gbm.pc ${D}${libdir}/pkgconfig/gbm.pc
134 153
135 if [ "${USE_X11}" = "yes" ]; then 154 if [ "${USE_X11}" = "yes" ]; then
136 155
@@ -176,7 +195,16 @@ do_install () {
176 ln -sf libEGL.so.1.0 ${D}${libdir}/libEGL.so.1 195 ln -sf libEGL.so.1.0 ${D}${libdir}/libEGL.so.1
177 ln -sf libEGL.so.1.0 ${D}${libdir}/libEGL.so 196 ln -sf libEGL.so.1.0 ${D}${libdir}/libEGL.so
178 mv ${D}${libdir}/libGAL-${backend}.so ${D}${libdir}/libGAL.so 197 mv ${D}${libdir}/libGAL-${backend}.so ${D}${libdir}/libGAL.so
179 mv ${D}${libdir}/libVDK-${backend}.so ${D}${libdir}/libVDK.so 198 if [ "${USE_WL}" = "yes" ]; then
199 # Special case for libVDK on Wayland backend, deliver fb library as well.
200 # Need to rename the libraries to avoid the code below that will remove
201 # *-fb.so and *-wl.so
202 mv ${D}${libdir}/libVDK-fb.so ${D}${libdir}/libVDK-framebuffer.so
203 mv ${D}${libdir}/libVDK-wl.so ${D}${libdir}/libVDK-wayland.so
204 ln -sf libVDK-wayland.so ${D}${libdir}/libVDK.so
205 else
206 mv ${D}${libdir}/libVDK-${backend}.so ${D}${libdir}/libVDK.so
207 fi
180 208
181 # update libglesv2 as backend dependent 209 # update libglesv2 as backend dependent
182 rm -rf ${D}${libdir}/libGLESv2* 210 rm -rf ${D}${libdir}/libGLESv2*
@@ -184,10 +212,14 @@ do_install () {
184 ln -sf libGLESv2.so.2.0.0 ${D}${libdir}/libGLESv2.so.2 212 ln -sf libGLESv2.so.2.0.0 ${D}${libdir}/libGLESv2.so.2
185 ln -sf libGLESv2.so.2.0.0 ${D}${libdir}/libGLESv2.so 213 ln -sf libGLESv2.so.2.0.0 ${D}${libdir}/libGLESv2.so
186 214
215 for header in ${GLES3_HEADER_REMOVALS}; do
216 rm -f ${D}${includedir}/GLES3/${header}
217 done
218
187 # skip packaging wayland libraries if no support is requested 219 # skip packaging wayland libraries if no support is requested
188 if [ "${USE_WL}" = "no" ]; then 220 if [ "${USE_WL}" = "no" ]; then
189 rm ${D}${libdir}/libgc_wayland_protocol.* 221 find ${D}${libdir} -name "libgc_wayland_protocol.*" -exec rm '{}' ';'
190 rm ${D}${libdir}/libwayland-viv.* 222 find ${D}${libdir} -name "libwayland-viv.*" -exec rm '{}' ';'
191 fi 223 fi
192 224
193 for i in wl x11 fb dri; do 225 for i in wl x11 fb dri; do
@@ -234,7 +266,6 @@ FILES_libclc-imx-dev = "${includedir}/CL ${libdir}/libCLC${SOLIBSDEV}"
234INSANE_SKIP_libegl-imx += "dev-so" 266INSANE_SKIP_libegl-imx += "dev-so"
235FILES_libegl-imx = "${libdir}/libEGL${REALSOLIBS} ${libdir}/libEGL${SOLIBSDEV} " 267FILES_libegl-imx = "${libdir}/libEGL${REALSOLIBS} ${libdir}/libEGL${SOLIBSDEV} "
236FILES_libegl-imx-dev = "${includedir}/EGL ${includedir}/KHR ${libdir}/pkgconfig/egl.pc" 268FILES_libegl-imx-dev = "${includedir}/EGL ${includedir}/KHR ${libdir}/pkgconfig/egl.pc"
237RDEPENDS_libegl-imx += "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'libgc-wayland-protocol-imx libwayland-viv-imx libgc-wayland-protocol-imx', '', d)}"
238RDEPENDS_libegl-imx-dev += "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'libwayland-egl-imx-dev', '', d)}" 269RDEPENDS_libegl-imx-dev += "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'libwayland-egl-imx-dev', '', d)}"
239 270
240FILES_libgal-imx = "${libdir}/libGAL${SOLIBS} ${libdir}/libGAL_egl${SOLIBS}" 271FILES_libgal-imx = "${libdir}/libGAL${SOLIBS} ${libdir}/libGAL_egl${SOLIBS}"
@@ -290,8 +321,9 @@ INSANE_SKIP_libopenvg-imx += "dev-so"
290FILES_libopenvg-imx = "${libdir}/libOpenVG*${SOLIBS}" 321FILES_libopenvg-imx = "${libdir}/libOpenVG*${SOLIBS}"
291FILES_libopenvg-imx-dev = "${includedir}/VG ${libdir}/libOpenVG*${SOLIBSDEV} ${libdir}/pkgconfig/vg.pc" 322FILES_libopenvg-imx-dev = "${includedir}/VG ${libdir}/libOpenVG*${SOLIBSDEV} ${libdir}/pkgconfig/vg.pc"
292 323
293FILES_libvdk-imx = "${libdir}/libVDK${SOLIBS}" 324FILES_libvdk-imx = "${libdir}/libVDK*${SOLIBS}"
294FILES_libvdk-imx-dev = "${includedir}/*vdk*.h ${libdir}/libVDK${SOLIBSDEV}" 325FILES_libvdk-imx-dev = "${includedir}/*vdk*.h ${libdir}/libVDK${SOLIBSDEV}"
326INSANE_SKIP_libvdk-imx += "dev-so"
295 327
296FILES_libvivante-dri-imx = "${libdir}/dri/vivante_dri.so" 328FILES_libvivante-dri-imx = "${libdir}/dri/vivante_dri.so"
297RDEPENDS_libvivante-dri-imx = "libdrm" 329RDEPENDS_libvivante-dri-imx = "libdrm"
diff --git a/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.2.2.p0-aarch32.bb b/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.2.4.p1.2-aarch32.bb
index 9f3b7cc1..05004570 100644
--- a/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.2.2.p0-aarch32.bb
+++ b/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.2.4.p1.2-aarch32.bb
@@ -4,8 +4,8 @@
4 4
5require recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc 5require recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc
6 6
7SRC_URI[md5sum] = "7d43f73b8bc0c1c442587f819218a1d5" 7SRC_URI[md5sum] = "280990aab8dee2ee9ce508cbf0d6833f"
8SRC_URI[sha256sum] = "4f93a4412c93ca5959aa2437bfed2ecbaf983b5b272be5977f76a967de5db150" 8SRC_URI[sha256sum] = "dddadd164bede4793409ccfb636324dd73862c33458db66a5860f126bada25dc"
9 9
10PACKAGE_FP_TYPE = "hardfp" 10PACKAGE_FP_TYPE = "hardfp"
11 11