Patchwork [meta-fsl-arm] gpu-viv-bin-mx6q: Adding support to install Wayland GPU libs

login
register
mail settings
Submitter Abhijit Potnis
Date July 25, 2013, 1:25 p.m.
Message ID <1374758756-23668-1-git-send-email-abhijitpotnis@gmail.com>
Download mbox | patch
Permalink /patch/54487/
State Changes Requested
Delegated to: Otavio Salvador
Headers show

Comments

Abhijit Potnis - July 25, 2013, 1:25 p.m.
This patch installs wayland GPU libs if the DISTRO_FEATURES contains
wayland variable. If both X11 and wayland are present in DISTRO_FEATURES
then wayland is picked as the default backend.

Signed-off-by: Abhijit Potnis <abhijitpotnis@gmail.com>
Signed-off-by: Abhijit Potnis <abhijit_potnis@mentor.com>
---
 .../gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.inc          |   39 ++++++++++++++++----
 .../gpu-viv-bin-mx6q/gc_wayland_protocol.pc        |   10 +++++
 .../gpu-viv-bin-mx6q/wayland-egl.pc                |   10 +++++
 .../gpu-viv-bin-mx6q/wayland-viv.pc                |   10 +++++
 4 files changed, 62 insertions(+), 7 deletions(-)
 create mode 100644 recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/gc_wayland_protocol.pc
 create mode 100644 recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/wayland-egl.pc
 create mode 100644 recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/wayland-viv.pc
