Skip to contentSkip to conversation

Mesa cleanup and more PACKAGECONFIG options

PATCH In review Martin Jansa 2 participants 12 messages Jun 12, 2013 – Jun 14, 2013

lore
Share & tools
lore
#0 lore raw

cover Mesa cleanup and more PACKAGECONFIG options

The following changes since commit 74158c2e99c6d8631800ae80025d1cc9f19336d2:

tune-cortexa*.inc: fix tunings for cortex a5, a7, a8, a9, a15 machines. (2013-06-12 17:54:28 +0100)

are available in the git repository at:

git://git.openembedded.org/openembedded-core-contrib jansa/mesa2
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=jansa/mesa2

Martin Jansa (10):
mesa: merge mesa-common.inc to mesa.inc
mesa: use PACKAGECONFIG instead of DISTRO_FEATURES to define
EGL_PLATFORMS
mesa: move LIC_FILES_CHKSUM to .inc
mesa: merge mesa-git.inc to mesa_git.bb
mesa: introduce PACKAGECONFIG for dri
mesa: remove more .la files
mesa: introduce gallium PACKAGECONFIG
mesa: introduce openvg PACKAGECONFIG
mesa: use PACKAGESPLITFUNCS
mesa: introduce gallium-llvmpipe PACKAGECONFIG

 meta/recipes-graphics/mesa/mesa-common.inc         | 106 ---------------
 meta/recipes-graphics/mesa/mesa-git.inc            |  12 --
 meta/recipes-graphics/mesa/mesa.inc                | 144 +++++++++++++++++++--
 ...void-use-of-AC_CHECK_FILE-for-cross-compi.patch |  65 ++++++++++
 ...move-the-power-of-two-sizeof-struct-cmd_b.patch |  42 ++++++
 meta/recipes-graphics/mesa/mesa_9.1.3.bb           |   9 +-
 meta/recipes-graphics/mesa/mesa_git.bb             |  16 ++-
 7 files changed, 260 insertions(+), 134 deletions(-)
 delete mode 100644 meta/recipes-graphics/mesa/mesa-common.inc
 delete mode 100644 meta/recipes-graphics/mesa/mesa-git.inc
 create mode 100644 meta/recipes-graphics/mesa/mesa/0001-configure-Avoid-use-of-AC_CHECK_FILE-for-cross-compi.patch
 create mode 100644 meta/recipes-graphics/mesa/mesa/0001-llvmpipe-remove-the-power-of-two-sizeof-struct-cmd_b.patch
Signature · 1 line
1.8.2.1
#1 lore raw

PATCH 1/10 mesa: merge mesa-common.inc to mesa.inc

---
 meta/recipes-graphics/mesa/mesa-common.inc | 106 ----------------------------
 meta/recipes-graphics/mesa/mesa.inc        | 108 ++++++++++++++++++++++++++++-
 meta/recipes-graphics/mesa/mesa_9.1.3.bb   |   1 -
 meta/recipes-graphics/mesa/mesa_git.bb     |   1 -
 4 files changed, 105 insertions(+), 111 deletions(-)
 delete mode 100644 meta/recipes-graphics/mesa/mesa-common.inc
