diff options
Diffstat (limited to 'recipes-graphics')
-rw-r--r-- | recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc | 70 | ||||
-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 | ||
5 | DESCRIPTION = "GPU driver and apps for i.MX" | 5 | DESCRIPTION = "GPU driver and apps for i.MX" |
6 | SECTION = "libs" | 6 | SECTION = "libs" |
7 | LICENSE = "Proprietary" | 7 | LICENSE = "Proprietary" |
8 | LIC_FILES_CHKSUM = "file://COPYING;md5=08fd295cce89b0a9c74b9b83ed74f671" | 8 | LIC_FILES_CHKSUM = "file://COPYING;md5=75abe2fa1d16ca79f87cde926f05f72d" |
9 | 9 | ||
10 | DEPENDS += " \ | 10 | DEPENDS += " \ |
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 | " |
15 | DEPENDS += "libdrm" | 15 | DEPENDS += "libdrm" |
16 | DEPENDS += " \ | ||
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" | |||
20 | DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'mesa', '', d)}" | 24 | DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'mesa', '', d)}" |
21 | 25 | ||
22 | EXTRA_PROVIDES = "" | 26 | EXTRA_PROVIDES = "" |
23 | EXTRA_PROVIDES_append_imxgpu3d = " virtual/libgl virtual/libgles1 virtual/libgles2" | 27 | EXTRA_PROVIDES_append_imxgpu3d = " \ |
24 | EXTRA_PROVIDES_append_mx6q = " virtual/opencl-icd opencl-headers" | 28 | virtual/libgl \ |
25 | PROVIDES += "imx-gpu-viv virtual/wayland-egl virtual/libgal-x11 virtual/egl virtual/libopenvg ${EXTRA_PROVIDES}" | 29 | virtual/libgles1 \ |
30 | virtual/libgles2 \ | ||
31 | " | ||
32 | " | ||
33 | PROVIDES += " \ | ||
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 | ||
27 | RPROVIDES_${PN}_imxgpu3d += "imx-gpu-viv" | 45 | RPROVIDES_${PN}_imxgpu3d += "imx-gpu-viv" |
28 | 46 | ||
@@ -73,16 +91,15 @@ INHIBIT_PACKAGE_DEBUG_SPLIT = "1" | |||
73 | REALSOLIBS := "${SOLIBS}" | 91 | REALSOLIBS := "${SOLIBS}" |
74 | SOLIBS = "${SOLIBSDEV}" | 92 | SOLIBS = "${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. | ||
81 | python __anonymous() { | 94 | python __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() { | |||
105 | IS_MX6SL = "0" | 122 | IS_MX6SL = "0" |
106 | IS_MX6SL_mx6sl = "1" | 123 | IS_MX6SL_mx6sl = "1" |
107 | 124 | ||
125 | PACKAGE_FP_TYPE = "hardfp" | ||
126 | |||
127 | GLES3_HEADER_REMOVALS = "gl31.h gl32.h" | ||
128 | |||
108 | do_install () { | 129 | do_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}" | |||
234 | INSANE_SKIP_libegl-imx += "dev-so" | 266 | INSANE_SKIP_libegl-imx += "dev-so" |
235 | FILES_libegl-imx = "${libdir}/libEGL${REALSOLIBS} ${libdir}/libEGL${SOLIBSDEV} " | 267 | FILES_libegl-imx = "${libdir}/libEGL${REALSOLIBS} ${libdir}/libEGL${SOLIBSDEV} " |
236 | FILES_libegl-imx-dev = "${includedir}/EGL ${includedir}/KHR ${libdir}/pkgconfig/egl.pc" | 268 | FILES_libegl-imx-dev = "${includedir}/EGL ${includedir}/KHR ${libdir}/pkgconfig/egl.pc" |
237 | RDEPENDS_libegl-imx += "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'libgc-wayland-protocol-imx libwayland-viv-imx libgc-wayland-protocol-imx', '', d)}" | ||
238 | RDEPENDS_libegl-imx-dev += "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'libwayland-egl-imx-dev', '', d)}" | 269 | RDEPENDS_libegl-imx-dev += "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'libwayland-egl-imx-dev', '', d)}" |
239 | 270 | ||
240 | FILES_libgal-imx = "${libdir}/libGAL${SOLIBS} ${libdir}/libGAL_egl${SOLIBS}" | 271 | FILES_libgal-imx = "${libdir}/libGAL${SOLIBS} ${libdir}/libGAL_egl${SOLIBS}" |
@@ -290,8 +321,9 @@ INSANE_SKIP_libopenvg-imx += "dev-so" | |||
290 | FILES_libopenvg-imx = "${libdir}/libOpenVG*${SOLIBS}" | 321 | FILES_libopenvg-imx = "${libdir}/libOpenVG*${SOLIBS}" |
291 | FILES_libopenvg-imx-dev = "${includedir}/VG ${libdir}/libOpenVG*${SOLIBSDEV} ${libdir}/pkgconfig/vg.pc" | 322 | FILES_libopenvg-imx-dev = "${includedir}/VG ${libdir}/libOpenVG*${SOLIBSDEV} ${libdir}/pkgconfig/vg.pc" |
292 | 323 | ||
293 | FILES_libvdk-imx = "${libdir}/libVDK${SOLIBS}" | 324 | FILES_libvdk-imx = "${libdir}/libVDK*${SOLIBS}" |
294 | FILES_libvdk-imx-dev = "${includedir}/*vdk*.h ${libdir}/libVDK${SOLIBSDEV}" | 325 | FILES_libvdk-imx-dev = "${includedir}/*vdk*.h ${libdir}/libVDK${SOLIBSDEV}" |
326 | INSANE_SKIP_libvdk-imx += "dev-so" | ||
295 | 327 | ||
296 | FILES_libvivante-dri-imx = "${libdir}/dri/vivante_dri.so" | 328 | FILES_libvivante-dri-imx = "${libdir}/dri/vivante_dri.so" |
297 | RDEPENDS_libvivante-dri-imx = "libdrm" | 329 | RDEPENDS_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 | ||
5 | require recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc | 5 | require recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc |
6 | 6 | ||
7 | SRC_URI[md5sum] = "7d43f73b8bc0c1c442587f819218a1d5" | 7 | SRC_URI[md5sum] = "280990aab8dee2ee9ce508cbf0d6833f" |
8 | SRC_URI[sha256sum] = "4f93a4412c93ca5959aa2437bfed2ecbaf983b5b272be5977f76a967de5db150" | 8 | SRC_URI[sha256sum] = "dddadd164bede4793409ccfb636324dd73862c33458db66a5860f126bada25dc" |
9 | 9 | ||
10 | PACKAGE_FP_TYPE = "hardfp" | 10 | PACKAGE_FP_TYPE = "hardfp" |
11 | 11 | ||