Otavio Salvador - July 25, 2013, 1:51 p.m.
On Thu, Jul 25, 2013 at 10:25 AM, Abhijit Potnis
<abhijitpotnis@gmail.com> wrote:
> This patch installs wayland GPU libs if the DISTRO_FEATURES contains
> wayland variable. If both X11 and wayland are present in DISTRO_FEATURES
> then wayland is picked as the default backend.
>
> Signed-off-by: Abhijit Potnis <abhijitpotnis@gmail.com>
> Signed-off-by: Abhijit Potnis <abhijit_potnis@mentor.com>
...
> +
> +#If both X11 and Wayland are set in DISTRO_FEATURES then use Wayland as base window system
> +    if [ "${USE_WL}" = "yes" ]; then
> +        backend=wl
>
> -    # FIXME: Remove Wayland contents
> -    rm -r ${D}${includedir}/wayland-viv
> -    find ${D}${libdir} -name '*-wl.so' -exec rm '{}' ';'
> -    rm ${D}${libdir}/*wayland*.so*
> +        install -m 0644 ${WORKDIR}/egl.pc ${D}${libdir}/pkgconfig/egl.pc
> +        install -m 0644 ${WORKDIR}/glesv1_cm.pc ${D}${libdir}/pkgconfig/glesv1_cm.pc
> +        install -m 0644 ${WORKDIR}/glesv2.pc ${D}${libdir}/pkgconfig/glesv2.pc
> +        install -m 0644 ${WORKDIR}/gc_wayland_protocol.pc ${D}${libdir}/pkgconfig/gc_wayland_protocol.pc
> +        install -m 0644 ${WORKDIR}/wayland-egl.pc ${D}${libdir}/pkgconfig/wayland-egl.pc
> +        install -m 0644 ${WORKDIR}/wayland-viv.pc ${D}${libdir}/pkgconfig/wayland-viv.pc
>
> -    if [ "${USE_X11}" = "yes" ]; then
> +    elif [ "${USE_X11}" = "yes" ]; then
>          cp -r ${S}/usr/lib/dri ${D}${libdir}
>          backend=x11
>
> @@ -118,7 +131,7 @@ do_install () {
>      mv ${D}${libdir}/libGAL-${backend}.so ${D}${libdir}/libGAL.so
>      mv ${D}${libdir}/libVIVANTE-${backend}.so ${D}${libdir}/libVIVANTE.so
>
> -    for backend in x11 fb dfb; do
> +    for backend in wl x11 fb dfb; do
>          find ${D}${libdir} -name "*-$backend.so" -exec rm '{}' ';'
>      done
>
> @@ -184,5 +197,17 @@ FILES_libvivante-mx6-dbg = "${libdir}/.debug/libVIVANTE${SOLIBS}"
>
>  FILES_libvivante-dri-mx6 = "${libdir}/dri/vivante_dri.so"
>
> +INSANE_SKIP_libwayland-viv-mx6 += "dev-so"

Same issues in previous patch. Trailing space and comment not in same
style as the rest of code.

Please add a 'vX' in the patch or it makes quite hard to follow which
one is the right.

Regards,

--
Otavio Salvador                             O.S. Systems
http://www.ossystems.com.br        http://projetos.ossystems.com.br
Mobile: +55 (53) 9981-7854            Mobile: +1 (347) 903-9750

Patch

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
index c10b837..42d815d 100644
--- a/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.inc
+++ b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.inc
@@ -7,7 +7,7 @@  SECTION = "libs"
 LICENSE = "Proprietary"
 LIC_FILES_CHKSUM = "file://usr/include/gc_vdk.h;endline=11;md5=19f5925343fa3da65596eeaa4ddb5fd3"
 DEPENDS += "${@base_contains('DISTRO_FEATURES', 'x11', 'virtual/libx11 libxdamage libxext libxfixes', '', d)} mesa"
-PROVIDES += "virtual/libgl virtual/libgal-x11 virtual/egl virtual/libgles1 virtual/libgles2"
+PROVIDES += "virtual/wayland-egl virtual/libgl virtual/libgal-x11 virtual/egl virtual/libgles1 virtual/libgles2"
 
 PE = "1"
 
@@ -20,6 +20,9 @@  SRC_URI = "${FSL_MIRROR}/${PN}-${PV}.bin;fsl-eula=true \
            file://glesv1_cm_x11.pc \
            file://glesv2.pc \
            file://glesv2_x11.pc \
+           file://gc_wayland_protocol.pc \
+           file://wayland-egl.pc \
+           file://wayland-viv.pc \
           "
 
 PACKAGES =+ "libclc-mx6 libclc-mx6-dev libclc-mx6-dbg \
@@ -34,10 +37,14 @@  PACKAGES =+ "libclc-mx6 libclc-mx6-dev libclc-mx6-dbg \
 	libgal-mx6 libgal-mx6-dev libgal-mx6-dbg \
 	libvivante-mx6 libvivante-mx6-dev libvivante-mx6-dbg \
 	libvivante-dri-mx6 \
+	libwayland-viv-mx6 libwayland-viv-mx6-dev libwayland-viv-mx6-dbg \
+	libgc-wayland-protocol-mx6 libgc-wayland-protocol-mx6-dev libgc-wayland-protocol-mx6-dbg \
+	libwayland-egl-mx6-dev \
 "
 
 USE_X11 = "${@base_contains("DISTRO_FEATURES", "x11", "yes", "no", d)}"
 USE_DFB = "${@base_contains("DISTRO_FEATURES", "directfb", "yes", "no", d)}"
+USE_WL = "${@base_contains("DISTRO_FEATURES", "wayland", "yes", "no", d)}"
 
 # Inhibit warnings about files being stripped.
 INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
@@ -85,13 +92,19 @@  do_install () {
     cp -axr ${S}/opt ${D}
 
     install -d ${D}${libdir}/pkgconfig
+  
+#If both X11 and Wayland are set in DISTRO_FEATURES then use Wayland as base window system
+    if [ "${USE_WL}" = "yes" ]; then
+        backend=wl        
 
-    # FIXME: Remove Wayland contents
-    rm -r ${D}${includedir}/wayland-viv
-    find ${D}${libdir} -name '*-wl.so' -exec rm '{}' ';'
-    rm ${D}${libdir}/*wayland*.so*
+        install -m 0644 ${WORKDIR}/egl.pc ${D}${libdir}/pkgconfig/egl.pc
+        install -m 0644 ${WORKDIR}/glesv1_cm.pc ${D}${libdir}/pkgconfig/glesv1_cm.pc
+        install -m 0644 ${WORKDIR}/glesv2.pc ${D}${libdir}/pkgconfig/glesv2.pc
+        install -m 0644 ${WORKDIR}/gc_wayland_protocol.pc ${D}${libdir}/pkgconfig/gc_wayland_protocol.pc
+        install -m 0644 ${WORKDIR}/wayland-egl.pc ${D}${libdir}/pkgconfig/wayland-egl.pc
+        install -m 0644 ${WORKDIR}/wayland-viv.pc ${D}${libdir}/pkgconfig/wayland-viv.pc          
 
-    if [ "${USE_X11}" = "yes" ]; then
+    elif [ "${USE_X11}" = "yes" ]; then
         cp -r ${S}/usr/lib/dri ${D}${libdir}
         backend=x11
 
@@ -118,7 +131,7 @@  do_install () {
     mv ${D}${libdir}/libGAL-${backend}.so ${D}${libdir}/libGAL.so
     mv ${D}${libdir}/libVIVANTE-${backend}.so ${D}${libdir}/libVIVANTE.so
 
-    for backend in x11 fb dfb; do
+    for backend in wl x11 fb dfb; do
         find ${D}${libdir} -name "*-$backend.so" -exec rm '{}' ';'
     done
 
@@ -184,5 +197,17 @@  FILES_libvivante-mx6-dbg = "${libdir}/.debug/libVIVANTE${SOLIBS}"
 
 FILES_libvivante-dri-mx6 = "${libdir}/dri/vivante_dri.so"
 
+INSANE_SKIP_libwayland-viv-mx6 += "dev-so"                            
+FILES_libwayland-viv-mx6 =  "${libdir}/libwayland-viv${REALSOLIBS}  ${libdir}/libwayland-viv${SOLIBS}"
+FILES_libwayland-viv-mx6-dev = "${libdir})/libwayland-viv${SOLIBSDEV} ${libdir}/pkgconfig/wayland-viv.pc "
+FILES_libwayland-viv-mx6-dbg = "${libdir}/.debug/libwayland-viv${SOLIBS}"
+
+INSANE_SKIP_libgc-wayland-protocol-mx6 += "dev-so"
+FILES_libgc-wayland-protocol-mx6 = "${libdir}/libgc_wayland_protocol${REALSOLIBS} ${libdir}/libgc_wayland_protocol${SOLIBS}"
+FILES_libgc-wayland-protocol-mx6-dev = "${libdir}/libgc_wayland_protocol${SOLIBSDEV} ${libdir}/pkgconfig/gc_wayland_protocol.pc"
+FILES_libgc-wayland-protocol-mx6-dbg = "${libdir}/libgc_wayland_protocol${SOLIBS}"
+
+FILES_libwayland-egl-mx6-dev = "${libdir}/pkgconfig/wayland-egl.pc"
+
 PACKAGE_ARCH = "${MACHINE_ARCH}"
 COMPATIBLE_MACHINE = "(mx6)"
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 @@ 
+prefix=/usr
+exec_prefix=${prefix}
+libdir=${exec_prefix}/lib
+includedir=${prefix}/include
+
+Name: gc_wayland_protocol
+Description: Vivante Wayland Protocol Extension Library
+Version: 0.1
+Cflags: -I${includedir}
+Libs: -L${libdir} -lgc_wayland_protocol
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..afaeb13
--- /dev/null
+++ b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/wayland-egl.pc
@@ -0,0 +1,10 @@ 
+prefix=/usr
+exec_prefix=${prefix}
+libdir=${exec_prefix}/lib
+includedir=${prefix}/include
+
+Name: wayland-egl
+Description: Bind the driver EGL to the Wayland API
+Version: 0.1
+Libs: -L${libdir} -lEGL
+Cflags: -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 @@ 
+prefix=/usr
+exec_prefix=${prefix}
+libdir=${exec_prefix}/lib
+includedir=${prefix}/include
+
+Name: Wayland Vivante Lib
+Description: Wayland server side library for Vivante's EGL driver
+Version: 0.1
+Cflags: -I${includedir}/wayland-viv
+Libs: -L${libdir} -lwayland-viv