summaryrefslogtreecommitdiffstats
path: root/recipes-graphics
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-graphics')
-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