meta/recipes-graphics/mesa/mesa-common.inc deleted +0 -106
deleted file mode 100644
index f9d7ced..0000000
@@ -1,106 +0,0 @@
-SUMMARY = "A free implementation of the OpenGL API"
-DESCRIPTION = "Mesa is an open-source implementation of the OpenGL specification - \
-a system for rendering interactive 3D graphics.  \
-A variety of device drivers allows Mesa to be used in many different environments \
-ranging from software emulation to complete hardware acceleration for modern GPUs. \
-Mesa is used as part of the overall Direct Rendering Infrastructure and X.org \
-environment."
-
-HOMEPAGE = "http://mesa3d.org"
-BUGTRACKER = "https://bugs.freedesktop.org"
-SECTION = "x11"
-LICENSE = "MIT"
-
-INC_PR = "r9"
-PE = "2"
-
-DEPENDS = "expat makedepend-native flex-native bison-native"
-
-PROVIDES = "virtual/libgl virtual/libgles1 virtual/libgles2 virtual/egl"
-
-inherit autotools pkgconfig pythonnative
-
-EXTRA_OECONF = "--enable-shared-glapi"
-
-PACKAGECONFIG ??= "egl gles \
-		${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}\
-		${@base_contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)}\
-		"
-
-X11_DEPS = "xf86driproto glproto virtual/libx11 libxext libxxf86vm libxdamage libxfixes"
-PACKAGECONFIG[x11] = "--enable-glx-tls,--disable-glx,${X11_DEPS}"
-PACKAGECONFIG[wayland] = ",,wayland"
-
-
-# Multiple virtual/gl providers being built breaks staging
-EXCLUDE_FROM_WORLD = "1"
-
-# Remove the mesa dependency on mesa-dev, as mesa is empty
-RDEPENDS_${PN}-dev = ""
-
-PACKAGES =+ "libegl-mesa libegl-mesa-dev \
-             libosmesa libosmesa-dev \
-             libgl-mesa libgl-mesa-dev \
-             libdricore libdricore-dev \
-             libglapi libglapi-dev \
-             libgbm libgbm-dev \
-             libgles1-mesa libgles1-mesa-dev \
-             libgles2-mesa libgles2-mesa-dev \
-             libgles3-mesa libgles3-mesa-dev \
-             libwayland-egl libwayland-egl-dev \
-            "
-
-do_install_append () {
-    # GLU is now in libglu (this shouldn't be required in Mesa 9.x)
-    rm -f ${D}${includedir}/GL/glu*
-
-    # Drivers never need libtool .la files
-    rm -f ${D}${libdir}/dri/*.la
-}
-
-# For the packages that make up the OpenGL interfaces, inject variables so that
-# they don't get Debian-renamed (which would remove the -mesa suffix), and
-# RPROVIDEs/RCONFLICTs on the generic libgl name.
-python __anonymous() {
-    for p in (("libegl", "libegl1"), ("libgl", "libgl1"),
-              ("libgles1", "libglesv1-cm1"), ("libgles2", "libglesv2-2"),
-              ("libgles3",)):
-        fullp = p[0] + "-mesa"
-        pkgs = " ".join(p)
-        d.setVar("DEBIAN_NOAUTONAME_" + fullp, "1")
-        d.appendVar("RREPLACES_" + fullp, pkgs)
-        d.appendVar("RPROVIDES_" + fullp, pkgs)
-        d.appendVar("RCONFLICTS_" + fullp, pkgs)
-        
-        # For -dev, the first element is both the Debian and original name
-        fullp += "-dev"
-        pkgs = p[0] + "-dev"
-        d.setVar("DEBIAN_NOAUTONAME_" + fullp, "1")
-        d.appendVar("RREPLACES_" + fullp, pkgs)
-        d.appendVar("RPROVIDES_" + fullp, pkgs)
-        d.appendVar("RCONFLICTS_" + fullp, pkgs)
-}
-
-FILES_libdricore = "${sysconfdir}/drirc ${libdir}/libdricore*.so.*"
-FILES_libegl-mesa = "${libdir}/libEGL.so.*"
-FILES_libgbm = "${libdir}/libgbm.so.*"
-FILES_libgles1-mesa = "${libdir}/libGLESv1*.so.*"
-FILES_libgles2-mesa = "${libdir}/libGLESv2.so.*"
-FILES_libgl-mesa = "${libdir}/libGL.so.*"
-FILES_libglapi = "${libdir}/libglapi.so.*"
-FILES_libosmesa = "${libdir}/libOSMesa.so.*"
-FILES_libwayland-egl = "${libdir}/libwayland-egl.so.*"
-
-FILES_${PN}-dev = "${libdir}/pkgconfig/dri.pc"
-FILES_libdricore-dev = "${libdir}/libdricore*.*"
-FILES_libegl-mesa-dev = "${libdir}/libEGL.* ${includedir}/EGL ${includedir}/KHR ${libdir}/pkgconfig/egl.pc"
-FILES_libgbm-dev = "${libdir}/libgbm.* ${libdir}/pkgconfig/gbm.pc ${includedir}/gbm.h"
-FILES_libgl-mesa-dev = "${libdir}/libGL.* ${includedir}/GL ${libdir}/pkgconfig/gl.pc"
-FILES_libglapi-dev = "${libdir}/libglapi.*"
-FILES_libgles1-mesa-dev = "${libdir}/libGLESv1*.* ${includedir}/GLES ${libdir}/pkgconfig/glesv1*.pc"
-FILES_libgles2-mesa-dev = "${libdir}/libGLESv2.* ${includedir}/GLES2 ${libdir}/pkgconfig/glesv2.pc"
-FILES_libgles3-mesa-dev = "${includedir}/GLES3"
-FILES_libosmesa-dev = "${libdir}/libOSMesa.* ${includedir}/osmesa.h ${libdir}/pkgconfig/osmesa.pc"
-FILES_libwayland-egl-dev = "${libdir}/pkgconfig/wayland-egl.pc ${libdir}/libwayland-egl.*"
-
-FILES_${PN}-dbg += "${libdir}/dri/.debug/* ${libdir}/egl/.debug/*"
meta/recipes-graphics/mesa/mesa.inc +105 -3

122 lines not on this page · raw message

meta/recipes-graphics/mesa/mesa_9.1.3.bb +0 -1
index 60a90a3..74d467a 100644
@@ -10,5 +10,4 @@ LIC_FILES_CHKSUM = "file://docs/license.html;md5=42d77d95cba529a3637129be87d6555
 
 S = "${WORKDIR}/Mesa-${PV}"
 
-require mesa-common.inc
 require mesa.inc
meta/recipes-graphics/mesa/mesa_git.bb +0 -1
index 6a4bc38..241261c 100644
@@ -1,4 +1,3 @@
-require mesa-common.inc
 require mesa-git.inc
 require mesa.inc
 
Signature · 1 line
1.8.2.1
#2 lore raw

PATCH 2/10 mesa: use PACKAGECONFIG instead of DISTRO_FEATURES to define EGL_PLATFORMS

* it makes it easier to change PACKAGECONFIG in .bbappend and get consistent EGL_PLATFORMS

---
 meta/recipes-graphics/mesa/mesa.inc | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
meta/recipes-graphics/mesa/mesa.inc +2 -2
index 3f00237..74fddc2 100644
@@ -42,8 +42,8 @@ EXTRA_OECONF += "--enable-gbm"
 PACKAGECONFIG[gles] = "--enable-gles1 --enable-gles2, --disable-gles1 --disable-gles2"
 
 EGL_PLATFORMS  = "drm"
-EGL_PLATFORMS .="${@base_contains('DISTRO_FEATURES', 'x11', ',x11', '', d)}"
-EGL_PLATFORMS .="${@base_contains('DISTRO_FEATURES', 'wayland', ',wayland', '', d)}"
+EGL_PLATFORMS .="${@base_contains('PACKAGECONFIG', 'x11', ',x11', '', d)}"
+EGL_PLATFORMS .="${@base_contains('PACKAGECONFIG', 'wayland', ',wayland', '', d)}"
 PACKAGECONFIG[egl] = "--enable-egl --with-egl-platforms=${EGL_PLATFORMS}, --disable-egl"
 
 # Multiple virtual/gl providers being built breaks staging
Signature · 1 line
1.8.2.1
#3 lore raw

PATCH 3/10 mesa: move LIC_FILES_CHKSUM to .inc

In reply to Martin Jansa

* we can also include .inc as first statement in recipe like most recipes

---
 meta/recipes-graphics/mesa/mesa-git.inc  | 2 --
 meta/recipes-graphics/mesa/mesa.inc      | 1 +
 meta/recipes-graphics/mesa/mesa_9.1.3.bb | 6 ++----
 3 files changed, 3 insertions(+), 6 deletions(-)
meta/recipes-graphics/mesa/mesa-git.inc +0 -2
index c5507ce..cf07155 100644
@@ -2,8 +2,6 @@
 SRCREV = "f32ec82a8cfcabc5b7596796f36afe7986651f02"
 PV = "9.1.3+git${SRCPV}"
 
-LIC_FILES_CHKSUM = "file://docs/license.html;md5=42d77d95cba529a3637129be87d6555d"
-
 SRC_URI = "git://anongit.freedesktop.org/git/mesa/mesa;protocol=git \
            file://EGL-Mutate-NativeDisplayType-depending-on-config.patch \
            file://fix-glsl-cross.patch \
meta/recipes-graphics/mesa/mesa.inc +1 -0
index 74fddc2..dd91981 100644
@@ -10,6 +10,7 @@ HOMEPAGE = "http://mesa3d.org"
 BUGTRACKER = "https://bugs.freedesktop.org"
 SECTION = "x11"
 LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://docs/license.html;md5=42d77d95cba529a3637129be87d6555d"
 
 INC_PR = "r9"
 PE = "2"
meta/recipes-graphics/mesa/mesa_9.1.3.bb +2 -4
index 74d467a..fc193f5 100644
@@ -1,3 +1,5 @@
+require ${BPN}.inc
+
 SRC_URI = "ftp://ftp.freedesktop.org/pub/mesa/${PV}/MesaLib-${PV}.tar.bz2 \
            file://EGL-Mutate-NativeDisplayType-depending-on-config.patch \
            file://fix-glsl-cross.patch \
@@ -6,8 +8,4 @@ SRC_URI = "ftp://ftp.freedesktop.org/pub/mesa/${PV}/MesaLib-${PV}.tar.bz2 \
 SRC_URI[md5sum] = "952ccd03547ed72333b64e1746cf8ada"
 SRC_URI[sha256sum] = "8d5dac2202d0355bff5cfd183582ec8167d1d1227b7bb7a669acecbeaa52d766"
 
-LIC_FILES_CHKSUM = "file://docs/license.html;md5=42d77d95cba529a3637129be87d6555d"
-
 S = "${WORKDIR}/Mesa-${PV}"
-
-require mesa.inc
Signature · 1 line
1.8.2.1
#4 lore raw

PATCH 4/10 mesa: merge mesa-git.inc to mesa_git.bb

In reply to Martin Jansa
---
 meta/recipes-graphics/mesa/mesa-git.inc | 10 ----------
 meta/recipes-graphics/mesa/mesa_git.bb  | 13 +++++++++++--
 2 files changed, 11 insertions(+), 12 deletions(-)
 delete mode 100644 meta/recipes-graphics/mesa/mesa-git.inc
meta/recipes-graphics/mesa/mesa-git.inc deleted +0 -10
deleted file mode 100644
index cf07155..0000000
@@ -1,10 +0,0 @@
-# 9.1.3 commit
-SRCREV = "f32ec82a8cfcabc5b7596796f36afe7986651f02"
-PV = "9.1.3+git${SRCPV}"
-
-SRC_URI = "git://anongit.freedesktop.org/git/mesa/mesa;protocol=git \
-           file://EGL-Mutate-NativeDisplayType-depending-on-config.patch \
-           file://fix-glsl-cross.patch \
-           "
-
-S = "${WORKDIR}/git"
meta/recipes-graphics/mesa/mesa_git.bb +11 -2
index 241261c..ef0bec4 100644
@@ -1,6 +1,15 @@
-require mesa-git.inc
-require mesa.inc
+require ${BPN}.inc
 
 DEFAULT_PREFERENCE = "-1"
 
 PR = "${INC_PR}.0"
+# 9.1.3 commit
+SRCREV = "f32ec82a8cfcabc5b7596796f36afe7986651f02"
+PV = "9.1.3+git${SRCPV}"
+
+SRC_URI = "git://anongit.freedesktop.org/git/mesa/mesa;protocol=git \
+           file://EGL-Mutate-NativeDisplayType-depending-on-config.patch \
+           file://fix-glsl-cross.patch \
+           "
+
+S = "${WORKDIR}/git"
Signature · 1 line
1.8.2.1
#5 lore raw

PATCH 5/10 mesa: introduce PACKAGECONFIG for dri

In reply to Martin Jansa

* move DEPENDS which were originally applied only for mesa-dri to dri PACKAGECONFIG

---
 meta/recipes-graphics/mesa/mesa.inc | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
meta/recipes-graphics/mesa/mesa.inc +4 -4
index dd91981..9d59166 100644
@@ -15,7 +15,7 @@ LIC_FILES_CHKSUM = "file://docs/license.html;md5=42d77d95cba529a3637129be87d6555
 INC_PR = "r9"
 PE = "2"
 
-DEPENDS = "expat makedepend-native flex-native bison-native libdrm expat udev"
+DEPENDS = "expat makedepend-native flex-native bison-native"
 
 PROVIDES = "virtual/libgl virtual/libgles1 virtual/libgles2 virtual/egl"
 
@@ -23,21 +23,21 @@ inherit autotools pkgconfig pythonnative
 
 EXTRA_OECONF = "--enable-shared-glapi"
 
-PACKAGECONFIG ??= "egl gles \
+PACKAGECONFIG ??= "egl gles dri \
 		${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}\
 		${@base_contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)}\
 		"
 
-X11_DEPS = "xf86driproto glproto virtual/libx11 libxext libxxf86vm libxdamage libxfixes dri2proto"
+X11_DEPS = "xf86driproto glproto virtual/libx11 libxext libxxf86vm libxdamage libxfixes"
 PACKAGECONFIG[x11] = "--enable-glx-tls,--disable-glx,${X11_DEPS}"
 PACKAGECONFIG[wayland] = ",,wayland"
 
 DRIDRIVERS = "swrast"
 DRIDRIVERS_append_x86 = ",radeon,r200,nouveau,i965,i915"
 DRIDRIVERS_append_x86-64 = ",radeon,r200,nouveau,i965,i915"
+PACKAGECONFIG[dri] = "--enable-dri --with-dri-drivers=${DRIDRIVERS}, --disable-dri, dri2proto libdrm udev"
 
 EXTRA_OECONF += "--disable-gallium --without-gallium-drivers"
-EXTRA_OECONF += "--enable-dri --with-dri-drivers=${DRIDRIVERS}"
 EXTRA_OECONF += "--enable-gbm"
 
 PACKAGECONFIG[gles] = "--enable-gles1 --enable-gles2, --disable-gles1 --disable-gles2"
Signature · 1 line
1.8.2.1
#6 lore raw

PATCH 6/10 mesa: remove more .la files

In reply to Martin Jansa
---
 meta/recipes-graphics/mesa/mesa.inc | 3 +++
 1 file changed, 3 insertions(+)
meta/recipes-graphics/mesa/mesa.inc +3 -0
index 9d59166..a210415 100644
@@ -71,6 +71,9 @@ do_install_append () {
 
     # Drivers never need libtool .la files
     rm -f ${D}${libdir}/dri/*.la
+    rm -f ${D}${libdir}/egl/*.la
+    rm -f ${D}${libdir}/gallium-pipe/*.la
+    rm -f ${D}${libdir}/gbm/*.la
 }
 
 # For the packages that make up the OpenGL interfaces, inject variables so that
Signature · 1 line
1.8.2.1
#7 lore raw

PATCH 7/10 mesa: introduce gallium PACKAGECONFIG

In reply to Martin Jansa
---
 meta/recipes-graphics/mesa/mesa.inc | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)
meta/recipes-graphics/mesa/mesa.inc +10 -2
index a210415..6207bb6 100644
@@ -37,7 +37,6 @@ DRIDRIVERS_append_x86 = ",radeon,r200,nouveau,i965,i915"
 DRIDRIVERS_append_x86-64 = ",radeon,r200,nouveau,i965,i915"
 PACKAGECONFIG[dri] = "--enable-dri --with-dri-drivers=${DRIDRIVERS}, --disable-dri, dri2proto libdrm udev"
 
-EXTRA_OECONF += "--disable-gallium --without-gallium-drivers"
 EXTRA_OECONF += "--enable-gbm"
 
 PACKAGECONFIG[gles] = "--enable-gles1 --enable-gles2, --disable-gles1 --disable-gles2"
@@ -47,6 +46,9 @@ EGL_PLATFORMS .="${@base_contains('PACKAGECONFIG', 'x11', ',x11', '', d)}"
 EGL_PLATFORMS .="${@base_contains('PACKAGECONFIG', 'wayland', ',wayland', '', d)}"
 PACKAGECONFIG[egl] = "--enable-egl --with-egl-platforms=${EGL_PLATFORMS}, --disable-egl"
 
+GALLIUMDRIVERS = "swrast"
+PACKAGECONFIG[gallium] = "--enable-gallium --with-gallium-drivers=${GALLIUMDRIVERS}, --disable-gallium --without-gallium-drivers"
+
 # Multiple virtual/gl providers being built breaks staging
 EXCLUDE_FROM_WORLD = "1"
 
@@ -63,6 +65,7 @@ PACKAGES =+ "libegl-mesa libegl-mesa-dev \
              libgles2-mesa libgles2-mesa-dev \
              libgles3-mesa libgles3-mesa-dev \
              libwayland-egl libwayland-egl-dev \
+             libegl-gallium libgbm-gallium \
             "
 
 do_install_append () {
@@ -108,6 +111,9 @@ python populate_packages_prepend() {
         d.setVar("RPROVIDES_%s" % pkg, pkg.replace("mesa-", "mesa-dri-"))
         d.setVar("RCONFLICTS_%s" % pkg, pkg.replace("mesa-", "mesa-dri-"))
         d.setVar("RREPLACES_%s" % pkg, pkg.replace("mesa-", "mesa-dri-"))
+    
+    pipe_drivers_root = os.path.join(d.getVar('libdir', True), "gallium-pipe")
+    do_split_packages(d, pipe_drivers_root, '^pipe_(.*)\.so$', 'mesa-driver-pipe-%s', 'Mesa %s pipe driver', extra_depends='')
 }
 
 PACKAGES_DYNAMIC += "^mesa-driver-.*"
@@ -123,6 +129,8 @@ FILES_libgl-mesa = "${libdir}/libGL.so.*"
 FILES_libglapi = "${libdir}/libglapi.so.*"
 FILES_libosmesa = "${libdir}/libOSMesa.so.*"
 FILES_libwayland-egl = "${libdir}/libwayland-egl.so.*"
+FILES_libegl-gallium = "${libdir}/egl/egl_gallium.so*"
+FILES_libgbm-gallium = "${libdir}/gbm/gbm_gallium_drm.so*"
 
 FILES_${PN}-dev = "${libdir}/pkgconfig/dri.pc"
 FILES_libdricore-dev = "${libdir}/libdricore*.*"
@@ -136,4 +144,4 @@ FILES_libgles3-mesa-dev = "${includedir}/GLES3"
 FILES_libosmesa-dev = "${libdir}/libOSMesa.* ${includedir}/osmesa.h ${libdir}/pkgconfig/osmesa.pc"
 FILES_libwayland-egl-dev = "${libdir}/pkgconfig/wayland-egl.pc ${libdir}/libwayland-egl.*"
 
-FILES_${PN}-dbg += "${libdir}/dri/.debug/* ${libdir}/egl/.debug/*"
+FILES_${PN}-dbg += "${libdir}/dri/.debug/* ${libdir}/egl/.debug/* ${libdir}/gbm/.debug/* ${libdir}/gallium-pipe/.debug"
Signature · 1 line
1.8.2.1
#8 lore raw

PATCH 8/10 mesa: introduce openvg PACKAGECONFIG

In reply to Martin Jansa
---
 meta/recipes-graphics/mesa/mesa.inc | 6 ++++++
 1 file changed, 6 insertions(+)
meta/recipes-graphics/mesa/mesa.inc +6 -0
index 6207bb6..2caa238 100644
@@ -46,6 +46,8 @@ EGL_PLATFORMS .="${@base_contains('PACKAGECONFIG', 'x11', ',x11', '', d)}"
 EGL_PLATFORMS .="${@base_contains('PACKAGECONFIG', 'wayland', ',wayland', '', d)}"
 PACKAGECONFIG[egl] = "--enable-egl --with-egl-platforms=${EGL_PLATFORMS}, --disable-egl"
 
+PACKAGECONFIG[openvg] = "--enable-openvg, --disable-openvg"
+
 GALLIUMDRIVERS = "swrast"
 PACKAGECONFIG[gallium] = "--enable-gallium --with-gallium-drivers=${GALLIUMDRIVERS}, --disable-gallium --without-gallium-drivers"
 
@@ -66,6 +68,7 @@ PACKAGES =+ "libegl-mesa libegl-mesa-dev \
              libgles3-mesa libgles3-mesa-dev \
              libwayland-egl libwayland-egl-dev \
              libegl-gallium libgbm-gallium \
+             libopenvg libopenvg-dev \
             "
 
 do_install_append () {
@@ -131,6 +134,7 @@ FILES_libosmesa = "${libdir}/libOSMesa.so.*"
 FILES_libwayland-egl = "${libdir}/libwayland-egl.so.*"
 FILES_libegl-gallium = "${libdir}/egl/egl_gallium.so*"
 FILES_libgbm-gallium = "${libdir}/gbm/gbm_gallium_drm.so*"
+FILES_libopenvg = "${libdir}/libOpenVG.so.*"
 
 FILES_${PN}-dev = "${libdir}/pkgconfig/dri.pc"
 FILES_libdricore-dev = "${libdir}/libdricore*.*"
@@ -143,5 +147,7 @@ FILES_libgles2-mesa-dev = "${libdir}/libGLESv2.* ${includedir}/GLES2 ${libdir}/p
 FILES_libgles3-mesa-dev = "${includedir}/GLES3"
 FILES_libosmesa-dev = "${libdir}/libOSMesa.* ${includedir}/osmesa.h ${libdir}/pkgconfig/osmesa.pc"
 FILES_libwayland-egl-dev = "${libdir}/pkgconfig/wayland-egl.pc ${libdir}/libwayland-egl.*"
+FILES_libopenvg-dev = "${libdir}/libOpenVG.so ${libdir}/libOpenVG.la* \
+                       ${includedir}/VG ${libdir}/pkgconfig/vg.pc"
 
 FILES_${PN}-dbg += "${libdir}/dri/.debug/* ${libdir}/egl/.debug/* ${libdir}/gbm/.debug/* ${libdir}/gallium-pipe/.debug"
Signature · 1 line
1.8.2.1
#9 lore raw

PATCH 9/10 mesa: use PACKAGESPLITFUNCS

In reply to Martin Jansa
---
 meta/recipes-graphics/mesa/mesa.inc | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
meta/recipes-graphics/mesa/mesa.inc +3 -1
index 2caa238..b4e9b84 100644
@@ -105,7 +105,7 @@ python __anonymous() {
         d.appendVar("RCONFLICTS_" + fullp, pkgs)
 }
 
-python populate_packages_prepend() {
+python mesa_populate_packages() {
     dri_drivers_root = os.path.join(d.getVar('libdir', True), "dri")
 
     pkgs = ['mesa', 'mesa-dev', 'mesa-dbg']
@@ -119,6 +119,8 @@ python populate_packages_prepend() {
     do_split_packages(d, pipe_drivers_root, '^pipe_(.*)\.so$', 'mesa-driver-pipe-%s', 'Mesa %s pipe driver', extra_depends='')
 }
 
+PACKAGESPLITFUNCS_prepend = "mesa_populate_packages "
+
 PACKAGES_DYNAMIC += "^mesa-driver-.*"
 
 FILES_${PN}-dbg += "${libdir}/dri/.debug/*"
Signature · 1 line
1.8.2.1
#10 lore raw

PATCH 10/10 mesa: introduce gallium-llvmpipe PACKAGECONFIG

In reply to Martin Jansa
---
 meta/recipes-graphics/mesa/mesa.inc                |  6 ++
 ...void-use-of-AC_CHECK_FILE-for-cross-compi.patch | 65 ++++++++++++++++++++++
 ...move-the-power-of-two-sizeof-struct-cmd_b.patch | 42 ++++++++++++++
 meta/recipes-graphics/mesa/mesa_9.1.3.bb           |  2 +
 meta/recipes-graphics/mesa/mesa_git.bb             |  2 +
 5 files changed, 117 insertions(+)
 create mode 100644 meta/recipes-graphics/mesa/mesa/0001-configure-Avoid-use-of-AC_CHECK_FILE-for-cross-compi.patch
 create mode 100644 meta/recipes-graphics/mesa/mesa/0001-llvmpipe-remove-the-power-of-two-sizeof-struct-cmd_b.patch
meta/recipes-graphics/mesa/mesa.inc +6 -0
index b4e9b84..6aba0cb 100644
@@ -51,6 +51,12 @@ PACKAGECONFIG[openvg] = "--enable-openvg, --disable-openvg"
 GALLIUMDRIVERS = "swrast"
 PACKAGECONFIG[gallium] = "--enable-gallium --with-gallium-drivers=${GALLIUMDRIVERS}, --disable-gallium --without-gallium-drivers"
 
+export WANT_LLVM_RELEASE = "3.2"
+PACKAGECONFIG[gallium-llvmpipe] = "--enable-gallium-llvm --enable-gallium-egl --enable-gallium-gbm --with-llvm-shared-libs --with-gallium-drivers=${GALLIUMDRIVERS}, --disable-gallium --without-gallium-drivers, llvm3.2"
+
+# llvmpipe is slow if compiled with -fomit-frame-pointer (e.g. -O2)
+FULL_OPTIMIZATION_append = " -fno-omit-frame-pointer"
+
 # Multiple virtual/gl providers being built breaks staging
 EXCLUDE_FROM_WORLD = "1"
 
meta/recipes-graphics/mesa/mesa/0001-configure-Avoid-use-of-AC_CHECK_FILE-for-cross-compi.patch new file +65 -0

65 lines not on this page · raw message

meta/recipes-graphics/mesa/mesa/0001-llvmpipe-remove-the-power-of-two-sizeof-struct-cmd_b.patch new file +42 -0

42 lines not on this page · raw message

meta/recipes-graphics/mesa/mesa_9.1.3.bb +2 -0
index fc193f5..ec95c10 100644
@@ -3,6 +3,8 @@ require ${BPN}.inc
 SRC_URI = "ftp://ftp.freedesktop.org/pub/mesa/${PV}/MesaLib-${PV}.tar.bz2 \
            file://EGL-Mutate-NativeDisplayType-depending-on-config.patch \
            file://fix-glsl-cross.patch \
+           file://0001-configure-Avoid-use-of-AC_CHECK_FILE-for-cross-compi.patch \
+           file://0001-llvmpipe-remove-the-power-of-two-sizeof-struct-cmd_b.patch \
            "
 
 SRC_URI[md5sum] = "952ccd03547ed72333b64e1746cf8ada"
meta/recipes-graphics/mesa/mesa_git.bb +2 -0
index ef0bec4..5e252af 100644
@@ -10,6 +10,8 @@ PV = "9.1.3+git${SRCPV}"
 SRC_URI = "git://anongit.freedesktop.org/git/mesa/mesa;protocol=git \
            file://EGL-Mutate-NativeDisplayType-depending-on-config.patch \
            file://fix-glsl-cross.patch \
+           file://0001-configure-Avoid-use-of-AC_CHECK_FILE-for-cross-compi.patch \
+           file://0001-llvmpipe-remove-the-power-of-two-sizeof-struct-cmd_b.patch \
            "
 
 S = "${WORKDIR}/git"
Signature · 1 line
1.8.2.1
#11 lore raw
In reply to Martin Jansa
Quoted 4 lines · Martin Jansa

Martin Jansa (10):
mesa: merge mesa-common.inc to mesa.inc
mesa: use PACKAGECONFIG instead of DISTRO_FEATURES to define
EGL_PLATFORMS

Quoted 8 lines

mesa: move LIC_FILES_CHKSUM to .inc
mesa: merge mesa-git.inc to mesa_git.bb
mesa: introduce PACKAGECONFIG for dri
mesa: remove more .la files
mesa: introduce gallium PACKAGECONFIG
mesa: introduce openvg PACKAGECONFIG
mesa: use PACKAGESPLITFUNCS
mesa: introduce gallium-llvmpipe PACKAGECONFIG

Great stuff :)

Ross