summaryrefslogtreecommitdiffstats
path: root/recipes-graphics/gpu-viv-bin-mx6q
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-graphics/gpu-viv-bin-mx6q')
-rw-r--r--recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.inc259
-rw-r--r--recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/0001-change-header-path-to-HAL.patch30
-rw-r--r--recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/directfbrc10
-rw-r--r--recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/egl.pc12
-rw-r--r--recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/egl_x11.pc12
-rw-r--r--recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/fix-conflicting-TLS-definition.patch31
-rw-r--r--recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/gc_hal_eglplatform-remove-xlib-undefs.patch34
-rw-r--r--recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/gc_wayland_protocol.pc10
-rw-r--r--recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/glesv1_cm.pc12
-rw-r--r--recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/glesv1_cm_x11.pc12
-rw-r--r--recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/glesv2.pc12
-rw-r--r--recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/glesv2_x11.pc12
-rw-r--r--recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/vg.pc12
-rw-r--r--recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/vg_x11.pc12
-rw-r--r--recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/wayland-egl.pc10
-rw-r--r--recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/wayland-viv.pc10
-rw-r--r--recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q_3.10.17-1.0.0-hfp.bb9
-rw-r--r--recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q_3.10.17-1.0.0-sfp.bb9
18 files changed, 508 insertions, 0 deletions
diff --git a/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.inc b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.inc
new file mode 100644
index 0000000..4106848
--- /dev/null
+++ b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.inc
@@ -0,0 +1,259 @@
1# Copyright (C) 2012-2013 Freescale Semiconductor
2# Copyright (C) 2012-2014 O.S. Systems Software LTDA.
3# Released under the MIT license (see COPYING.MIT for the terms)
4
5DESCRIPTION = "GPU driver and apps for imx6"
6SECTION = "libs"
7LICENSE = "Proprietary"
8LIC_FILES_CHKSUM = "file://usr/include/gc_vdk.h;endline=11;md5=19f5925343fa3da65596eeaa4ddb5fd3"
9
10DEPENDS += "${@base_contains('DISTRO_FEATURES', 'x11', 'virtual/libx11 libxdamage libxext libxfixes mesa', \
11 base_contains('DISTRO_FEATURES', 'wayland', 'wayland', \
12 '', d), d)}"
13
14PROVIDES += "virtual/wayland-egl virtual/libgl virtual/libgal-x11 virtual/egl virtual/libgles1 virtual/libgles2 virtual/libopenvg"
15
16PE = "1"
17
18inherit fsl-eula-unpack
19
20SRC_URI = "${FSL_MIRROR}/${PN}-${PV}.bin;fsl-eula=true \
21 file://egl.pc \
22 file://egl_x11.pc \
23 file://glesv1_cm.pc \
24 file://glesv1_cm_x11.pc \
25 file://glesv2.pc \
26 file://glesv2_x11.pc \
27 file://vg.pc \
28 file://vg_x11.pc \
29 file://gc_wayland_protocol.pc \
30 file://wayland-egl.pc \
31 file://wayland-viv.pc \
32 file://directfbrc \
33 "
34
35PACKAGES =+ "libclc-mx6 libclc-mx6-dev libclc-mx6-dbg \
36 libgl-mx6 libgl-mx6-dev libgl-mx6-dbg \
37 libgles-mx6 libgles-mx6-dev libgles-mx6-dbg \
38 libgles2-mx6 libgles2-mx6-dev libgles2-mx6-dbg \
39 libglslc-mx6 libglslc-mx6-dev libglslc-mx6-dbg \
40 libopencl-mx6 libopencl-mx6-dev libopencl-mx6-dbg \
41 libopenvg-mx6 libopenvg-mx6-dev libopenvg-mx6-dbg \
42 libvdk-mx6 libvdk-mx6-dev libvdk-mx6-dbg \
43 libegl-mx6 libegl-mx6-dev libegl-mx6-dbg \
44 libgal-mx6 libgal-mx6-dev libgal-mx6-dbg \
45 libvivante-mx6 libvivante-mx6-dev libvivante-mx6-dbg \
46 libvivante-dri-mx6 \
47 libvivante-dfb-mx6 \
48 libwayland-viv-mx6 libwayland-viv-mx6-dev libwayland-viv-mx6-dbg \
49 libgc-wayland-protocol-mx6 libgc-wayland-protocol-mx6-dev libgc-wayland-protocol-mx6-dbg \
50 libwayland-egl-mx6-dev \
51"
52
53# Skip package if it does not match the machine float-point type in use
54python __anonymous () {
55 is_machine_hardfp = base_contains("TUNE_FEATURES", "callconvention-hard", True, False, d)
56 is_package_hardfp = d.getVar("PACKAGE_FP_TYPE", True) == "hardfp"
57
58 if is_package_hardfp != is_machine_hardfp:
59 PN = d.getVar("PN", True)
60 PV = d.getVar("PV", True)
61 bb.debug(1, "Skipping %s (%s) as machine and package float-point does not match" % (PN, PV))
62 raise bb.parse.SkipPackage("Package Float-Point is not compatible with the machine")
63}
64
65USE_X11 = "${@base_contains("DISTRO_FEATURES", "x11", "yes", "no", d)}"
66USE_DFB = "${@base_contains("DISTRO_FEATURES", "directfb", "yes", "no", d)}"
67USE_WL = "${@base_contains("DISTRO_FEATURES", "wayland", "yes", "no", d)}"
68
69# Inhibit warnings about files being stripped.
70INHIBIT_PACKAGE_STRIP = "1"
71INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
72
73# FIXME: The provided binary doesn't provide soname. If in future BSP
74# release the libraries are fixed, we can drop this hack.
75REALSOLIBS := "${SOLIBS}"
76SOLIBS = "${SOLIBSDEV}"
77
78# For the packages that make up the OpenGL interfaces, inject variables so that
79# they don't get Debian-renamed (which would remove the -mx6 suffix).
80#
81# FIXME: All binaries lack GNU_HASH in elf binary but as we don't have
82# the source we cannot fix it. Disable the insane check for now.
83python __anonymous() {
84 packages = d.getVar('PACKAGES', True).split()
85 for p in packages:
86 d.appendVar("INSANE_SKIP_%s" % p, " ldflags")
87
88 for p in (("libegl", "libegl1"), ("libgl", "libgl1"),
89 ("libgles1", "libglesv1-cm1"), ("libgles2", "libglesv2-2"),
90 ("libgles3",)):
91 fullp = p[0] + "-mx6"
92 pkgs = " ".join(p)
93 d.setVar("DEBIAN_NOAUTONAME_" + fullp, "1")
94 d.appendVar("RREPLACES_" + fullp, pkgs)
95 d.appendVar("RPROVIDES_" + fullp, pkgs)
96 d.appendVar("RCONFLICTS_" + fullp, pkgs)
97
98 # For -dev, the first element is both the Debian and original name
99 fullp += "-dev"
100 pkgs = p[0] + "-dev"
101 d.setVar("DEBIAN_NOAUTONAME_" + fullp, "1")
102 d.appendVar("RREPLACES_" + fullp, pkgs)
103 d.appendVar("RPROVIDES_" + fullp, pkgs)
104 d.appendVar("RCONFLICTS_" + fullp, pkgs)
105}
106
107do_install () {
108 install -d ${D}${libdir}
109 install -d ${D}${includedir}
110
111 cp -a ${S}/usr/lib/*.so* ${D}${libdir}
112 cp -axr ${S}/usr/include/* ${D}${includedir}
113 cp -axr ${S}/opt ${D}
114
115 install -d ${D}${libdir}/pkgconfig
116
117 # The preference order, based in DISTRO_FEATURES, is x11, wayland, directfb and fb
118 if [ "${USE_X11}" = "yes" ]; then
119 cp -r ${S}/usr/lib/dri ${D}${libdir}
120 backend=x11
121
122 install -m 0644 ${WORKDIR}/egl_x11.pc ${D}${libdir}/pkgconfig/egl.pc
123 install -m 0644 ${WORKDIR}/glesv1_cm_x11.pc ${D}${libdir}/pkgconfig/glesv1_cm.pc
124 install -m 0644 ${WORKDIR}/glesv2_x11.pc ${D}${libdir}/pkgconfig/glesv2.pc
125 install -m 0644 ${WORKDIR}/vg_x11.pc ${D}${libdir}/pkgconfig/vg.pc
126 #FIXME: WL & X11 is not currently functional
127 #if [ "${USE_WL}" = "yes" ]; then
128 # install -m 0644 ${WORKDIR}/gc_wayland_protocol.pc ${D}${libdir}/pkgconfig/gc_wayland_protocol.pc
129 # install -m 0644 ${WORKDIR}/wayland-egl.pc ${D}${libdir}/pkgconfig/wayland-egl.pc
130 # install -m 0644 ${WORKDIR}/wayland-viv.pc ${D}${libdir}/pkgconfig/wayland-viv.pc
131 #fi
132 elif [ "${USE_WL}" = "yes" ]; then
133 backend=wl
134
135 install -m 0644 ${WORKDIR}/egl.pc ${D}${libdir}/pkgconfig/egl.pc
136 install -m 0644 ${WORKDIR}/glesv1_cm.pc ${D}${libdir}/pkgconfig/glesv1_cm.pc
137 install -m 0644 ${WORKDIR}/glesv2.pc ${D}${libdir}/pkgconfig/glesv2.pc
138 install -m 0644 ${WORKDIR}/vg.pc ${D}${libdir}/pkgconfig/vg.pc
139 install -m 0644 ${WORKDIR}/gc_wayland_protocol.pc ${D}${libdir}/pkgconfig/gc_wayland_protocol.pc
140 install -m 0644 ${WORKDIR}/wayland-egl.pc ${D}${libdir}/pkgconfig/wayland-egl.pc
141 install -m 0644 ${WORKDIR}/wayland-viv.pc ${D}${libdir}/pkgconfig/wayland-viv.pc
142 else
143 install -m 0644 ${WORKDIR}/egl.pc ${D}${libdir}/pkgconfig/egl.pc
144 install -m 0644 ${WORKDIR}/glesv1_cm.pc ${D}${libdir}/pkgconfig/glesv1_cm.pc
145 install -m 0644 ${WORKDIR}/glesv2.pc ${D}${libdir}/pkgconfig/glesv2.pc
146 install -m 0644 ${WORKDIR}/vg.pc ${D}${libdir}/pkgconfig/vg.pc
147
148 if [ "${USE_DFB}" = "yes" ]; then
149 install -d ${D}/${sysconfdir}
150 install -m 644 ${WORKDIR}/directfbrc ${D}/${sysconfdir}/directfbrc
151
152 cp -r ${S}/usr/lib/directfb-1.6-0 ${D}${libdir}
153 backend=dfb
154 else
155 # Regular framebuffer
156 backend=fb
157 fi
158 fi
159
160 # We'll only have one backend here so we rename it to generic name
161 # and avoid rework in other packages, when possible
162 mv ${D}${libdir}/libGL.so.1.2 ${D}${libdir}/libGL.so.1.2.0
163 ln -sf libGL.so.1.2.0 ${D}${libdir}/libGL.so.1.2
164 ln -sf libGL.so.1.2.0 ${D}${libdir}/libGL.so
165 mv ${D}${libdir}/libEGL-${backend}.so ${D}${libdir}/libEGL.so.1.0
166 ln -sf libEGL.so.1.0 ${D}${libdir}/libEGL.so.1
167 ln -sf libEGL.so.1.0 ${D}${libdir}/libEGL.so
168 mv ${D}${libdir}/libGAL-${backend}.so ${D}${libdir}/libGAL.so
169 mv ${D}${libdir}/libVIVANTE-${backend}.so ${D}${libdir}/libVIVANTE.so
170
171 # update libglesv2 as backend dependent
172 rm -rf ${D}${libdir}/libGLESv2*
173 cp -a ${S}/usr/lib/libGLESv2-${backend}.so ${D}${libdir}/libGLESv2.so.2.0.0
174 ln -sf libGLESv2.so.2.0.0 ${D}${libdir}/libGLESv2.so.2
175 ln -sf libGLESv2.so.2.0.0 ${D}${libdir}/libGLESv2.so
176
177 for backend in wl x11 fb dfb; do
178 find ${D}${libdir} -name "*-$backend.so" -exec rm '{}' ';'
179 done
180
181 find ${D}${libdir} -type f -exec chmod 644 {} \;
182 find ${D}${includedir} -type f -exec chmod 644 {} \;
183}
184
185FILES_${PN} += "/opt"
186FILES_${PN}-dev = "${includedir}"
187FILES_${PN}-dbg = "${libdir}/.debug /opt/viv_samples/*/*/.debug"
188
189FILES_libclc-mx6 = "${libdir}/libCLC${SOLIBS}"
190FILES_libclc-mx6-dev = "${includedir}/CL ${libdir}/libCLC${SOLIBSDEV}"
191FILES_libclc-mx6-dbg = "${libdir}/.debug/libCLC${SOLIBS}"
192
193# libEGL.so is used by some demo apps from Freescale
194INSANE_SKIP_libegl-mx6 += "dev-so"
195FILES_libegl-mx6 = "${libdir}/libEGL${REALSOLIBS} ${libdir}/libEGL${SOLIBSDEV} "
196FILES_libegl-mx6-dev = "${includedir}/EGL ${includedir}/KHR ${libdir}/pkgconfig/egl.pc"
197FILES_libegl-mx6-dbg = "${libdir}/.debug/libEGL${SOLIBS}"
198
199FILES_libgal-mx6 = "${libdir}/libGAL${SOLIBS}"
200FILES_libgal-mx6-dev = "${libdir}/libGAL${SOLIBSDEV}"
201FILES_libgal-mx6-dbg = "${libdir}/.debug/libGAL${SOLIBS}"
202
203FILES_libgl-mx6 = "${libdir}/libGL${REALSOLIBS}"
204FILES_libgl-mx6-dev = "${libdir}/libGL${SOLIBSDEV}"
205FILES_libgl-mx6-dbg = "${libdir}/.debug/libGL.${SOLIBS}"
206
207# libEGL needs to open libGLESv1.so
208INSANE_SKIP_libgles-mx6 += "dev-so"
209FILES_libgles-mx6 = "${libdir}/libGLESv1*${REALSOLIBS} ${libdir}/libGLESv1*${SOLIBS} ${libdir}/libGLES_*${SOLIBS}"
210FILES_libgles-mx6-dev = "${includedir}/GLES ${libdir}/libGLESv1*${SOLIBS} ${libdir}/libGLES_*${SOLIBSDEV} ${libdir}/pkgconfig/glesv1_cm.pc"
211FILES_libgles-mx6-dbg = "${libdir}/.debug/libGLESv1*${SOLIBS} ${libdir}/.debug/libGLES_*${SOLIBS}"
212
213# libEGL needs to open libGLESv2.so
214INSANE_SKIP_libgles2-mx6 += "dev-so"
215FILES_libgles2-mx6 = "${libdir}/libGLESv2${REALSOLIBS} ${libdir}/libGLESv2${SOLIBS}"
216FILES_libgles2-mx6-dev = "${includedir}/GLES2 ${libdir}/libGLESv2${SOLIBSDEV} ${libdir}/pkgconfig/glesv2.pc"
217FILES_libgles2-mx6-dbg = "${libdir}/.debug/libGLESv2${SOLIBS}"
218RDEPENDS_libgles2-mx6 = "libglslc-mx6"
219
220FILES_libglslc-mx6 = "${libdir}/libGLSLC${SOLIBS}"
221FILES_libglslc-mx6-dev = "${includedir}/CL ${libdir}/libGLSLC${SOLIBSDEV}"
222FILES_libglslc-mx6-dbg = "${libdir}/.debug/libGLSLC${SOLIBS}"
223
224FILES_libopencl-mx6 = "${libdir}/libOpenCL${SOLIBS}"
225FILES_libopencl-mx6-dev = "${includedir}/CL ${libdir}/libOpenCL${SOLIBSDEV}"
226FILES_libopencl-mx6-dbg = "${libdir}/.debug/libOpenCL${SOLIBS}"
227RDEPENDS_libopencl-mx6 = "libclc-mx6"
228
229FILES_libopenvg-mx6 = "${libdir}/libOpenVG*${SOLIBS}"
230FILES_libopenvg-mx6-dev = "${includedir}/VG ${libdir}/libOpenVG*${SOLIBSDEV} ${libdir}/pkgconfig/vg.pc"
231FILES_libopenvg-mx6-dbg = "${libdir}/.debug/libOpenVG*${SOLIBS}"
232
233FILES_libvdk-mx6 = "${libdir}/libVDK${SOLIBS}"
234FILES_libvdk-mx6-dev = "${includedir}/*vdk.h ${libdir}/libVDK${SOLIBSDEV}"
235FILES_libvdk-mx6-dbg = "${libdir}/.debug/libVDK${SOLIBS}"
236
237FILES_libvivante-mx6 = "${libdir}/libVIVANTE${SOLIBS}"
238FILES_libvivante-mx6-dev = "${libdir}/libVIVANTE${SOLIBSDEV}"
239FILES_libvivante-mx6-dbg = "${libdir}/.debug/libVIVANTE${SOLIBS}"
240
241FILES_libvivante-dri-mx6 = "${libdir}/dri/vivante_dri.so"
242
243FILES_libvivante-dfb-mx6 = "${libdir}/directfb-1.6-0/gfxdrivers/libdirectfb_gal.so"
244
245INSANE_SKIP_libwayland-viv-mx6 += "dev-so"
246FILES_libwayland-viv-mx6 = "${libdir}/libwayland-viv${REALSOLIBS} ${libdir}/libwayland-viv${SOLIBS}"
247FILES_libwayland-viv-mx6-dev = "${libdir})/libwayland-viv${SOLIBSDEV} ${libdir}/pkgconfig/wayland-viv.pc"
248FILES_libwayland-viv-mx6-dbg = "${libdir}/.debug/libwayland-viv${SOLIBS}"
249
250INSANE_SKIP_libgc-wayland-protocol-mx6 += "dev-so"
251FILES_libgc-wayland-protocol-mx6 = "${libdir}/libgc_wayland_protocol${REALSOLIBS} ${libdir}/libgc_wayland_protocol${SOLIBS}"
252FILES_libgc-wayland-protocol-mx6-dev = "${libdir}/libgc_wayland_protocol${SOLIBSDEV} ${libdir}/pkgconfig/gc_wayland_protocol.pc"
253FILES_libgc-wayland-protocol-mx6-dbg = "${libdir}/libgc_wayland_protocol${SOLIBS}"
254
255FILES_libwayland-egl-mx6-dev = "${libdir}/pkgconfig/wayland-egl.pc"
256
257FILES_libvivante-dfb-mx6 += "${sysconfdir}/directfbrc"
258
259COMPATIBLE_MACHINE = "(mx6)"
diff --git a/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/0001-change-header-path-to-HAL.patch b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/0001-change-header-path-to-HAL.patch
new file mode 100644
index 0000000..dc91d7c
--- /dev/null
+++ b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/0001-change-header-path-to-HAL.patch
@@ -0,0 +1,30 @@
1From 1a4a35678ef70283d1a31835deecd39711a9db86 Mon Sep 17 00:00:00 2001
2From: Jeremy Stashluk <jstashluk@dekaresearch.com>
3Date: Wed, 30 Jan 2013 13:16:53 -0500
4Subject: [PATCH] change header path to HAL
5
6The gpu-viv-bin-mx6q package from Freescale puts this header in the HAL
7directory under the system. I think this is a problem in the LTIB release as
8well.
9
10Upstream-Status: Pending
11
12Signed-off-by: Jeremy Stashluk <jstashluk@dekaresearch.com>
13
14---
15 usr/include/gc_vdk_types.h | 2 +-
16 1 file changed, 1 insertion(+), 1 deletion(-)
17
18Index: gpu-viv-bin-mx6q-1.1.0/usr/include/gc_vdk_types.h
19===================================================================
20--- gpu-viv-bin-mx6q-1.1.0.orig/usr/include/gc_vdk_types.h
21+++ gpu-viv-bin-mx6q-1.1.0/usr/include/gc_vdk_types.h
22@@ -39,7 +39,7 @@ extern "C" {
23 #endif
24
25 #include <EGL/egl.h>
26-#include "gc_hal_eglplatform_type.h"
27+#include <HAL/gc_hal_eglplatform_type.h>
28
29
30 /*******************************************************************************
diff --git a/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/directfbrc b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/directfbrc
new file mode 100644
index 0000000..bae398c
--- /dev/null
+++ b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/directfbrc
@@ -0,0 +1,10 @@
1# directfbrc begin
2system=fbdev
3mode=1024x768 # display size (change to fit your needs)
4desktop-buffer-mode=frontonly # if no double buffering in framebuffer driver
5depth=16
6pixelformat=RGB16
7#no-hardware # disable hardware acceleration
8#no-software # disable software fallbacks
9# directfbrc end
10
diff --git a/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/egl.pc b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/egl.pc
new file mode 100644
index 0000000..a21922d
--- /dev/null
+++ b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/egl.pc
@@ -0,0 +1,12 @@
1prefix=/usr
2exec_prefix=${prefix}
3libdir=/usr/lib
4includedir=/usr/include
5
6Name: egl
7Description: Vivante EGL library
8Requires.private:
9Version: 8.0
10Libs: -L${libdir} -lEGL
11Libs.private: -lm -lpthread -ldl
12Cflags: -I${includedir} -DLINUX
diff --git a/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/egl_x11.pc b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/egl_x11.pc
new file mode 100644
index 0000000..5921583
--- /dev/null
+++ b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/egl_x11.pc
@@ -0,0 +1,12 @@
1prefix=/usr
2exec_prefix=${prefix}
3libdir=/usr/lib
4includedir=/usr/include
5
6Name: egl
7Description: Vivante EGL library
8Requires.private: libdrm x11 xext xdamage xfixes xcb
9Version: 8.0
10Libs: -L${libdir} -lEGL
11Libs.private: -lm -lpthread -ldl
12Cflags: -I${includedir} -DLINUX
diff --git a/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/fix-conflicting-TLS-definition.patch b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/fix-conflicting-TLS-definition.patch
new file mode 100644
index 0000000..3eac116
--- /dev/null
+++ b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/fix-conflicting-TLS-definition.patch
@@ -0,0 +1,31 @@
1Avoid conflicting types with Xorg newer code
2
3Upstream-Status: Pending
4Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
5
6Index: gpu-viv-bin-mx6q-1.1.0/usr/include/HAL/gc_hal_base.h
7===================================================================
8--- gpu-viv-bin-mx6q-1.1.0.orig/usr/include/HAL/gc_hal_base.h
9+++ gpu-viv-bin-mx6q-1.1.0/usr/include/HAL/gc_hal_base.h
10@@ -101,7 +101,7 @@ extern gcsPLS gcPLS;
11 typedef struct _gcsTLS * gcsTLS_PTR;
12
13 typedef void (* gctTLS_DESTRUCTOR) (
14- gcsTLS_PTR TLS
15+ gcsTLS_PTR pTLS
16 );
17
18 typedef struct _gcsTLS
19@@ -648,10 +648,10 @@ gcoOS_SetPLSValue(
20 /* Get access to the thread local storage. */
21 gceSTATUS
22 gcoOS_GetTLS(
23- OUT gcsTLS_PTR * TLS
24+ OUT gcsTLS_PTR * pTLS
25 );
26
27- /* Copy the TLS from a source thread. */
28+ /* Copy the pTLS from a source thread. */
29 gceSTATUS gcoOS_CopyTLS(IN gcsTLS_PTR Source);
30
31 /* Destroy the objects associated with the current thread. */
diff --git a/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/gc_hal_eglplatform-remove-xlib-undefs.patch b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/gc_hal_eglplatform-remove-xlib-undefs.patch
new file mode 100644
index 0000000..732a073
--- /dev/null
+++ b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/gc_hal_eglplatform-remove-xlib-undefs.patch
@@ -0,0 +1,34 @@
1From c59f9640d185759208f9d55a93b6602936dcb5e8 Mon Sep 17 00:00:00 2001
2From: Adrian Alonso <aalonso00@gmail.com>
3Date: Sat, 26 Jan 2013 17:52:04 -0600
4Subject: [PATCH 2/2] gc_hal_eglplatform: remove xlib undefs
5
6* Remove header undefs for Always and Status definitions
7
8Signed-off-by: Adrian Alonso <aalonso00@gmail.com>
9---
10 usr/include/HAL/gc_hal_eglplatform.h | 3 ---
11 1 file changed, 3 deletions(-)
12
13diff --git a/usr/include/HAL/gc_hal_eglplatform.h b/usr/include/HAL/gc_hal_eglplatform.h
14index a968fe7..e80c65a 100644
15--- a/usr/include/HAL/gc_hal_eglplatform.h
16+++ b/usr/include/HAL/gc_hal_eglplatform.h
17@@ -341,14 +341,11 @@ typedef Pixmap HALNativePixmapType;
18 /* Rename some badly named X defines. */
19 #ifdef Status
20 # define XStatus int
21-# undef Status
22 #endif
23 #ifdef Always
24 # define XAlways 2
25-# undef Always
26 #endif
27 #ifdef CurrentTime
28-# undef CurrentTime
29 # define XCurrentTime 0
30 #endif
31
32--
331.8.1
34
diff --git a/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/gc_wayland_protocol.pc b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/gc_wayland_protocol.pc
new file mode 100644
index 0000000..f4610ea
--- /dev/null
+++ b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/gc_wayland_protocol.pc
@@ -0,0 +1,10 @@
1prefix=/usr
2exec_prefix=${prefix}
3libdir=${exec_prefix}/lib
4includedir=${prefix}/include
5
6Name: gc_wayland_protocol
7Description: Vivante Wayland Protocol Extension Library
8Version: 0.1
9Cflags: -I${includedir}
10Libs: -L${libdir} -lgc_wayland_protocol
diff --git a/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/glesv1_cm.pc b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/glesv1_cm.pc
new file mode 100644
index 0000000..d97b067
--- /dev/null
+++ b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/glesv1_cm.pc
@@ -0,0 +1,12 @@
1prefix=/usr
2exec_prefix=${prefix}
3libdir=/usr/lib
4includedir=/usr/include
5
6Name: glesv1_cm
7Description: Vivante OpenGL ES 1.1 CM library
8Requires.private:
9Version: 8.0
10Libs: -L${libdir} -lGLESv1_CM -lEGL -lGAL
11Libs.private: -lm -lpthread -ldl
12Cflags: -I${includedir}
diff --git a/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/glesv1_cm_x11.pc b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/glesv1_cm_x11.pc
new file mode 100644
index 0000000..e801633
--- /dev/null
+++ b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/glesv1_cm_x11.pc
@@ -0,0 +1,12 @@
1prefix=/usr
2exec_prefix=${prefix}
3libdir=/usr/lib
4includedir=/usr/include
5
6Name: glesv1_cm
7Description: Vivante OpenGL ES 1.1 CM library
8Requires.private: libdrm x11 xext xdamage xfixes xcb
9Version: 8.0
10Libs: -L${libdir} -lGLESv1_CM -lEGL -lGAL
11Libs.private: -lm -lpthread -ldl
12Cflags: -I${includedir}
diff --git a/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/glesv2.pc b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/glesv2.pc
new file mode 100644
index 0000000..9be46f2
--- /dev/null
+++ b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/glesv2.pc
@@ -0,0 +1,12 @@
1prefix=/usr
2exec_prefix=${prefix}
3libdir=/usr/lib
4includedir=/usr/include
5
6Name: glesv2
7Description: Vivante OpenGL ES 2.0 library
8Requires.private:
9Version: 8.0
10Libs: -L${libdir} -lGLESv2 -lEGL -lGAL
11Libs.private: -lpthread -lrt
12Cflags: -I${includedir}
diff --git a/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/glesv2_x11.pc b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/glesv2_x11.pc
new file mode 100644
index 0000000..57ad807
--- /dev/null
+++ b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/glesv2_x11.pc
@@ -0,0 +1,12 @@
1prefix=/usr
2exec_prefix=${prefix}
3libdir=/usr/lib
4includedir=/usr/include
5
6Name: glesv2
7Description: Vivante OpenGL ES 2.0 library
8Requires.private: libdrm x11 xext xdamage xfixes xcb
9Version: 8.0
10Libs: -L${libdir} -lGLESv2 -lEGL -lGAL
11Libs.private: -lpthread -lrt
12Cflags: -I${includedir}
diff --git a/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/vg.pc b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/vg.pc
new file mode 100644
index 0000000..7c00def
--- /dev/null
+++ b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/vg.pc
@@ -0,0 +1,12 @@
1prefix=/usr
2exec_prefix=${prefix}
3libdir=/usr/lib
4includedir=/usr/include
5
6Name: vg
7Description: Vivante OpenVG 1.1 library
8Requires.private:
9Version: 8.0
10Libs: -L${libdir} -lOpenVG -lEGL -lGAL
11Libs.private: -lpthread -lrt
12Cflags: -I${includedir}
diff --git a/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/vg_x11.pc b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/vg_x11.pc
new file mode 100644
index 0000000..94fb91e
--- /dev/null
+++ b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/vg_x11.pc
@@ -0,0 +1,12 @@
1prefix=/usr
2exec_prefix=${prefix}
3libdir=/usr/lib
4includedir=/usr/include
5
6Name: vg
7Description: Vivante OpenVG 1.1 library
8Requires.private: libdrm x11 xext xdamage xfixes xcb
9Version: 8.0
10Libs: -L${libdir} -lOpenVG -lEGL -lGAL
11Libs.private: -lpthread -lrt
12Cflags: -I${includedir}
diff --git a/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/wayland-egl.pc b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/wayland-egl.pc
new file mode 100644
index 0000000..ba1b898
--- /dev/null
+++ b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/wayland-egl.pc
@@ -0,0 +1,10 @@
1prefix=/usr
2exec_prefix=${prefix}
3libdir=${exec_prefix}/lib
4includedir=${prefix}/include
5
6Name: wayland-egl
7Description: Bind the driver EGL to the Wayland API
8Version: 1.0.0
9Libs: -L${libdir} -lEGL
10Cflags: -I${includedir}
diff --git a/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/wayland-viv.pc b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/wayland-viv.pc
new file mode 100644
index 0000000..3fdedd0
--- /dev/null
+++ b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/wayland-viv.pc
@@ -0,0 +1,10 @@
1prefix=/usr
2exec_prefix=${prefix}
3libdir=${exec_prefix}/lib
4includedir=${prefix}/include
5
6Name: Wayland Vivante Lib
7Description: Wayland server side library for Vivante's EGL driver
8Version: 0.1
9Cflags: -I${includedir}/wayland-viv
10Libs: -L${libdir} -lwayland-viv
diff --git a/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q_3.10.17-1.0.0-hfp.bb b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q_3.10.17-1.0.0-hfp.bb
new file mode 100644
index 0000000..0a16621
--- /dev/null
+++ b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q_3.10.17-1.0.0-hfp.bb
@@ -0,0 +1,9 @@
1# Copyright (C) 2013, 2014 Freescale Semiconductor
2# Released under the MIT license (see COPYING.MIT for the terms)
3
4require gpu-viv-bin-mx6q.inc
5
6SRC_URI[md5sum] = "8b9c4f6181acf46028e39508a970ecc1"
7SRC_URI[sha256sum] = "7e5a3db22b99740756f408b881691f81c03090256754e44f69369bf039e9cbcf"
8
9PACKAGE_FP_TYPE = "hardfp"
diff --git a/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q_3.10.17-1.0.0-sfp.bb b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q_3.10.17-1.0.0-sfp.bb
new file mode 100644
index 0000000..44bbd6d
--- /dev/null
+++ b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q_3.10.17-1.0.0-sfp.bb
@@ -0,0 +1,9 @@
1# Copyright (C) 2013, 2014 Freescale Semiconductor
2# Released under the MIT license (see COPYING.MIT for the terms)
3
4require gpu-viv-bin-mx6q.inc
5
6SRC_URI[md5sum] = "d1137c148aff0a25bd19feca889329c2"
7SRC_URI[sha256sum] = "e6af458221041d2d1ce6338a666969bbda73aa26270b243cfc4d22f9c0d913c9"
8
9PACKAGE_FP_TYPE = "softfp"