All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/4] Fix and cleanup for mesa
@ 2013-07-01 19:36 Martin Jansa
  2013-07-01 19:36 ` [PATCH 1/4] mesa: Improve gallium PACKAGECONFIG options Martin Jansa
                   ` (4 more replies)
  0 siblings, 5 replies; 15+ messages in thread
From: Martin Jansa @ 2013-07-01 19:36 UTC (permalink / raw)
  To: openembedded-core

Fix unrecognized --enable-gallium option.
Fix building pipe_loader_sw without X11 headers available.

Allow to change MESA_LLVM_RELEASE from .bbappend.
Add git headers to patches and rebase them for newer SRCREV.

The following changes since commit ff65497cd9a96d5ab49b16ba1f7e30a216ff4a42:

  classes/insane: remove la2 check which no longer exists from ERROR_QA (2013-06-28 16:33:05 +0100)

are available in the git repository at:

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

Martin Jansa (4):
  mesa: Improve gallium PACKAGECONFIG options
  mesa: fix pipe_loader_sw build without libx11
  mesa: bump SRCREV in git recipe, refresh patches
  mesa: remove drirc file

 ...te-NativeDisplayType-depending-on-config.patch} |  21 +-
 ...ove-the-power-of-two-sizeof-struct-cmd_b.patch} |  15 +-
 meta/recipes-graphics/mesa/mesa.inc                |  14 +-
 ...void-use-of-AC_CHECK_FILE-for-cross-compi.patch |  14 +-
 ..._sw-include-xlib_sw_winsys.h-only-when-HA.patch |  52 +++
 ...ate-NativeDisplayType-depending-on-config.patch | 356 +++++++++++++++++++++
 ...l-fix-builtin_compiler-cross-compilation.patch} |  13 +-
 meta/recipes-graphics/mesa/mesa_9.1.3.bb           |   7 +-
 meta/recipes-graphics/mesa/mesa_git.bb             |   9 +-
 9 files changed, 463 insertions(+), 38 deletions(-)
 rename meta/recipes-graphics/mesa/{mesa/EGL-Mutate-NativeDisplayType-depending-on-config.patch => mesa-9.1.3/0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch} (96%)
 rename meta/recipes-graphics/mesa/{mesa/0001-llvmpipe-remove-the-power-of-two-sizeof-struct-cmd_b.patch => mesa-9.1.3/0005-llvmpipe-remove-the-power-of-two-sizeof-struct-cmd_b.patch} (86%)
 create mode 100644 meta/recipes-graphics/mesa/mesa/0002-pipe_loader_sw-include-xlib_sw_winsys.h-only-when-HA.patch
 create mode 100644 meta/recipes-graphics/mesa/mesa/0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch
 rename meta/recipes-graphics/mesa/mesa/{fix-glsl-cross.patch => 0004-glsl-fix-builtin_compiler-cross-compilation.patch} (76%)

-- 
1.8.2.1



^ permalink raw reply	[flat|nested] 15+ messages in thread

* [PATCH 1/4] mesa: Improve gallium PACKAGECONFIG options
  2013-07-01 19:36 [PATCH 0/4] Fix and cleanup for mesa Martin Jansa
@ 2013-07-01 19:36 ` Martin Jansa
  2013-07-01 19:36 ` [PATCH 2/4] mesa: fix pipe_loader_sw build without libx11 Martin Jansa
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 15+ messages in thread
From: Martin Jansa @ 2013-07-01 19:36 UTC (permalink / raw)
  To: openembedded-core

* rename llvmpipe to llvm to match configure option
* add MESA_LLVM_RELEASE to allow switching to 3.3 easier
* --enable-gallium isn't recognized option, split it to 2 more
  PACKAGECONFIGs for gbm and egl

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
 meta/recipes-graphics/mesa/mesa.inc | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc
index 01dbbad..599ec7e 100644
--- a/meta/recipes-graphics/mesa/mesa.inc
+++ b/meta/recipes-graphics/mesa/mesa.inc
@@ -49,10 +49,13 @@ PACKAGECONFIG[egl] = "--enable-egl --with-egl-platforms=${EGL_PLATFORMS}, --disa
 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"
+# keep --with-gallium-drivers separate, because when only one of gallium versions is enabled, other 2 were adding --without-gallium-drivers
+PACKAGECONFIG[gallium]      = "--with-gallium-drivers=${GALLIUMDRIVERS}, --without-gallium-drivers"
+PACKAGECONFIG[gallium-egl]  = "--enable-gallium-egl, --disable-gallium-egl"
+PACKAGECONFIG[gallium-gbm]  = "--enable-gallium-gbm, --disable-gallium-gbm"
+MESA_LLVM_RELEASE ?= "3.2"
+PACKAGECONFIG[gallium-llvm] = "--enable-gallium-llvm --with-llvm-shared-libs, --disable-gallium-llvm, llvm${MESA_LLVM_RELEASE}"
+export WANT_LLVM_RELEASE = "${MESA_LLVM_RELEASE}"
 
 # llvmpipe is slow if compiled with -fomit-frame-pointer (e.g. -O2)
 FULL_OPTIMIZATION_append = " -fno-omit-frame-pointer"
-- 
1.8.2.1



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH 2/4] mesa: fix pipe_loader_sw build without libx11
  2013-07-01 19:36 [PATCH 0/4] Fix and cleanup for mesa Martin Jansa
  2013-07-01 19:36 ` [PATCH 1/4] mesa: Improve gallium PACKAGECONFIG options Martin Jansa
@ 2013-07-01 19:36 ` Martin Jansa
  2013-07-01 19:36 ` [PATCH 3/4] mesa: bump SRCREV in git recipe, refresh patches Martin Jansa
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 15+ messages in thread
From: Martin Jansa @ 2013-07-01 19:36 UTC (permalink / raw)
  To: openembedded-core

* this is needed to fix pipe_loader_sw build without libx11,
  but building with HAVE_PIPE_LOADER_XLIB enabled still doesn't
  work (nobody is using this and it was removed in newer SRCREV).
  See https://bugs.freedesktop.org/show_bug.cgi?id=66357 for details.

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
 ..._sw-include-xlib_sw_winsys.h-only-when-HA.patch | 52 ++++++++++++++++++++++
 meta/recipes-graphics/mesa/mesa_9.1.3.bb           |  1 +
 meta/recipes-graphics/mesa/mesa_git.bb             |  1 +
 3 files changed, 54 insertions(+)
 create mode 100644 meta/recipes-graphics/mesa/mesa/0002-pipe_loader_sw-include-xlib_sw_winsys.h-only-when-HA.patch

diff --git a/meta/recipes-graphics/mesa/mesa/0002-pipe_loader_sw-include-xlib_sw_winsys.h-only-when-HA.patch b/meta/recipes-graphics/mesa/mesa/0002-pipe_loader_sw-include-xlib_sw_winsys.h-only-when-HA.patch
new file mode 100644
index 0000000..2df5e61
--- /dev/null
+++ b/meta/recipes-graphics/mesa/mesa/0002-pipe_loader_sw-include-xlib_sw_winsys.h-only-when-HA.patch
@@ -0,0 +1,52 @@
+From debac5531f7107d239530ff6e29eeda72b9ec1e9 Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Sat, 29 Jun 2013 11:20:51 +0200
+Subject: [PATCH 2/4] pipe_loader_sw: include xlib_sw_winsys.h only when
+ HAVE_PIPE_LOADER_XLIB
+
+* HAVE_WINSYS_XLIB was removed in
+  commit b3f1f665b0fef178ae193e6b111f14c9a5ad3b25
+  Author: Matt Turner <mattst88@gmail.com>
+  Date:   Sun Jan 20 15:32:08 2013 -0800
+  build: Get rid of GALLIUM_WINSYS_DIRS
+
+* HAVE_PIPE_LOADER_XLIB is set correctly:
+  if test "x$NEED_WINSYS_XLIB" = xyes; then
+      GALLIUM_PIPE_LOADER_DEFINES="$GALLIUM_PIPE_LOADER_DEFINES -DHAVE_PIPE_LOADER_XLIB"
+      GALLIUM_PIPE_LOADER_LIBS="$GALLIUM_PIPE_LOADER_LIBS \$(top_builddir)/src/gallium/winsys/sw/xlib/libws_xlib.la"
+  fi
+
+* fixes build of pipe_loader_sw without libx11 headers available
+
+Upstream-Status: Submitted https://bugs.freedesktop.org/show_bug.cgi?id=66357
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ src/gallium/auxiliary/pipe-loader/pipe_loader_sw.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/src/gallium/auxiliary/pipe-loader/pipe_loader_sw.c b/src/gallium/auxiliary/pipe-loader/pipe_loader_sw.c
+index c2b78c6..0da3f4d 100644
+--- a/src/gallium/auxiliary/pipe-loader/pipe_loader_sw.c
++++ b/src/gallium/auxiliary/pipe-loader/pipe_loader_sw.c
+@@ -31,7 +31,9 @@
+ #include "util/u_dl.h"
+ #include "sw/null/null_sw_winsys.h"
+ #include "target-helpers/inline_sw_helper.h"
++#ifdef HAVE_PIPE_LOADER_XLIB
+ #include "state_tracker/xlib_sw_winsys.h"
++#endif
+ 
+ struct pipe_loader_sw_device {
+    struct pipe_loader_device base;
+@@ -44,7 +46,7 @@ struct pipe_loader_sw_device {
+ static struct pipe_loader_ops pipe_loader_sw_ops;
+ 
+ static struct sw_winsys *(*backends[])() = {
+-#ifdef HAVE_WINSYS_XLIB
++#ifdef HAVE_PIPE_LOADER_XLIB
+    x11_sw_create,
+ #endif
+    null_sw_create
+-- 
+1.8.2.1
+
diff --git a/meta/recipes-graphics/mesa/mesa_9.1.3.bb b/meta/recipes-graphics/mesa/mesa_9.1.3.bb
index ec95c10..bbeacd3 100644
--- a/meta/recipes-graphics/mesa/mesa_9.1.3.bb
+++ b/meta/recipes-graphics/mesa/mesa_9.1.3.bb
@@ -5,6 +5,7 @@ SRC_URI = "ftp://ftp.freedesktop.org/pub/mesa/${PV}/MesaLib-${PV}.tar.bz2 \
            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 \
+           file://0002-pipe_loader_sw-include-xlib_sw_winsys.h-only-when-HA.patch \
            "
 
 SRC_URI[md5sum] = "952ccd03547ed72333b64e1746cf8ada"
diff --git a/meta/recipes-graphics/mesa/mesa_git.bb b/meta/recipes-graphics/mesa/mesa_git.bb
index 5e252af..09a9531 100644
--- a/meta/recipes-graphics/mesa/mesa_git.bb
+++ b/meta/recipes-graphics/mesa/mesa_git.bb
@@ -12,6 +12,7 @@ SRC_URI = "git://anongit.freedesktop.org/git/mesa/mesa;protocol=git \
            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 \
+           file://0002-pipe_loader_sw-include-xlib_sw_winsys.h-only-when-HA.patch \
            "
 
 S = "${WORKDIR}/git"
-- 
1.8.2.1



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH 3/4] mesa: bump SRCREV in git recipe, refresh patches
  2013-07-01 19:36 [PATCH 0/4] Fix and cleanup for mesa Martin Jansa
  2013-07-01 19:36 ` [PATCH 1/4] mesa: Improve gallium PACKAGECONFIG options Martin Jansa
  2013-07-01 19:36 ` [PATCH 2/4] mesa: fix pipe_loader_sw build without libx11 Martin Jansa
@ 2013-07-01 19:36 ` Martin Jansa
  2013-07-02 10:39   ` Burton, Ross
  2013-07-01 19:36 ` [PATCH 4/4] mesa: remove drirc file Martin Jansa
  2013-07-02 10:53 ` [PATCH 0/4] Fix and cleanup for mesa Burton, Ross
  4 siblings, 1 reply; 15+ messages in thread
From: Martin Jansa @ 2013-07-01 19:36 UTC (permalink / raw)
  To: openembedded-core

* 0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch
  needs to be rebased so move old version for 9.1.3 to
  mesa-9.1.3/ and update the version in meta/
* add git headers
* 0005-llvmpipe-remove-the-power-of-two-sizeof-struct-cmd_b.patch
  is already applied in new SRCREV, move it to mesa-9.1.3/

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
 ...te-NativeDisplayType-depending-on-config.patch} |  21 +-
 ...ove-the-power-of-two-sizeof-struct-cmd_b.patch} |  15 +-
 ...void-use-of-AC_CHECK_FILE-for-cross-compi.patch |  14 +-
 ...ate-NativeDisplayType-depending-on-config.patch | 356 +++++++++++++++++++++
 ...l-fix-builtin_compiler-cross-compilation.patch} |  13 +-
 meta/recipes-graphics/mesa/mesa_9.1.3.bb           |   6 +-
 meta/recipes-graphics/mesa/mesa_git.bb             |   8 +-
 7 files changed, 399 insertions(+), 34 deletions(-)
 rename meta/recipes-graphics/mesa/{mesa/EGL-Mutate-NativeDisplayType-depending-on-config.patch => mesa-9.1.3/0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch} (96%)
 rename meta/recipes-graphics/mesa/{mesa/0001-llvmpipe-remove-the-power-of-two-sizeof-struct-cmd_b.patch => mesa-9.1.3/0005-llvmpipe-remove-the-power-of-two-sizeof-struct-cmd_b.patch} (86%)
 create mode 100644 meta/recipes-graphics/mesa/mesa/0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch
 rename meta/recipes-graphics/mesa/mesa/{fix-glsl-cross.patch => 0004-glsl-fix-builtin_compiler-cross-compilation.patch} (76%)

diff --git a/meta/recipes-graphics/mesa/mesa/EGL-Mutate-NativeDisplayType-depending-on-config.patch b/meta/recipes-graphics/mesa/mesa-9.1.3/0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch
similarity index 96%
rename from meta/recipes-graphics/mesa/mesa/EGL-Mutate-NativeDisplayType-depending-on-config.patch
rename to meta/recipes-graphics/mesa/mesa-9.1.3/0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch
index 47ba167..7e82b6a 100644
--- a/meta/recipes-graphics/mesa/mesa/EGL-Mutate-NativeDisplayType-depending-on-config.patch
+++ b/meta/recipes-graphics/mesa/mesa-9.1.3/0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch
@@ -1,26 +1,27 @@
-From d52a7ec5dcdf3936bd727b854831efb90acfd2ba Mon Sep 17 00:00:00 2001
+From 06c1ba29de8a26fffb73ee99f0fc54c704e9fee4 Mon Sep 17 00:00:00 2001
 From: Daniel Stone <daniel@fooishbar.org>
 Date: Fri, 24 May 2013 17:20:27 +0100
-Subject: [PATCH] EGL: Mutate NativeDisplayType depending on config
+Subject: [PATCH 3/5] EGL: Mutate NativeDisplayType depending on config
 
 If we go through ./configure without enabling X11 anywhere, then set the
 fallback types for EGL NativeDisplay and friends, rather than assuming
 X11/Xlib.
 
 Signed-off-by: Daniel Stone <daniel@fooishbar.org>
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
 ---
- configure.ac                 |    9 +++
- include/EGL/eglplatform.h    |  146 ------------------------------------------
- include/EGL/eglplatform.h.in |  146 ++++++++++++++++++++++++++++++++++++++++++
+ configure.ac                 |   9 +++
+ include/EGL/eglplatform.h    | 146 -------------------------------------------
+ include/EGL/eglplatform.h.in | 146 +++++++++++++++++++++++++++++++++++++++++++
  3 files changed, 155 insertions(+), 146 deletions(-)
  delete mode 100644 include/EGL/eglplatform.h
  create mode 100644 include/EGL/eglplatform.h.in
 
 diff --git a/configure.ac b/configure.ac
-index 4a98996..6fa77da 100644
+index 2b4a374..d4c7a95 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -1576,12 +1576,20 @@ fi
+@@ -1565,12 +1565,20 @@ fi
  
  EGL_PLATFORMS="$egl_platforms"
  
@@ -41,11 +42,11 @@ index 4a98996..6fa77da 100644
  AM_CONDITIONAL(HAVE_EGL_DRIVER_DRI2, test "x$HAVE_EGL_DRIVER_DRI2" != "x")
  AM_CONDITIONAL(HAVE_EGL_DRIVER_GLX, test "x$HAVE_EGL_DRIVER_GLX" != "x")
  
-@@ -2053,6 +2061,7 @@ CXXFLAGS="$CXXFLAGS $USER_CXXFLAGS"
+@@ -2042,6 +2050,7 @@ CXXFLAGS="$CXXFLAGS $USER_CXXFLAGS"
  
  dnl Substitute the config
  AC_CONFIG_FILES([Makefile
-+                include/EGL/eglplatform.h
++		include/EGL/eglplatform.h
  		src/Makefile
  		src/egl/Makefile
  		src/egl/drivers/Makefile
@@ -354,5 +355,5 @@ index 0000000..5126c92
 +
 +#endif /* __eglplatform_h */
 -- 
-1.7.10.4
+1.8.2.1
 
diff --git a/meta/recipes-graphics/mesa/mesa/0001-llvmpipe-remove-the-power-of-two-sizeof-struct-cmd_b.patch b/meta/recipes-graphics/mesa/mesa-9.1.3/0005-llvmpipe-remove-the-power-of-two-sizeof-struct-cmd_b.patch
similarity index 86%
rename from meta/recipes-graphics/mesa/mesa/0001-llvmpipe-remove-the-power-of-two-sizeof-struct-cmd_b.patch
rename to meta/recipes-graphics/mesa/mesa-9.1.3/0005-llvmpipe-remove-the-power-of-two-sizeof-struct-cmd_b.patch
index b74fddc..d86421b 100644
--- a/meta/recipes-graphics/mesa/mesa/0001-llvmpipe-remove-the-power-of-two-sizeof-struct-cmd_b.patch
+++ b/meta/recipes-graphics/mesa/mesa-9.1.3/0005-llvmpipe-remove-the-power-of-two-sizeof-struct-cmd_b.patch
@@ -1,8 +1,8 @@
-From 9915636fb8afe75ee2e8e013e4f495a4cb937afb Mon Sep 17 00:00:00 2001
+From 33098ef45e6035f3348040a25641f95c95266103 Mon Sep 17 00:00:00 2001
 From: Brian Paul <brianp@vmware.com>
 Date: Wed, 6 Mar 2013 16:57:20 -0700
-Subject: [PATCH] llvmpipe: remove the power of two sizeof(struct cmd_block)
- assertion
+Subject: [PATCH 5/5] llvmpipe: remove the power of two sizeof(struct
+ cmd_block) assertion
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
@@ -14,13 +14,12 @@ Reviewed-by: José Fonseca <jfonseca@vmware.com>
 
 Upstream-Status: Backport
 http://cgit.freedesktop.org/mesa/mesa/commit/?id=9915636fb8afe75ee2e8e013e4f495a4cb937afb
-
 ---
  src/gallium/drivers/llvmpipe/lp_scene.c | 7 -------
  1 file changed, 7 deletions(-)
 
 diff --git a/src/gallium/drivers/llvmpipe/lp_scene.c b/src/gallium/drivers/llvmpipe/lp_scene.c
-index dd0943e..a0912eb 100644
+index e145391..c88bc95 100644
 --- a/src/gallium/drivers/llvmpipe/lp_scene.c
 +++ b/src/gallium/drivers/llvmpipe/lp_scene.c
 @@ -76,13 +76,6 @@ lp_scene_create( struct pipe_context *pipe )
@@ -36,7 +35,7 @@ index dd0943e..a0912eb 100644
 -             util_next_power_of_two(sizeof(struct cmd_block)));
     }
  #endif
-
---
-1.8.3
+ 
+-- 
+1.8.2.1
 
diff --git a/meta/recipes-graphics/mesa/mesa/0001-configure-Avoid-use-of-AC_CHECK_FILE-for-cross-compi.patch b/meta/recipes-graphics/mesa/mesa/0001-configure-Avoid-use-of-AC_CHECK_FILE-for-cross-compi.patch
index 9f7002a..76b5a18 100644
--- a/meta/recipes-graphics/mesa/mesa/0001-configure-Avoid-use-of-AC_CHECK_FILE-for-cross-compi.patch
+++ b/meta/recipes-graphics/mesa/mesa/0001-configure-Avoid-use-of-AC_CHECK_FILE-for-cross-compi.patch
@@ -1,7 +1,7 @@
-From 877b8ea9a79d1d51f8e6b032801731538590d39e Mon Sep 17 00:00:00 2001
+From e21ce89f7ae6964f196086ff325d79e4a3b5acd8 Mon Sep 17 00:00:00 2001
 From: Jonathan Liu <net147@gmail.com>
 Date: Tue, 4 Jun 2013 06:04:44 -0700
-Subject: [PATCH] configure: Avoid use of AC_CHECK_FILE for cross compiling
+Subject: [PATCH 1/4] configure: Avoid use of AC_CHECK_FILE for cross compiling
 
 The AC_CHECK_FILE macro can't be used for cross compiling as it will
 result in "error: cannot check for file existence when cross compiling".
@@ -17,10 +17,10 @@ Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
  1 file changed, 6 insertions(+), 6 deletions(-)
 
 diff --git a/configure.ac b/configure.ac
-index 36065f1..2b4a374 100644
+index 70c598e..67b8c40 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -1694,8 +1694,8 @@ if test "x$enable_gallium_llvm" = xyes; then
+@@ -1630,8 +1630,8 @@ if test "x$enable_gallium_llvm" = xyes; then
                  CLANG_LIBDIR=${LLVM_LIBDIR}
              fi
              CLANG_RESOURCE_DIR=$CLANG_LIBDIR/clang/${LLVM_VERSION}
@@ -31,7 +31,7 @@ index 36065f1..2b4a374 100644
          fi
      else
  	MESA_LLVM=0
-@@ -1912,7 +1912,7 @@ if test "x$MESA_LLVM" != x0; then
+@@ -1861,7 +1861,7 @@ if test "x$MESA_LLVM" != x0; then
      if test "x$with_llvm_shared_libs" = xyes; then
          dnl We can't use $LLVM_VERSION because it has 'svn' stripped out,
          LLVM_SO_NAME=LLVM-`$LLVM_CONFIG --version`
@@ -40,7 +40,7 @@ index 36065f1..2b4a374 100644
  
          if test "x$llvm_have_one_so" = xyes; then
              dnl LLVM was built using auto*, so there is only one shared object.
-@@ -1920,8 +1920,8 @@ if test "x$MESA_LLVM" != x0; then
+@@ -1869,8 +1869,8 @@ if test "x$MESA_LLVM" != x0; then
          else
              dnl If LLVM was built with CMake, there will be one shared object per
              dnl component.
@@ -51,7 +51,7 @@ index 36065f1..2b4a374 100644
  	Please make sure you have built llvm with the --enable-shared option
  	and that your llvm libraries are installed in $LLVM_LIBDIR
  	If you have installed your llvm libraries to a different directory you
-@@ -1932,7 +1932,7 @@ if test "x$MESA_LLVM" != x0; then
+@@ -1881,7 +1881,7 @@ if test "x$MESA_LLVM" != x0; then
  		--enable-opencl
  	If you do not want to build with llvm shared libraries and instead want to
  	use llvm static libraries then remove these options from your configure
diff --git a/meta/recipes-graphics/mesa/mesa/0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch b/meta/recipes-graphics/mesa/mesa/0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch
new file mode 100644
index 0000000..d6ddd9a
--- /dev/null
+++ b/meta/recipes-graphics/mesa/mesa/0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch
@@ -0,0 +1,356 @@
+From 8d31ae23683394617c49301b039b3a069b9ea436 Mon Sep 17 00:00:00 2001
+From: Daniel Stone <daniel@fooishbar.org>
+Date: Fri, 24 May 2013 17:20:27 +0100
+Subject: [PATCH 3/4] EGL: Mutate NativeDisplayType depending on config
+
+If we go through ./configure without enabling X11 anywhere, then set the
+fallback types for EGL NativeDisplay and friends, rather than assuming
+X11/Xlib.
+
+Signed-off-by: Daniel Stone <daniel@fooishbar.org>
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ configure.ac                 |   5 ++
+ include/EGL/eglplatform.h    | 146 -------------------------------------------
+ include/EGL/eglplatform.h.in | 146 +++++++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 151 insertions(+), 146 deletions(-)
+ delete mode 100644 include/EGL/eglplatform.h
+ create mode 100644 include/EGL/eglplatform.h.in
+
+diff --git a/configure.ac b/configure.ac
+index 67b8c40..afc3217 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1499,6 +1499,9 @@ EGL_PLATFORMS="$egl_platforms"
+ 
+ if echo "$egl_platforms" | grep 'x11' >/dev/null 2>&1; then
+     NEED_WINSYS_XLIB=yes
++    MESA_EGL_NO_X11_HEADERS=0
++else
++    MESA_EGL_NO_X11_HEADERS=1
+ fi
+ AM_CONDITIONAL(HAVE_EGL_PLATFORM_X11, echo "$egl_platforms" | grep 'x11' >/dev/null 2>&1)
+ AM_CONDITIONAL(HAVE_EGL_PLATFORM_WAYLAND, echo "$egl_platforms" | grep 'wayland' >/dev/null 2>&1)
+@@ -1512,6 +1515,7 @@ AM_CONDITIONAL(HAVE_EGL_DRIVER_GLX, test "x$HAVE_EGL_DRIVER_GLX" != "x")
+ AC_SUBST([EGL_NATIVE_PLATFORM])
+ AC_SUBST([EGL_PLATFORMS])
+ AC_SUBST([EGL_CFLAGS])
++AC_SUBST([MESA_EGL_NO_X11_HEADERS])
+ 
+ AC_ARG_WITH([egl-driver-dir],
+     [AS_HELP_STRING([--with-egl-driver-dir=DIR],
+@@ -1991,6 +1995,7 @@ CXXFLAGS="$CXXFLAGS $USER_CXXFLAGS"
+ 
+ dnl Substitute the config
+ AC_CONFIG_FILES([Makefile
++		include/EGL/eglplatform.h
+ 		src/Makefile
+ 		src/egl/Makefile
+ 		src/egl/drivers/Makefile
+diff --git a/include/EGL/eglplatform.h b/include/EGL/eglplatform.h
+deleted file mode 100644
+index 17fdc61..0000000
+--- a/include/EGL/eglplatform.h
++++ /dev/null
+@@ -1,146 +0,0 @@
+-#ifndef __eglplatform_h_
+-#define __eglplatform_h_
+-
+-/*
+-** Copyright (c) 2007-2009 The Khronos Group Inc.
+-**
+-** Permission is hereby granted, free of charge, to any person obtaining a
+-** copy of this software and/or associated documentation files (the
+-** "Materials"), to deal in the Materials without restriction, including
+-** without limitation the rights to use, copy, modify, merge, publish,
+-** distribute, sublicense, and/or sell copies of the Materials, and to
+-** permit persons to whom the Materials are furnished to do so, subject to
+-** the following conditions:
+-**
+-** The above copyright notice and this permission notice shall be included
+-** in all copies or substantial portions of the Materials.
+-**
+-** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+-** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+-** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+-** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+-** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+-** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+-** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
+-*/
+-
+-/* Platform-specific types and definitions for egl.h
+- * $Revision: 12306 $ on $Date: 2010-08-25 09:51:28 -0700 (Wed, 25 Aug 2010) $
+- *
+- * Adopters may modify khrplatform.h and this file to suit their platform.
+- * You are encouraged to submit all modifications to the Khronos group so that
+- * they can be included in future versions of this file.  Please submit changes
+- * by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla)
+- * by filing a bug against product "EGL" component "Registry".
+- */
+-
+-#include <KHR/khrplatform.h>
+-
+-/* Macros used in EGL function prototype declarations.
+- *
+- * EGL functions should be prototyped as:
+- *
+- * EGLAPI return-type EGLAPIENTRY eglFunction(arguments);
+- * typedef return-type (EXPAPIENTRYP PFNEGLFUNCTIONPROC) (arguments);
+- *
+- * KHRONOS_APICALL and KHRONOS_APIENTRY are defined in KHR/khrplatform.h
+- */
+-
+-#ifndef EGLAPI
+-#define EGLAPI KHRONOS_APICALL
+-#endif
+-
+-#ifndef EGLAPIENTRY
+-#define EGLAPIENTRY  KHRONOS_APIENTRY
+-#endif
+-#define EGLAPIENTRYP EGLAPIENTRY*
+-
+-/* The types NativeDisplayType, NativeWindowType, and NativePixmapType
+- * are aliases of window-system-dependent types, such as X Display * or
+- * Windows Device Context. They must be defined in platform-specific
+- * code below. The EGL-prefixed versions of Native*Type are the same
+- * types, renamed in EGL 1.3 so all types in the API start with "EGL".
+- *
+- * Khronos STRONGLY RECOMMENDS that you use the default definitions
+- * provided below, since these changes affect both binary and source
+- * portability of applications using EGL running on different EGL
+- * implementations.
+- */
+-
+-#if defined(_WIN32) || defined(__VC32__) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) /* Win32 and WinCE */
+-#ifndef WIN32_LEAN_AND_MEAN
+-#define WIN32_LEAN_AND_MEAN 1
+-#endif
+-#include <windows.h>
+-
+-typedef HDC     EGLNativeDisplayType;
+-typedef HBITMAP EGLNativePixmapType;
+-typedef HWND    EGLNativeWindowType;
+-
+-#elif defined(__WINSCW__) || defined(__SYMBIAN32__)  /* Symbian */
+-
+-typedef int   EGLNativeDisplayType;
+-typedef void *EGLNativeWindowType;
+-typedef void *EGLNativePixmapType;
+-
+-#elif defined(WL_EGL_PLATFORM)
+-
+-typedef struct wl_display     *EGLNativeDisplayType;
+-typedef struct wl_egl_pixmap  *EGLNativePixmapType;
+-typedef struct wl_egl_window  *EGLNativeWindowType;
+-
+-#elif defined(__GBM__)
+-
+-typedef struct gbm_device  *EGLNativeDisplayType;
+-typedef struct gbm_bo      *EGLNativePixmapType;
+-typedef void               *EGLNativeWindowType;
+-
+-#elif defined(ANDROID) /* Android */
+-
+-struct ANativeWindow;
+-struct egl_native_pixmap_t;
+-
+-typedef struct ANativeWindow        *EGLNativeWindowType;
+-typedef struct egl_native_pixmap_t  *EGLNativePixmapType;
+-typedef void                        *EGLNativeDisplayType;
+-
+-#elif defined(__unix__)
+-
+-#ifdef MESA_EGL_NO_X11_HEADERS
+-
+-typedef void            *EGLNativeDisplayType;
+-typedef khronos_uint32_t EGLNativePixmapType;
+-typedef khronos_uint32_t EGLNativeWindowType;
+-
+-#else
+-
+-/* X11 (tentative)  */
+-#include <X11/Xlib.h>
+-#include <X11/Xutil.h>
+-
+-typedef Display *EGLNativeDisplayType;
+-typedef Pixmap   EGLNativePixmapType;
+-typedef Window   EGLNativeWindowType;
+-
+-#endif /* MESA_EGL_NO_X11_HEADERS */
+-
+-#else
+-#error "Platform not recognized"
+-#endif
+-
+-/* EGL 1.2 types, renamed for consistency in EGL 1.3 */
+-typedef EGLNativeDisplayType NativeDisplayType;
+-typedef EGLNativePixmapType  NativePixmapType;
+-typedef EGLNativeWindowType  NativeWindowType;
+-
+-
+-/* Define EGLint. This must be a signed integral type large enough to contain
+- * all legal attribute names and values passed into and out of EGL, whether
+- * their type is boolean, bitmask, enumerant (symbolic constant), integer,
+- * handle, or other.  While in general a 32-bit integer will suffice, if
+- * handles are 64 bit types, then EGLint should be defined as a signed 64-bit
+- * integer type.
+- */
+-typedef khronos_int32_t EGLint;
+-
+-#endif /* __eglplatform_h */
+diff --git a/include/EGL/eglplatform.h.in b/include/EGL/eglplatform.h.in
+new file mode 100644
+index 0000000..5126c92
+--- /dev/null
++++ b/include/EGL/eglplatform.h.in
+@@ -0,0 +1,146 @@
++#ifndef __eglplatform_h_
++#define __eglplatform_h_
++
++/*
++** Copyright (c) 2007-2009 The Khronos Group Inc.
++**
++** Permission is hereby granted, free of charge, to any person obtaining a
++** copy of this software and/or associated documentation files (the
++** "Materials"), to deal in the Materials without restriction, including
++** without limitation the rights to use, copy, modify, merge, publish,
++** distribute, sublicense, and/or sell copies of the Materials, and to
++** permit persons to whom the Materials are furnished to do so, subject to
++** the following conditions:
++**
++** The above copyright notice and this permission notice shall be included
++** in all copies or substantial portions of the Materials.
++**
++** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
++** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
++** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
++** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
++** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
++** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
++** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
++*/
++
++/* Platform-specific types and definitions for egl.h
++ * $Revision: 12306 $ on $Date: 2010-08-25 09:51:28 -0700 (Wed, 25 Aug 2010) $
++ *
++ * Adopters may modify khrplatform.h and this file to suit their platform.
++ * You are encouraged to submit all modifications to the Khronos group so that
++ * they can be included in future versions of this file.  Please submit changes
++ * by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla)
++ * by filing a bug against product "EGL" component "Registry".
++ */
++
++#include <KHR/khrplatform.h>
++
++/* Macros used in EGL function prototype declarations.
++ *
++ * EGL functions should be prototyped as:
++ *
++ * EGLAPI return-type EGLAPIENTRY eglFunction(arguments);
++ * typedef return-type (EXPAPIENTRYP PFNEGLFUNCTIONPROC) (arguments);
++ *
++ * KHRONOS_APICALL and KHRONOS_APIENTRY are defined in KHR/khrplatform.h
++ */
++
++#ifndef EGLAPI
++#define EGLAPI KHRONOS_APICALL
++#endif
++
++#ifndef EGLAPIENTRY
++#define EGLAPIENTRY  KHRONOS_APIENTRY
++#endif
++#define EGLAPIENTRYP EGLAPIENTRY*
++
++/* The types NativeDisplayType, NativeWindowType, and NativePixmapType
++ * are aliases of window-system-dependent types, such as X Display * or
++ * Windows Device Context. They must be defined in platform-specific
++ * code below. The EGL-prefixed versions of Native*Type are the same
++ * types, renamed in EGL 1.3 so all types in the API start with "EGL".
++ *
++ * Khronos STRONGLY RECOMMENDS that you use the default definitions
++ * provided below, since these changes affect both binary and source
++ * portability of applications using EGL running on different EGL
++ * implementations.
++ */
++
++#if defined(_WIN32) || defined(__VC32__) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) /* Win32 and WinCE */
++#ifndef WIN32_LEAN_AND_MEAN
++#define WIN32_LEAN_AND_MEAN 1
++#endif
++#include <windows.h>
++
++typedef HDC     EGLNativeDisplayType;
++typedef HBITMAP EGLNativePixmapType;
++typedef HWND    EGLNativeWindowType;
++
++#elif defined(__WINSCW__) || defined(__SYMBIAN32__)  /* Symbian */
++
++typedef int   EGLNativeDisplayType;
++typedef void *EGLNativeWindowType;
++typedef void *EGLNativePixmapType;
++
++#elif defined(WL_EGL_PLATFORM)
++
++typedef struct wl_display     *EGLNativeDisplayType;
++typedef struct wl_egl_pixmap  *EGLNativePixmapType;
++typedef struct wl_egl_window  *EGLNativeWindowType;
++
++#elif defined(__GBM__)
++
++typedef struct gbm_device  *EGLNativeDisplayType;
++typedef struct gbm_bo      *EGLNativePixmapType;
++typedef void               *EGLNativeWindowType;
++
++#elif defined(ANDROID) /* Android */
++
++struct ANativeWindow;
++struct egl_native_pixmap_t;
++
++typedef struct ANativeWindow        *EGLNativeWindowType;
++typedef struct egl_native_pixmap_t  *EGLNativePixmapType;
++typedef void                        *EGLNativeDisplayType;
++
++#elif defined(__unix__)
++
++#if @MESA_EGL_NO_X11_HEADERS@
++
++typedef void            *EGLNativeDisplayType;
++typedef khronos_uint32_t EGLNativePixmapType;
++typedef khronos_uint32_t EGLNativeWindowType;
++
++#else
++
++/* X11 (tentative)  */
++#include <X11/Xlib.h>
++#include <X11/Xutil.h>
++
++typedef Display *EGLNativeDisplayType;
++typedef Pixmap   EGLNativePixmapType;
++typedef Window   EGLNativeWindowType;
++
++#endif /* MESA_EGL_NO_X11_HEADERS */
++
++#else
++#error "Platform not recognized"
++#endif
++
++/* EGL 1.2 types, renamed for consistency in EGL 1.3 */
++typedef EGLNativeDisplayType NativeDisplayType;
++typedef EGLNativePixmapType  NativePixmapType;
++typedef EGLNativeWindowType  NativeWindowType;
++
++
++/* Define EGLint. This must be a signed integral type large enough to contain
++ * all legal attribute names and values passed into and out of EGL, whether
++ * their type is boolean, bitmask, enumerant (symbolic constant), integer,
++ * handle, or other.  While in general a 32-bit integer will suffice, if
++ * handles are 64 bit types, then EGLint should be defined as a signed 64-bit
++ * integer type.
++ */
++typedef khronos_int32_t EGLint;
++
++#endif /* __eglplatform_h */
+-- 
+1.8.2.1
+
diff --git a/meta/recipes-graphics/mesa/mesa/fix-glsl-cross.patch b/meta/recipes-graphics/mesa/mesa/0004-glsl-fix-builtin_compiler-cross-compilation.patch
similarity index 76%
rename from meta/recipes-graphics/mesa/mesa/fix-glsl-cross.patch
rename to meta/recipes-graphics/mesa/mesa/0004-glsl-fix-builtin_compiler-cross-compilation.patch
index 34226ea..460a274 100644
--- a/meta/recipes-graphics/mesa/mesa/fix-glsl-cross.patch
+++ b/meta/recipes-graphics/mesa/mesa/0004-glsl-fix-builtin_compiler-cross-compilation.patch
@@ -1,9 +1,17 @@
+From ab38c97f057f739533a4e1fc9de51ea5f4e6242d Mon Sep 17 00:00:00 2001
+From: Jonathan Liu <net147@gmail.com>
+Date: Sat, 29 Jun 2013 11:37:20 +0200
+Subject: [PATCH 4/4] glsl: fix builtin_compiler cross-compilation
+
 The target libtool is used when building host binaries, which predictably
 doesn't work.
 
-Upstream-Status: Submitted (https://bugs.freedesktop.org/show_bug.cgi?id=44618)
+Upstream-Status: Submitted https://bugs.freedesktop.org/show_bug.cgi?id=44618
 Signed-off-by: Jonathan Liu <net147@gmail.com>
 Signed-off-by: Ross Burton <ross.burton@intel.com>
+---
+ src/glsl/builtin_compiler/Makefile.am | 13 +++++++++++++
+ 1 file changed, 13 insertions(+)
 
 diff --git a/src/glsl/builtin_compiler/Makefile.am b/src/glsl/builtin_compiler/Makefile.am
 index e11a17f..8ebe0a2 100644
@@ -41,3 +49,6 @@ index e11a17f..8ebe0a2 100644
 +else
  builtin_compiler_LDADD = libglslcore.la libglcpp.la
 +endif
+-- 
+1.8.2.1
+
diff --git a/meta/recipes-graphics/mesa/mesa_9.1.3.bb b/meta/recipes-graphics/mesa/mesa_9.1.3.bb
index bbeacd3..a7ccbe6 100644
--- a/meta/recipes-graphics/mesa/mesa_9.1.3.bb
+++ b/meta/recipes-graphics/mesa/mesa_9.1.3.bb
@@ -1,11 +1,11 @@
 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 \
            file://0002-pipe_loader_sw-include-xlib_sw_winsys.h-only-when-HA.patch \
+           file://0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch \
+           file://0004-glsl-fix-builtin_compiler-cross-compilation.patch \
+           file://0005-llvmpipe-remove-the-power-of-two-sizeof-struct-cmd_b.patch \
            "
 
 SRC_URI[md5sum] = "952ccd03547ed72333b64e1746cf8ada"
diff --git a/meta/recipes-graphics/mesa/mesa_git.bb b/meta/recipes-graphics/mesa/mesa_git.bb
index 09a9531..55fafa9 100644
--- a/meta/recipes-graphics/mesa/mesa_git.bb
+++ b/meta/recipes-graphics/mesa/mesa_git.bb
@@ -3,16 +3,14 @@ require ${BPN}.inc
 DEFAULT_PREFERENCE = "-1"
 
 PR = "${INC_PR}.0"
-# 9.1.3 commit
-SRCREV = "f32ec82a8cfcabc5b7596796f36afe7986651f02"
+SRCREV = "5a925cc5504575c22dbb7d29842d7fc5babcb5c7"
 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 \
            file://0002-pipe_loader_sw-include-xlib_sw_winsys.h-only-when-HA.patch \
+           file://0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch \
+           file://0004-glsl-fix-builtin_compiler-cross-compilation.patch \
            "
 
 S = "${WORKDIR}/git"
-- 
1.8.2.1



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH 4/4] mesa: remove drirc file
  2013-07-01 19:36 [PATCH 0/4] Fix and cleanup for mesa Martin Jansa
                   ` (2 preceding siblings ...)
  2013-07-01 19:36 ` [PATCH 3/4] mesa: bump SRCREV in git recipe, refresh patches Martin Jansa
@ 2013-07-01 19:36 ` Martin Jansa
  2013-07-02 10:53 ` [PATCH 0/4] Fix and cleanup for mesa Burton, Ross
  4 siblings, 0 replies; 15+ messages in thread
From: Martin Jansa @ 2013-07-01 19:36 UTC (permalink / raw)
  To: openembedded-core

* it's packaged in libdricore package and prevents upgrading it
  when debian.bbclass is enabled
  * check_data_file_clashes: Package libdricore9.1.3-1 wants to install file /etc/drirc
        But that file is already provided by package  * libdricore9.0.2-1
* we can move it to separate packages, but it isn't very useful now, there
  aren't many gamers using mesa on embedded devices

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
 meta/recipes-graphics/mesa/mesa.inc | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc
index 599ec7e..ada1170 100644
--- a/meta/recipes-graphics/mesa/mesa.inc
+++ b/meta/recipes-graphics/mesa/mesa.inc
@@ -86,6 +86,9 @@ do_install_append () {
     rm -f ${D}${libdir}/egl/*.la
     rm -f ${D}${libdir}/gallium-pipe/*.la
     rm -f ${D}${libdir}/gbm/*.la
+    
+    # it was packaged in libdricore9.1.3-1 and preventing upgrades when debian.bbclass was used 
+    rm -f ${D}${sysconfdir}/drirc
 }
 
 # For the packages that make up the OpenGL interfaces, inject variables so that
-- 
1.8.2.1



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* Re: [PATCH 3/4] mesa: bump SRCREV in git recipe, refresh patches
  2013-07-01 19:36 ` [PATCH 3/4] mesa: bump SRCREV in git recipe, refresh patches Martin Jansa
@ 2013-07-02 10:39   ` Burton, Ross
  2013-07-02 11:44     ` Martin Jansa
  0 siblings, 1 reply; 15+ messages in thread
From: Burton, Ross @ 2013-07-02 10:39 UTC (permalink / raw)
  To: Martin Jansa; +Cc: openembedded-core

On 1 July 2013 20:36, Martin Jansa <martin.jansa@gmail.com> wrote:
> * 0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch
>   needs to be rebased so move old version for 9.1.3 to
>   mesa-9.1.3/ and update the version in meta/

Typo "meta/".

> -# 9.1.3 commit
> -SRCREV = "f32ec82a8cfcabc5b7596796f36afe7986651f02"
> +SRCREV = "5a925cc5504575c22dbb7d29842d7fc5babcb5c7"
>  PV = "9.1.3+git${SRCPV}"

git describe doesn't call this a descendent of 9.1.x so I presume this
is a master commit.  Can you change PV to reflect that somehow?

That said I've discovered that our rpm doesn't support ~, so calling
it "9.2.0~git" isn't going to work.

Ross


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH 0/4] Fix and cleanup for mesa
  2013-07-01 19:36 [PATCH 0/4] Fix and cleanup for mesa Martin Jansa
                   ` (3 preceding siblings ...)
  2013-07-01 19:36 ` [PATCH 4/4] mesa: remove drirc file Martin Jansa
@ 2013-07-02 10:53 ` Burton, Ross
  4 siblings, 0 replies; 15+ messages in thread
From: Burton, Ross @ 2013-07-02 10:53 UTC (permalink / raw)
  To: Martin Jansa; +Cc: openembedded-core

On 1 July 2013 20:36, Martin Jansa <martin.jansa@gmail.com> wrote:
> Martin Jansa (4):
>   mesa: Improve gallium PACKAGECONFIG options
>   mesa: fix pipe_loader_sw build without libx11
>   mesa: bump SRCREV in git recipe, refresh patches
>   mesa: remove drirc file

Apart from my comments about the SRCREV bump the rest is good, so
assuming a V2 on that:

Signed-off-by: Ross Burton <ross.burton@intel.com>

Ross


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH 3/4] mesa: bump SRCREV in git recipe, refresh patches
  2013-07-02 10:39   ` Burton, Ross
@ 2013-07-02 11:44     ` Martin Jansa
  2013-07-02 11:44       ` [PATCHv2] " Martin Jansa
                         ` (2 more replies)
  0 siblings, 3 replies; 15+ messages in thread
From: Martin Jansa @ 2013-07-02 11:44 UTC (permalink / raw)
  To: Burton, Ross; +Cc: openembedded-core

[-- Attachment #1: Type: text/plain, Size: 1005 bytes --]

On Tue, Jul 02, 2013 at 11:39:24AM +0100, Burton, Ross wrote:
> On 1 July 2013 20:36, Martin Jansa <martin.jansa@gmail.com> wrote:
> > * 0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch
> >   needs to be rebased so move old version for 9.1.3 to
> >   mesa-9.1.3/ and update the version in meta/
> 
> Typo "meta/".

Updated in branch.

> 
> > -# 9.1.3 commit
> > -SRCREV = "f32ec82a8cfcabc5b7596796f36afe7986651f02"
> > +SRCREV = "5a925cc5504575c22dbb7d29842d7fc5babcb5c7"
> >  PV = "9.1.3+git${SRCPV}"
> 
> git describe doesn't call this a descendent of 9.1.x so I presume this
> is a master commit.  Can you change PV to reflect that somehow?
> 
> That said I've discovered that our rpm doesn't support ~, so calling
> it "9.2.0~git" isn't going to work.

yes it's from master and I think that we always used this syntax
${OLD_RELEASED_VERSION}+git${SRCPV}

IIRC "9.2.0~git" isn't supported in opkg too.

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa@gmail.com

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 205 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [PATCHv2] mesa: bump SRCREV in git recipe, refresh patches
  2013-07-02 11:44     ` Martin Jansa
@ 2013-07-02 11:44       ` Martin Jansa
  2013-07-02 11:49       ` [PATCHv3] " Martin Jansa
  2013-07-02 13:05       ` [PATCH 3/4] " Burton, Ross
  2 siblings, 0 replies; 15+ messages in thread
From: Martin Jansa @ 2013-07-02 11:44 UTC (permalink / raw)
  To: openembedded-core

* 0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch
  needs to be rebased so move old version for 9.1.3 to
  mesa-9.1.3/ and update the version in mesa/
* add git headers
* 0005-llvmpipe-remove-the-power-of-two-sizeof-struct-cmd_b.patch
  is already applied in new SRCREV, move it to mesa-9.1.3/

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
 ...ate-NativeDisplayType-depending-on-config.patch | 359 +++++++++++++++++++++
 ...move-the-power-of-two-sizeof-struct-cmd_b.patch |  41 +++
 ...void-use-of-AC_CHECK_FILE-for-cross-compi.patch |  14 +-
 ...move-the-power-of-two-sizeof-struct-cmd_b.patch |  42 ---
 ...ate-NativeDisplayType-depending-on-config.patch | 356 ++++++++++++++++++++
 ...sl-fix-builtin_compiler-cross-compilation.patch |  54 ++++
 ...ate-NativeDisplayType-depending-on-config.patch | 358 --------------------
 .../mesa/mesa/fix-glsl-cross.patch                 |  43 ---
 meta/recipes-graphics/mesa/mesa_9.1.3.bb           |   6 +-
 meta/recipes-graphics/mesa/mesa_git.bb             |   8 +-
 10 files changed, 823 insertions(+), 458 deletions(-)
 create mode 100644 meta/recipes-graphics/mesa/mesa-9.1.3/0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch
 create mode 100644 meta/recipes-graphics/mesa/mesa-9.1.3/0005-llvmpipe-remove-the-power-of-two-sizeof-struct-cmd_b.patch
 delete mode 100644 meta/recipes-graphics/mesa/mesa/0001-llvmpipe-remove-the-power-of-two-sizeof-struct-cmd_b.patch
 create mode 100644 meta/recipes-graphics/mesa/mesa/0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch
 create mode 100644 meta/recipes-graphics/mesa/mesa/0004-glsl-fix-builtin_compiler-cross-compilation.patch
 delete mode 100644 meta/recipes-graphics/mesa/mesa/EGL-Mutate-NativeDisplayType-depending-on-config.patch
 delete mode 100644 meta/recipes-graphics/mesa/mesa/fix-glsl-cross.patch

diff --git a/meta/recipes-graphics/mesa/mesa-9.1.3/0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch b/meta/recipes-graphics/mesa/mesa-9.1.3/0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch
new file mode 100644
index 0000000..7e82b6a
--- /dev/null
+++ b/meta/recipes-graphics/mesa/mesa-9.1.3/0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch
@@ -0,0 +1,359 @@
+From 06c1ba29de8a26fffb73ee99f0fc54c704e9fee4 Mon Sep 17 00:00:00 2001
+From: Daniel Stone <daniel@fooishbar.org>
+Date: Fri, 24 May 2013 17:20:27 +0100
+Subject: [PATCH 3/5] EGL: Mutate NativeDisplayType depending on config
+
+If we go through ./configure without enabling X11 anywhere, then set the
+fallback types for EGL NativeDisplay and friends, rather than assuming
+X11/Xlib.
+
+Signed-off-by: Daniel Stone <daniel@fooishbar.org>
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ configure.ac                 |   9 +++
+ include/EGL/eglplatform.h    | 146 -------------------------------------------
+ include/EGL/eglplatform.h.in | 146 +++++++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 155 insertions(+), 146 deletions(-)
+ delete mode 100644 include/EGL/eglplatform.h
+ create mode 100644 include/EGL/eglplatform.h.in
+
+diff --git a/configure.ac b/configure.ac
+index 2b4a374..d4c7a95 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1565,12 +1565,20 @@ fi
+ 
+ EGL_PLATFORMS="$egl_platforms"
+ 
++if echo "$egl_platforms" | grep 'x11' >/dev/null 2>&1; then
++    MESA_EGL_NO_X11_HEADERS=0
++else
++    MESA_EGL_NO_X11_HEADERS=1
++fi
++
+ AM_CONDITIONAL(HAVE_EGL_PLATFORM_X11, echo "$egl_platforms" | grep 'x11' >/dev/null 2>&1)
+ AM_CONDITIONAL(HAVE_EGL_PLATFORM_WAYLAND, echo "$egl_platforms" | grep 'wayland' >/dev/null 2>&1)
+ AM_CONDITIONAL(HAVE_EGL_PLATFORM_DRM, echo "$egl_platforms" | grep 'drm' >/dev/null 2>&1)
+ AM_CONDITIONAL(HAVE_EGL_PLATFORM_FBDEV, echo "$egl_platforms" | grep 'fbdev' >/dev/null 2>&1)
+ AM_CONDITIONAL(HAVE_EGL_PLATFORM_NULL, echo "$egl_platforms" | grep 'null' >/dev/null 2>&1)
+ 
++AC_SUBST([MESA_EGL_NO_X11_HEADERS])
++
+ AM_CONDITIONAL(HAVE_EGL_DRIVER_DRI2, test "x$HAVE_EGL_DRIVER_DRI2" != "x")
+ AM_CONDITIONAL(HAVE_EGL_DRIVER_GLX, test "x$HAVE_EGL_DRIVER_GLX" != "x")
+ 
+@@ -2042,6 +2050,7 @@ CXXFLAGS="$CXXFLAGS $USER_CXXFLAGS"
+ 
+ dnl Substitute the config
+ AC_CONFIG_FILES([Makefile
++		include/EGL/eglplatform.h
+ 		src/Makefile
+ 		src/egl/Makefile
+ 		src/egl/drivers/Makefile
+diff --git a/include/EGL/eglplatform.h b/include/EGL/eglplatform.h
+deleted file mode 100644
+index 17fdc61..0000000
+--- a/include/EGL/eglplatform.h
++++ /dev/null
+@@ -1,146 +0,0 @@
+-#ifndef __eglplatform_h_
+-#define __eglplatform_h_
+-
+-/*
+-** Copyright (c) 2007-2009 The Khronos Group Inc.
+-**
+-** Permission is hereby granted, free of charge, to any person obtaining a
+-** copy of this software and/or associated documentation files (the
+-** "Materials"), to deal in the Materials without restriction, including
+-** without limitation the rights to use, copy, modify, merge, publish,
+-** distribute, sublicense, and/or sell copies of the Materials, and to
+-** permit persons to whom the Materials are furnished to do so, subject to
+-** the following conditions:
+-**
+-** The above copyright notice and this permission notice shall be included
+-** in all copies or substantial portions of the Materials.
+-**
+-** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+-** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+-** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+-** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+-** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+-** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+-** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
+-*/
+-
+-/* Platform-specific types and definitions for egl.h
+- * $Revision: 12306 $ on $Date: 2010-08-25 09:51:28 -0700 (Wed, 25 Aug 2010) $
+- *
+- * Adopters may modify khrplatform.h and this file to suit their platform.
+- * You are encouraged to submit all modifications to the Khronos group so that
+- * they can be included in future versions of this file.  Please submit changes
+- * by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla)
+- * by filing a bug against product "EGL" component "Registry".
+- */
+-
+-#include <KHR/khrplatform.h>
+-
+-/* Macros used in EGL function prototype declarations.
+- *
+- * EGL functions should be prototyped as:
+- *
+- * EGLAPI return-type EGLAPIENTRY eglFunction(arguments);
+- * typedef return-type (EXPAPIENTRYP PFNEGLFUNCTIONPROC) (arguments);
+- *
+- * KHRONOS_APICALL and KHRONOS_APIENTRY are defined in KHR/khrplatform.h
+- */
+-
+-#ifndef EGLAPI
+-#define EGLAPI KHRONOS_APICALL
+-#endif
+-
+-#ifndef EGLAPIENTRY
+-#define EGLAPIENTRY  KHRONOS_APIENTRY
+-#endif
+-#define EGLAPIENTRYP EGLAPIENTRY*
+-
+-/* The types NativeDisplayType, NativeWindowType, and NativePixmapType
+- * are aliases of window-system-dependent types, such as X Display * or
+- * Windows Device Context. They must be defined in platform-specific
+- * code below. The EGL-prefixed versions of Native*Type are the same
+- * types, renamed in EGL 1.3 so all types in the API start with "EGL".
+- *
+- * Khronos STRONGLY RECOMMENDS that you use the default definitions
+- * provided below, since these changes affect both binary and source
+- * portability of applications using EGL running on different EGL
+- * implementations.
+- */
+-
+-#if defined(_WIN32) || defined(__VC32__) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) /* Win32 and WinCE */
+-#ifndef WIN32_LEAN_AND_MEAN
+-#define WIN32_LEAN_AND_MEAN 1
+-#endif
+-#include <windows.h>
+-
+-typedef HDC     EGLNativeDisplayType;
+-typedef HBITMAP EGLNativePixmapType;
+-typedef HWND    EGLNativeWindowType;
+-
+-#elif defined(__WINSCW__) || defined(__SYMBIAN32__)  /* Symbian */
+-
+-typedef int   EGLNativeDisplayType;
+-typedef void *EGLNativeWindowType;
+-typedef void *EGLNativePixmapType;
+-
+-#elif defined(WL_EGL_PLATFORM)
+-
+-typedef struct wl_display     *EGLNativeDisplayType;
+-typedef struct wl_egl_pixmap  *EGLNativePixmapType;
+-typedef struct wl_egl_window  *EGLNativeWindowType;
+-
+-#elif defined(__GBM__)
+-
+-typedef struct gbm_device  *EGLNativeDisplayType;
+-typedef struct gbm_bo      *EGLNativePixmapType;
+-typedef void               *EGLNativeWindowType;
+-
+-#elif defined(ANDROID) /* Android */
+-
+-struct ANativeWindow;
+-struct egl_native_pixmap_t;
+-
+-typedef struct ANativeWindow        *EGLNativeWindowType;
+-typedef struct egl_native_pixmap_t  *EGLNativePixmapType;
+-typedef void                        *EGLNativeDisplayType;
+-
+-#elif defined(__unix__)
+-
+-#ifdef MESA_EGL_NO_X11_HEADERS
+-
+-typedef void            *EGLNativeDisplayType;
+-typedef khronos_uint32_t EGLNativePixmapType;
+-typedef khronos_uint32_t EGLNativeWindowType;
+-
+-#else
+-
+-/* X11 (tentative)  */
+-#include <X11/Xlib.h>
+-#include <X11/Xutil.h>
+-
+-typedef Display *EGLNativeDisplayType;
+-typedef Pixmap   EGLNativePixmapType;
+-typedef Window   EGLNativeWindowType;
+-
+-#endif /* MESA_EGL_NO_X11_HEADERS */
+-
+-#else
+-#error "Platform not recognized"
+-#endif
+-
+-/* EGL 1.2 types, renamed for consistency in EGL 1.3 */
+-typedef EGLNativeDisplayType NativeDisplayType;
+-typedef EGLNativePixmapType  NativePixmapType;
+-typedef EGLNativeWindowType  NativeWindowType;
+-
+-
+-/* Define EGLint. This must be a signed integral type large enough to contain
+- * all legal attribute names and values passed into and out of EGL, whether
+- * their type is boolean, bitmask, enumerant (symbolic constant), integer,
+- * handle, or other.  While in general a 32-bit integer will suffice, if
+- * handles are 64 bit types, then EGLint should be defined as a signed 64-bit
+- * integer type.
+- */
+-typedef khronos_int32_t EGLint;
+-
+-#endif /* __eglplatform_h */
+diff --git a/include/EGL/eglplatform.h.in b/include/EGL/eglplatform.h.in
+new file mode 100644
+index 0000000..5126c92
+--- /dev/null
++++ b/include/EGL/eglplatform.h.in
+@@ -0,0 +1,146 @@
++#ifndef __eglplatform_h_
++#define __eglplatform_h_
++
++/*
++** Copyright (c) 2007-2009 The Khronos Group Inc.
++**
++** Permission is hereby granted, free of charge, to any person obtaining a
++** copy of this software and/or associated documentation files (the
++** "Materials"), to deal in the Materials without restriction, including
++** without limitation the rights to use, copy, modify, merge, publish,
++** distribute, sublicense, and/or sell copies of the Materials, and to
++** permit persons to whom the Materials are furnished to do so, subject to
++** the following conditions:
++**
++** The above copyright notice and this permission notice shall be included
++** in all copies or substantial portions of the Materials.
++**
++** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
++** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
++** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
++** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
++** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
++** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
++** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
++*/
++
++/* Platform-specific types and definitions for egl.h
++ * $Revision: 12306 $ on $Date: 2010-08-25 09:51:28 -0700 (Wed, 25 Aug 2010) $
++ *
++ * Adopters may modify khrplatform.h and this file to suit their platform.
++ * You are encouraged to submit all modifications to the Khronos group so that
++ * they can be included in future versions of this file.  Please submit changes
++ * by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla)
++ * by filing a bug against product "EGL" component "Registry".
++ */
++
++#include <KHR/khrplatform.h>
++
++/* Macros used in EGL function prototype declarations.
++ *
++ * EGL functions should be prototyped as:
++ *
++ * EGLAPI return-type EGLAPIENTRY eglFunction(arguments);
++ * typedef return-type (EXPAPIENTRYP PFNEGLFUNCTIONPROC) (arguments);
++ *
++ * KHRONOS_APICALL and KHRONOS_APIENTRY are defined in KHR/khrplatform.h
++ */
++
++#ifndef EGLAPI
++#define EGLAPI KHRONOS_APICALL
++#endif
++
++#ifndef EGLAPIENTRY
++#define EGLAPIENTRY  KHRONOS_APIENTRY
++#endif
++#define EGLAPIENTRYP EGLAPIENTRY*
++
++/* The types NativeDisplayType, NativeWindowType, and NativePixmapType
++ * are aliases of window-system-dependent types, such as X Display * or
++ * Windows Device Context. They must be defined in platform-specific
++ * code below. The EGL-prefixed versions of Native*Type are the same
++ * types, renamed in EGL 1.3 so all types in the API start with "EGL".
++ *
++ * Khronos STRONGLY RECOMMENDS that you use the default definitions
++ * provided below, since these changes affect both binary and source
++ * portability of applications using EGL running on different EGL
++ * implementations.
++ */
++
++#if defined(_WIN32) || defined(__VC32__) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) /* Win32 and WinCE */
++#ifndef WIN32_LEAN_AND_MEAN
++#define WIN32_LEAN_AND_MEAN 1
++#endif
++#include <windows.h>
++
++typedef HDC     EGLNativeDisplayType;
++typedef HBITMAP EGLNativePixmapType;
++typedef HWND    EGLNativeWindowType;
++
++#elif defined(__WINSCW__) || defined(__SYMBIAN32__)  /* Symbian */
++
++typedef int   EGLNativeDisplayType;
++typedef void *EGLNativeWindowType;
++typedef void *EGLNativePixmapType;
++
++#elif defined(WL_EGL_PLATFORM)
++
++typedef struct wl_display     *EGLNativeDisplayType;
++typedef struct wl_egl_pixmap  *EGLNativePixmapType;
++typedef struct wl_egl_window  *EGLNativeWindowType;
++
++#elif defined(__GBM__)
++
++typedef struct gbm_device  *EGLNativeDisplayType;
++typedef struct gbm_bo      *EGLNativePixmapType;
++typedef void               *EGLNativeWindowType;
++
++#elif defined(ANDROID) /* Android */
++
++struct ANativeWindow;
++struct egl_native_pixmap_t;
++
++typedef struct ANativeWindow        *EGLNativeWindowType;
++typedef struct egl_native_pixmap_t  *EGLNativePixmapType;
++typedef void                        *EGLNativeDisplayType;
++
++#elif defined(__unix__)
++
++#if @MESA_EGL_NO_X11_HEADERS@
++
++typedef void            *EGLNativeDisplayType;
++typedef khronos_uint32_t EGLNativePixmapType;
++typedef khronos_uint32_t EGLNativeWindowType;
++
++#else
++
++/* X11 (tentative)  */
++#include <X11/Xlib.h>
++#include <X11/Xutil.h>
++
++typedef Display *EGLNativeDisplayType;
++typedef Pixmap   EGLNativePixmapType;
++typedef Window   EGLNativeWindowType;
++
++#endif /* MESA_EGL_NO_X11_HEADERS */
++
++#else
++#error "Platform not recognized"
++#endif
++
++/* EGL 1.2 types, renamed for consistency in EGL 1.3 */
++typedef EGLNativeDisplayType NativeDisplayType;
++typedef EGLNativePixmapType  NativePixmapType;
++typedef EGLNativeWindowType  NativeWindowType;
++
++
++/* Define EGLint. This must be a signed integral type large enough to contain
++ * all legal attribute names and values passed into and out of EGL, whether
++ * their type is boolean, bitmask, enumerant (symbolic constant), integer,
++ * handle, or other.  While in general a 32-bit integer will suffice, if
++ * handles are 64 bit types, then EGLint should be defined as a signed 64-bit
++ * integer type.
++ */
++typedef khronos_int32_t EGLint;
++
++#endif /* __eglplatform_h */
+-- 
+1.8.2.1
+
diff --git a/meta/recipes-graphics/mesa/mesa-9.1.3/0005-llvmpipe-remove-the-power-of-two-sizeof-struct-cmd_b.patch b/meta/recipes-graphics/mesa/mesa-9.1.3/0005-llvmpipe-remove-the-power-of-two-sizeof-struct-cmd_b.patch
new file mode 100644
index 0000000..d86421b
--- /dev/null
+++ b/meta/recipes-graphics/mesa/mesa-9.1.3/0005-llvmpipe-remove-the-power-of-two-sizeof-struct-cmd_b.patch
@@ -0,0 +1,41 @@
+From 33098ef45e6035f3348040a25641f95c95266103 Mon Sep 17 00:00:00 2001
+From: Brian Paul <brianp@vmware.com>
+Date: Wed, 6 Mar 2013 16:57:20 -0700
+Subject: [PATCH 5/5] llvmpipe: remove the power of two sizeof(struct
+ cmd_block) assertion
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+It fails on 32-bit systems (I only tested on 64-bit).  Power of two
+size isn't required, so just remove the assertion.
+
+Reviewed-by: José Fonseca <jfonseca@vmware.com>
+
+Upstream-Status: Backport
+http://cgit.freedesktop.org/mesa/mesa/commit/?id=9915636fb8afe75ee2e8e013e4f495a4cb937afb
+---
+ src/gallium/drivers/llvmpipe/lp_scene.c | 7 -------
+ 1 file changed, 7 deletions(-)
+
+diff --git a/src/gallium/drivers/llvmpipe/lp_scene.c b/src/gallium/drivers/llvmpipe/lp_scene.c
+index e145391..c88bc95 100644
+--- a/src/gallium/drivers/llvmpipe/lp_scene.c
++++ b/src/gallium/drivers/llvmpipe/lp_scene.c
+@@ -76,13 +76,6 @@ lp_scene_create( struct pipe_context *pipe )
+       assert(maxCommandBytes < LP_SCENE_MAX_SIZE);
+       /* We'll also need space for at least one other data block */
+       assert(maxCommandPlusData <= LP_SCENE_MAX_SIZE);
+-
+-      /* Ideally, the size of a cmd_block object will be a power of two
+-       * in order to avoid wasting space when we allocation them from
+-       * data blocks (which are power of two also).
+-       */
+-      assert(sizeof(struct cmd_block) ==
+-             util_next_power_of_two(sizeof(struct cmd_block)));
+    }
+ #endif
+ 
+-- 
+1.8.2.1
+
diff --git a/meta/recipes-graphics/mesa/mesa/0001-configure-Avoid-use-of-AC_CHECK_FILE-for-cross-compi.patch b/meta/recipes-graphics/mesa/mesa/0001-configure-Avoid-use-of-AC_CHECK_FILE-for-cross-compi.patch
index 9f7002a..76b5a18 100644
--- a/meta/recipes-graphics/mesa/mesa/0001-configure-Avoid-use-of-AC_CHECK_FILE-for-cross-compi.patch
+++ b/meta/recipes-graphics/mesa/mesa/0001-configure-Avoid-use-of-AC_CHECK_FILE-for-cross-compi.patch
@@ -1,7 +1,7 @@
-From 877b8ea9a79d1d51f8e6b032801731538590d39e Mon Sep 17 00:00:00 2001
+From e21ce89f7ae6964f196086ff325d79e4a3b5acd8 Mon Sep 17 00:00:00 2001
 From: Jonathan Liu <net147@gmail.com>
 Date: Tue, 4 Jun 2013 06:04:44 -0700
-Subject: [PATCH] configure: Avoid use of AC_CHECK_FILE for cross compiling
+Subject: [PATCH 1/4] configure: Avoid use of AC_CHECK_FILE for cross compiling
 
 The AC_CHECK_FILE macro can't be used for cross compiling as it will
 result in "error: cannot check for file existence when cross compiling".
@@ -17,10 +17,10 @@ Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
  1 file changed, 6 insertions(+), 6 deletions(-)
 
 diff --git a/configure.ac b/configure.ac
-index 36065f1..2b4a374 100644
+index 70c598e..67b8c40 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -1694,8 +1694,8 @@ if test "x$enable_gallium_llvm" = xyes; then
+@@ -1630,8 +1630,8 @@ if test "x$enable_gallium_llvm" = xyes; then
                  CLANG_LIBDIR=${LLVM_LIBDIR}
              fi
              CLANG_RESOURCE_DIR=$CLANG_LIBDIR/clang/${LLVM_VERSION}
@@ -31,7 +31,7 @@ index 36065f1..2b4a374 100644
          fi
      else
  	MESA_LLVM=0
-@@ -1912,7 +1912,7 @@ if test "x$MESA_LLVM" != x0; then
+@@ -1861,7 +1861,7 @@ if test "x$MESA_LLVM" != x0; then
      if test "x$with_llvm_shared_libs" = xyes; then
          dnl We can't use $LLVM_VERSION because it has 'svn' stripped out,
          LLVM_SO_NAME=LLVM-`$LLVM_CONFIG --version`
@@ -40,7 +40,7 @@ index 36065f1..2b4a374 100644
  
          if test "x$llvm_have_one_so" = xyes; then
              dnl LLVM was built using auto*, so there is only one shared object.
-@@ -1920,8 +1920,8 @@ if test "x$MESA_LLVM" != x0; then
+@@ -1869,8 +1869,8 @@ if test "x$MESA_LLVM" != x0; then
          else
              dnl If LLVM was built with CMake, there will be one shared object per
              dnl component.
@@ -51,7 +51,7 @@ index 36065f1..2b4a374 100644
  	Please make sure you have built llvm with the --enable-shared option
  	and that your llvm libraries are installed in $LLVM_LIBDIR
  	If you have installed your llvm libraries to a different directory you
-@@ -1932,7 +1932,7 @@ if test "x$MESA_LLVM" != x0; then
+@@ -1881,7 +1881,7 @@ if test "x$MESA_LLVM" != x0; then
  		--enable-opencl
  	If you do not want to build with llvm shared libraries and instead want to
  	use llvm static libraries then remove these options from your configure
diff --git a/meta/recipes-graphics/mesa/mesa/0001-llvmpipe-remove-the-power-of-two-sizeof-struct-cmd_b.patch b/meta/recipes-graphics/mesa/mesa/0001-llvmpipe-remove-the-power-of-two-sizeof-struct-cmd_b.patch
deleted file mode 100644
index b74fddc..0000000
--- a/meta/recipes-graphics/mesa/mesa/0001-llvmpipe-remove-the-power-of-two-sizeof-struct-cmd_b.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 9915636fb8afe75ee2e8e013e4f495a4cb937afb Mon Sep 17 00:00:00 2001
-From: Brian Paul <brianp@vmware.com>
-Date: Wed, 6 Mar 2013 16:57:20 -0700
-Subject: [PATCH] llvmpipe: remove the power of two sizeof(struct cmd_block)
- assertion
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-It fails on 32-bit systems (I only tested on 64-bit).  Power of two
-size isn't required, so just remove the assertion.
-
-Reviewed-by: José Fonseca <jfonseca@vmware.com>
-
-Upstream-Status: Backport
-http://cgit.freedesktop.org/mesa/mesa/commit/?id=9915636fb8afe75ee2e8e013e4f495a4cb937afb
-
----
- src/gallium/drivers/llvmpipe/lp_scene.c | 7 -------
- 1 file changed, 7 deletions(-)
-
-diff --git a/src/gallium/drivers/llvmpipe/lp_scene.c b/src/gallium/drivers/llvmpipe/lp_scene.c
-index dd0943e..a0912eb 100644
---- a/src/gallium/drivers/llvmpipe/lp_scene.c
-+++ b/src/gallium/drivers/llvmpipe/lp_scene.c
-@@ -76,13 +76,6 @@ lp_scene_create( struct pipe_context *pipe )
-       assert(maxCommandBytes < LP_SCENE_MAX_SIZE);
-       /* We'll also need space for at least one other data block */
-       assert(maxCommandPlusData <= LP_SCENE_MAX_SIZE);
--
--      /* Ideally, the size of a cmd_block object will be a power of two
--       * in order to avoid wasting space when we allocation them from
--       * data blocks (which are power of two also).
--       */
--      assert(sizeof(struct cmd_block) ==
--             util_next_power_of_two(sizeof(struct cmd_block)));
-    }
- #endif
-
---
-1.8.3
-
diff --git a/meta/recipes-graphics/mesa/mesa/0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch b/meta/recipes-graphics/mesa/mesa/0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch
new file mode 100644
index 0000000..d6ddd9a
--- /dev/null
+++ b/meta/recipes-graphics/mesa/mesa/0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch
@@ -0,0 +1,356 @@
+From 8d31ae23683394617c49301b039b3a069b9ea436 Mon Sep 17 00:00:00 2001
+From: Daniel Stone <daniel@fooishbar.org>
+Date: Fri, 24 May 2013 17:20:27 +0100
+Subject: [PATCH 3/4] EGL: Mutate NativeDisplayType depending on config
+
+If we go through ./configure without enabling X11 anywhere, then set the
+fallback types for EGL NativeDisplay and friends, rather than assuming
+X11/Xlib.
+
+Signed-off-by: Daniel Stone <daniel@fooishbar.org>
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ configure.ac                 |   5 ++
+ include/EGL/eglplatform.h    | 146 -------------------------------------------
+ include/EGL/eglplatform.h.in | 146 +++++++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 151 insertions(+), 146 deletions(-)
+ delete mode 100644 include/EGL/eglplatform.h
+ create mode 100644 include/EGL/eglplatform.h.in
+
+diff --git a/configure.ac b/configure.ac
+index 67b8c40..afc3217 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1499,6 +1499,9 @@ EGL_PLATFORMS="$egl_platforms"
+ 
+ if echo "$egl_platforms" | grep 'x11' >/dev/null 2>&1; then
+     NEED_WINSYS_XLIB=yes
++    MESA_EGL_NO_X11_HEADERS=0
++else
++    MESA_EGL_NO_X11_HEADERS=1
+ fi
+ AM_CONDITIONAL(HAVE_EGL_PLATFORM_X11, echo "$egl_platforms" | grep 'x11' >/dev/null 2>&1)
+ AM_CONDITIONAL(HAVE_EGL_PLATFORM_WAYLAND, echo "$egl_platforms" | grep 'wayland' >/dev/null 2>&1)
+@@ -1512,6 +1515,7 @@ AM_CONDITIONAL(HAVE_EGL_DRIVER_GLX, test "x$HAVE_EGL_DRIVER_GLX" != "x")
+ AC_SUBST([EGL_NATIVE_PLATFORM])
+ AC_SUBST([EGL_PLATFORMS])
+ AC_SUBST([EGL_CFLAGS])
++AC_SUBST([MESA_EGL_NO_X11_HEADERS])
+ 
+ AC_ARG_WITH([egl-driver-dir],
+     [AS_HELP_STRING([--with-egl-driver-dir=DIR],
+@@ -1991,6 +1995,7 @@ CXXFLAGS="$CXXFLAGS $USER_CXXFLAGS"
+ 
+ dnl Substitute the config
+ AC_CONFIG_FILES([Makefile
++		include/EGL/eglplatform.h
+ 		src/Makefile
+ 		src/egl/Makefile
+ 		src/egl/drivers/Makefile
+diff --git a/include/EGL/eglplatform.h b/include/EGL/eglplatform.h
+deleted file mode 100644
+index 17fdc61..0000000
+--- a/include/EGL/eglplatform.h
++++ /dev/null
+@@ -1,146 +0,0 @@
+-#ifndef __eglplatform_h_
+-#define __eglplatform_h_
+-
+-/*
+-** Copyright (c) 2007-2009 The Khronos Group Inc.
+-**
+-** Permission is hereby granted, free of charge, to any person obtaining a
+-** copy of this software and/or associated documentation files (the
+-** "Materials"), to deal in the Materials without restriction, including
+-** without limitation the rights to use, copy, modify, merge, publish,
+-** distribute, sublicense, and/or sell copies of the Materials, and to
+-** permit persons to whom the Materials are furnished to do so, subject to
+-** the following conditions:
+-**
+-** The above copyright notice and this permission notice shall be included
+-** in all copies or substantial portions of the Materials.
+-**
+-** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+-** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+-** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+-** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+-** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+-** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+-** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
+-*/
+-
+-/* Platform-specific types and definitions for egl.h
+- * $Revision: 12306 $ on $Date: 2010-08-25 09:51:28 -0700 (Wed, 25 Aug 2010) $
+- *
+- * Adopters may modify khrplatform.h and this file to suit their platform.
+- * You are encouraged to submit all modifications to the Khronos group so that
+- * they can be included in future versions of this file.  Please submit changes
+- * by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla)
+- * by filing a bug against product "EGL" component "Registry".
+- */
+-
+-#include <KHR/khrplatform.h>
+-
+-/* Macros used in EGL function prototype declarations.
+- *
+- * EGL functions should be prototyped as:
+- *
+- * EGLAPI return-type EGLAPIENTRY eglFunction(arguments);
+- * typedef return-type (EXPAPIENTRYP PFNEGLFUNCTIONPROC) (arguments);
+- *
+- * KHRONOS_APICALL and KHRONOS_APIENTRY are defined in KHR/khrplatform.h
+- */
+-
+-#ifndef EGLAPI
+-#define EGLAPI KHRONOS_APICALL
+-#endif
+-
+-#ifndef EGLAPIENTRY
+-#define EGLAPIENTRY  KHRONOS_APIENTRY
+-#endif
+-#define EGLAPIENTRYP EGLAPIENTRY*
+-
+-/* The types NativeDisplayType, NativeWindowType, and NativePixmapType
+- * are aliases of window-system-dependent types, such as X Display * or
+- * Windows Device Context. They must be defined in platform-specific
+- * code below. The EGL-prefixed versions of Native*Type are the same
+- * types, renamed in EGL 1.3 so all types in the API start with "EGL".
+- *
+- * Khronos STRONGLY RECOMMENDS that you use the default definitions
+- * provided below, since these changes affect both binary and source
+- * portability of applications using EGL running on different EGL
+- * implementations.
+- */
+-
+-#if defined(_WIN32) || defined(__VC32__) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) /* Win32 and WinCE */
+-#ifndef WIN32_LEAN_AND_MEAN
+-#define WIN32_LEAN_AND_MEAN 1
+-#endif
+-#include <windows.h>
+-
+-typedef HDC     EGLNativeDisplayType;
+-typedef HBITMAP EGLNativePixmapType;
+-typedef HWND    EGLNativeWindowType;
+-
+-#elif defined(__WINSCW__) || defined(__SYMBIAN32__)  /* Symbian */
+-
+-typedef int   EGLNativeDisplayType;
+-typedef void *EGLNativeWindowType;
+-typedef void *EGLNativePixmapType;
+-
+-#elif defined(WL_EGL_PLATFORM)
+-
+-typedef struct wl_display     *EGLNativeDisplayType;
+-typedef struct wl_egl_pixmap  *EGLNativePixmapType;
+-typedef struct wl_egl_window  *EGLNativeWindowType;
+-
+-#elif defined(__GBM__)
+-
+-typedef struct gbm_device  *EGLNativeDisplayType;
+-typedef struct gbm_bo      *EGLNativePixmapType;
+-typedef void               *EGLNativeWindowType;
+-
+-#elif defined(ANDROID) /* Android */
+-
+-struct ANativeWindow;
+-struct egl_native_pixmap_t;
+-
+-typedef struct ANativeWindow        *EGLNativeWindowType;
+-typedef struct egl_native_pixmap_t  *EGLNativePixmapType;
+-typedef void                        *EGLNativeDisplayType;
+-
+-#elif defined(__unix__)
+-
+-#ifdef MESA_EGL_NO_X11_HEADERS
+-
+-typedef void            *EGLNativeDisplayType;
+-typedef khronos_uint32_t EGLNativePixmapType;
+-typedef khronos_uint32_t EGLNativeWindowType;
+-
+-#else
+-
+-/* X11 (tentative)  */
+-#include <X11/Xlib.h>
+-#include <X11/Xutil.h>
+-
+-typedef Display *EGLNativeDisplayType;
+-typedef Pixmap   EGLNativePixmapType;
+-typedef Window   EGLNativeWindowType;
+-
+-#endif /* MESA_EGL_NO_X11_HEADERS */
+-
+-#else
+-#error "Platform not recognized"
+-#endif
+-
+-/* EGL 1.2 types, renamed for consistency in EGL 1.3 */
+-typedef EGLNativeDisplayType NativeDisplayType;
+-typedef EGLNativePixmapType  NativePixmapType;
+-typedef EGLNativeWindowType  NativeWindowType;
+-
+-
+-/* Define EGLint. This must be a signed integral type large enough to contain
+- * all legal attribute names and values passed into and out of EGL, whether
+- * their type is boolean, bitmask, enumerant (symbolic constant), integer,
+- * handle, or other.  While in general a 32-bit integer will suffice, if
+- * handles are 64 bit types, then EGLint should be defined as a signed 64-bit
+- * integer type.
+- */
+-typedef khronos_int32_t EGLint;
+-
+-#endif /* __eglplatform_h */
+diff --git a/include/EGL/eglplatform.h.in b/include/EGL/eglplatform.h.in
+new file mode 100644
+index 0000000..5126c92
+--- /dev/null
++++ b/include/EGL/eglplatform.h.in
+@@ -0,0 +1,146 @@
++#ifndef __eglplatform_h_
++#define __eglplatform_h_
++
++/*
++** Copyright (c) 2007-2009 The Khronos Group Inc.
++**
++** Permission is hereby granted, free of charge, to any person obtaining a
++** copy of this software and/or associated documentation files (the
++** "Materials"), to deal in the Materials without restriction, including
++** without limitation the rights to use, copy, modify, merge, publish,
++** distribute, sublicense, and/or sell copies of the Materials, and to
++** permit persons to whom the Materials are furnished to do so, subject to
++** the following conditions:
++**
++** The above copyright notice and this permission notice shall be included
++** in all copies or substantial portions of the Materials.
++**
++** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
++** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
++** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
++** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
++** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
++** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
++** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
++*/
++
++/* Platform-specific types and definitions for egl.h
++ * $Revision: 12306 $ on $Date: 2010-08-25 09:51:28 -0700 (Wed, 25 Aug 2010) $
++ *
++ * Adopters may modify khrplatform.h and this file to suit their platform.
++ * You are encouraged to submit all modifications to the Khronos group so that
++ * they can be included in future versions of this file.  Please submit changes
++ * by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla)
++ * by filing a bug against product "EGL" component "Registry".
++ */
++
++#include <KHR/khrplatform.h>
++
++/* Macros used in EGL function prototype declarations.
++ *
++ * EGL functions should be prototyped as:
++ *
++ * EGLAPI return-type EGLAPIENTRY eglFunction(arguments);
++ * typedef return-type (EXPAPIENTRYP PFNEGLFUNCTIONPROC) (arguments);
++ *
++ * KHRONOS_APICALL and KHRONOS_APIENTRY are defined in KHR/khrplatform.h
++ */
++
++#ifndef EGLAPI
++#define EGLAPI KHRONOS_APICALL
++#endif
++
++#ifndef EGLAPIENTRY
++#define EGLAPIENTRY  KHRONOS_APIENTRY
++#endif
++#define EGLAPIENTRYP EGLAPIENTRY*
++
++/* The types NativeDisplayType, NativeWindowType, and NativePixmapType
++ * are aliases of window-system-dependent types, such as X Display * or
++ * Windows Device Context. They must be defined in platform-specific
++ * code below. The EGL-prefixed versions of Native*Type are the same
++ * types, renamed in EGL 1.3 so all types in the API start with "EGL".
++ *
++ * Khronos STRONGLY RECOMMENDS that you use the default definitions
++ * provided below, since these changes affect both binary and source
++ * portability of applications using EGL running on different EGL
++ * implementations.
++ */
++
++#if defined(_WIN32) || defined(__VC32__) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) /* Win32 and WinCE */
++#ifndef WIN32_LEAN_AND_MEAN
++#define WIN32_LEAN_AND_MEAN 1
++#endif
++#include <windows.h>
++
++typedef HDC     EGLNativeDisplayType;
++typedef HBITMAP EGLNativePixmapType;
++typedef HWND    EGLNativeWindowType;
++
++#elif defined(__WINSCW__) || defined(__SYMBIAN32__)  /* Symbian */
++
++typedef int   EGLNativeDisplayType;
++typedef void *EGLNativeWindowType;
++typedef void *EGLNativePixmapType;
++
++#elif defined(WL_EGL_PLATFORM)
++
++typedef struct wl_display     *EGLNativeDisplayType;
++typedef struct wl_egl_pixmap  *EGLNativePixmapType;
++typedef struct wl_egl_window  *EGLNativeWindowType;
++
++#elif defined(__GBM__)
++
++typedef struct gbm_device  *EGLNativeDisplayType;
++typedef struct gbm_bo      *EGLNativePixmapType;
++typedef void               *EGLNativeWindowType;
++
++#elif defined(ANDROID) /* Android */
++
++struct ANativeWindow;
++struct egl_native_pixmap_t;
++
++typedef struct ANativeWindow        *EGLNativeWindowType;
++typedef struct egl_native_pixmap_t  *EGLNativePixmapType;
++typedef void                        *EGLNativeDisplayType;
++
++#elif defined(__unix__)
++
++#if @MESA_EGL_NO_X11_HEADERS@
++
++typedef void            *EGLNativeDisplayType;
++typedef khronos_uint32_t EGLNativePixmapType;
++typedef khronos_uint32_t EGLNativeWindowType;
++
++#else
++
++/* X11 (tentative)  */
++#include <X11/Xlib.h>
++#include <X11/Xutil.h>
++
++typedef Display *EGLNativeDisplayType;
++typedef Pixmap   EGLNativePixmapType;
++typedef Window   EGLNativeWindowType;
++
++#endif /* MESA_EGL_NO_X11_HEADERS */
++
++#else
++#error "Platform not recognized"
++#endif
++
++/* EGL 1.2 types, renamed for consistency in EGL 1.3 */
++typedef EGLNativeDisplayType NativeDisplayType;
++typedef EGLNativePixmapType  NativePixmapType;
++typedef EGLNativeWindowType  NativeWindowType;
++
++
++/* Define EGLint. This must be a signed integral type large enough to contain
++ * all legal attribute names and values passed into and out of EGL, whether
++ * their type is boolean, bitmask, enumerant (symbolic constant), integer,
++ * handle, or other.  While in general a 32-bit integer will suffice, if
++ * handles are 64 bit types, then EGLint should be defined as a signed 64-bit
++ * integer type.
++ */
++typedef khronos_int32_t EGLint;
++
++#endif /* __eglplatform_h */
+-- 
+1.8.2.1
+
diff --git a/meta/recipes-graphics/mesa/mesa/0004-glsl-fix-builtin_compiler-cross-compilation.patch b/meta/recipes-graphics/mesa/mesa/0004-glsl-fix-builtin_compiler-cross-compilation.patch
new file mode 100644
index 0000000..460a274
--- /dev/null
+++ b/meta/recipes-graphics/mesa/mesa/0004-glsl-fix-builtin_compiler-cross-compilation.patch
@@ -0,0 +1,54 @@
+From ab38c97f057f739533a4e1fc9de51ea5f4e6242d Mon Sep 17 00:00:00 2001
+From: Jonathan Liu <net147@gmail.com>
+Date: Sat, 29 Jun 2013 11:37:20 +0200
+Subject: [PATCH 4/4] glsl: fix builtin_compiler cross-compilation
+
+The target libtool is used when building host binaries, which predictably
+doesn't work.
+
+Upstream-Status: Submitted https://bugs.freedesktop.org/show_bug.cgi?id=44618
+Signed-off-by: Jonathan Liu <net147@gmail.com>
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+---
+ src/glsl/builtin_compiler/Makefile.am | 13 +++++++++++++
+ 1 file changed, 13 insertions(+)
+
+diff --git a/src/glsl/builtin_compiler/Makefile.am b/src/glsl/builtin_compiler/Makefile.am
+index e11a17f..8ebe0a2 100644
+--- a/src/glsl/builtin_compiler/Makefile.am
++++ b/src/glsl/builtin_compiler/Makefile.am
+@@ -64,6 +64,8 @@ AM_CXXFLAGS = $(AM_CFLAGS)
+ include ../Makefile.sources
+ 
+ noinst_PROGRAMS = builtin_compiler
++
++if !CROSS_COMPILING
+ noinst_LTLIBRARIES = libglslcore.la libglcpp.la
+ 
+ libglcpp_la_SOURCES =					\
+@@ -73,6 +75,7 @@ libglcpp_la_SOURCES =					\
+ libglslcore_la_SOURCES =				\
+ 	$(BUILTIN_COMPILER_GENERATED_CXX_FILES)		\
+ 	$(LIBGLSL_FILES)
++endif
+ 
+ builtin_compiler_SOURCES = \
+ 	$(top_srcdir)/src/mesa/main/hash_table.c	\
+@@ -81,4 +84,14 @@ builtin_compiler_SOURCES = \
+ 	$(top_srcdir)/src/mesa/program/symbol_table.c	\
+ 	$(BUILTIN_COMPILER_CXX_FILES)			\
+ 	$(GLSL_COMPILER_CXX_FILES)
++
++if CROSS_COMPILING
++builtin_compiler_SOURCES += \
++	$(LIBGLCPP_GENERATED_FILES) \
++	$(LIBGLCPP_FILES) \
++	$(BUILTIN_COMPILER_GENERATED_CXX_FILES) \
++	$(LIBGLSL_FILES)
++builtin_compiler_CPPFLAGS = $(AM_CPPFLAGS)
++else
+ builtin_compiler_LDADD = libglslcore.la libglcpp.la
++endif
+-- 
+1.8.2.1
+
diff --git a/meta/recipes-graphics/mesa/mesa/EGL-Mutate-NativeDisplayType-depending-on-config.patch b/meta/recipes-graphics/mesa/mesa/EGL-Mutate-NativeDisplayType-depending-on-config.patch
deleted file mode 100644
index 47ba167..0000000
--- a/meta/recipes-graphics/mesa/mesa/EGL-Mutate-NativeDisplayType-depending-on-config.patch
+++ /dev/null
@@ -1,358 +0,0 @@
-From d52a7ec5dcdf3936bd727b854831efb90acfd2ba Mon Sep 17 00:00:00 2001
-From: Daniel Stone <daniel@fooishbar.org>
-Date: Fri, 24 May 2013 17:20:27 +0100
-Subject: [PATCH] EGL: Mutate NativeDisplayType depending on config
-
-If we go through ./configure without enabling X11 anywhere, then set the
-fallback types for EGL NativeDisplay and friends, rather than assuming
-X11/Xlib.
-
-Signed-off-by: Daniel Stone <daniel@fooishbar.org>
----
- configure.ac                 |    9 +++
- include/EGL/eglplatform.h    |  146 ------------------------------------------
- include/EGL/eglplatform.h.in |  146 ++++++++++++++++++++++++++++++++++++++++++
- 3 files changed, 155 insertions(+), 146 deletions(-)
- delete mode 100644 include/EGL/eglplatform.h
- create mode 100644 include/EGL/eglplatform.h.in
-
-diff --git a/configure.ac b/configure.ac
-index 4a98996..6fa77da 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -1576,12 +1576,20 @@ fi
- 
- EGL_PLATFORMS="$egl_platforms"
- 
-+if echo "$egl_platforms" | grep 'x11' >/dev/null 2>&1; then
-+    MESA_EGL_NO_X11_HEADERS=0
-+else
-+    MESA_EGL_NO_X11_HEADERS=1
-+fi
-+
- AM_CONDITIONAL(HAVE_EGL_PLATFORM_X11, echo "$egl_platforms" | grep 'x11' >/dev/null 2>&1)
- AM_CONDITIONAL(HAVE_EGL_PLATFORM_WAYLAND, echo "$egl_platforms" | grep 'wayland' >/dev/null 2>&1)
- AM_CONDITIONAL(HAVE_EGL_PLATFORM_DRM, echo "$egl_platforms" | grep 'drm' >/dev/null 2>&1)
- AM_CONDITIONAL(HAVE_EGL_PLATFORM_FBDEV, echo "$egl_platforms" | grep 'fbdev' >/dev/null 2>&1)
- AM_CONDITIONAL(HAVE_EGL_PLATFORM_NULL, echo "$egl_platforms" | grep 'null' >/dev/null 2>&1)
- 
-+AC_SUBST([MESA_EGL_NO_X11_HEADERS])
-+
- AM_CONDITIONAL(HAVE_EGL_DRIVER_DRI2, test "x$HAVE_EGL_DRIVER_DRI2" != "x")
- AM_CONDITIONAL(HAVE_EGL_DRIVER_GLX, test "x$HAVE_EGL_DRIVER_GLX" != "x")
- 
-@@ -2053,6 +2061,7 @@ CXXFLAGS="$CXXFLAGS $USER_CXXFLAGS"
- 
- dnl Substitute the config
- AC_CONFIG_FILES([Makefile
-+                include/EGL/eglplatform.h
- 		src/Makefile
- 		src/egl/Makefile
- 		src/egl/drivers/Makefile
-diff --git a/include/EGL/eglplatform.h b/include/EGL/eglplatform.h
-deleted file mode 100644
-index 17fdc61..0000000
---- a/include/EGL/eglplatform.h
-+++ /dev/null
-@@ -1,146 +0,0 @@
--#ifndef __eglplatform_h_
--#define __eglplatform_h_
--
--/*
--** Copyright (c) 2007-2009 The Khronos Group Inc.
--**
--** Permission is hereby granted, free of charge, to any person obtaining a
--** copy of this software and/or associated documentation files (the
--** "Materials"), to deal in the Materials without restriction, including
--** without limitation the rights to use, copy, modify, merge, publish,
--** distribute, sublicense, and/or sell copies of the Materials, and to
--** permit persons to whom the Materials are furnished to do so, subject to
--** the following conditions:
--**
--** The above copyright notice and this permission notice shall be included
--** in all copies or substantial portions of the Materials.
--**
--** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
--** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
--** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
--** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
--** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
--** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
--** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
--*/
--
--/* Platform-specific types and definitions for egl.h
-- * $Revision: 12306 $ on $Date: 2010-08-25 09:51:28 -0700 (Wed, 25 Aug 2010) $
-- *
-- * Adopters may modify khrplatform.h and this file to suit their platform.
-- * You are encouraged to submit all modifications to the Khronos group so that
-- * they can be included in future versions of this file.  Please submit changes
-- * by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla)
-- * by filing a bug against product "EGL" component "Registry".
-- */
--
--#include <KHR/khrplatform.h>
--
--/* Macros used in EGL function prototype declarations.
-- *
-- * EGL functions should be prototyped as:
-- *
-- * EGLAPI return-type EGLAPIENTRY eglFunction(arguments);
-- * typedef return-type (EXPAPIENTRYP PFNEGLFUNCTIONPROC) (arguments);
-- *
-- * KHRONOS_APICALL and KHRONOS_APIENTRY are defined in KHR/khrplatform.h
-- */
--
--#ifndef EGLAPI
--#define EGLAPI KHRONOS_APICALL
--#endif
--
--#ifndef EGLAPIENTRY
--#define EGLAPIENTRY  KHRONOS_APIENTRY
--#endif
--#define EGLAPIENTRYP EGLAPIENTRY*
--
--/* The types NativeDisplayType, NativeWindowType, and NativePixmapType
-- * are aliases of window-system-dependent types, such as X Display * or
-- * Windows Device Context. They must be defined in platform-specific
-- * code below. The EGL-prefixed versions of Native*Type are the same
-- * types, renamed in EGL 1.3 so all types in the API start with "EGL".
-- *
-- * Khronos STRONGLY RECOMMENDS that you use the default definitions
-- * provided below, since these changes affect both binary and source
-- * portability of applications using EGL running on different EGL
-- * implementations.
-- */
--
--#if defined(_WIN32) || defined(__VC32__) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) /* Win32 and WinCE */
--#ifndef WIN32_LEAN_AND_MEAN
--#define WIN32_LEAN_AND_MEAN 1
--#endif
--#include <windows.h>
--
--typedef HDC     EGLNativeDisplayType;
--typedef HBITMAP EGLNativePixmapType;
--typedef HWND    EGLNativeWindowType;
--
--#elif defined(__WINSCW__) || defined(__SYMBIAN32__)  /* Symbian */
--
--typedef int   EGLNativeDisplayType;
--typedef void *EGLNativeWindowType;
--typedef void *EGLNativePixmapType;
--
--#elif defined(WL_EGL_PLATFORM)
--
--typedef struct wl_display     *EGLNativeDisplayType;
--typedef struct wl_egl_pixmap  *EGLNativePixmapType;
--typedef struct wl_egl_window  *EGLNativeWindowType;
--
--#elif defined(__GBM__)
--
--typedef struct gbm_device  *EGLNativeDisplayType;
--typedef struct gbm_bo      *EGLNativePixmapType;
--typedef void               *EGLNativeWindowType;
--
--#elif defined(ANDROID) /* Android */
--
--struct ANativeWindow;
--struct egl_native_pixmap_t;
--
--typedef struct ANativeWindow        *EGLNativeWindowType;
--typedef struct egl_native_pixmap_t  *EGLNativePixmapType;
--typedef void                        *EGLNativeDisplayType;
--
--#elif defined(__unix__)
--
--#ifdef MESA_EGL_NO_X11_HEADERS
--
--typedef void            *EGLNativeDisplayType;
--typedef khronos_uint32_t EGLNativePixmapType;
--typedef khronos_uint32_t EGLNativeWindowType;
--
--#else
--
--/* X11 (tentative)  */
--#include <X11/Xlib.h>
--#include <X11/Xutil.h>
--
--typedef Display *EGLNativeDisplayType;
--typedef Pixmap   EGLNativePixmapType;
--typedef Window   EGLNativeWindowType;
--
--#endif /* MESA_EGL_NO_X11_HEADERS */
--
--#else
--#error "Platform not recognized"
--#endif
--
--/* EGL 1.2 types, renamed for consistency in EGL 1.3 */
--typedef EGLNativeDisplayType NativeDisplayType;
--typedef EGLNativePixmapType  NativePixmapType;
--typedef EGLNativeWindowType  NativeWindowType;
--
--
--/* Define EGLint. This must be a signed integral type large enough to contain
-- * all legal attribute names and values passed into and out of EGL, whether
-- * their type is boolean, bitmask, enumerant (symbolic constant), integer,
-- * handle, or other.  While in general a 32-bit integer will suffice, if
-- * handles are 64 bit types, then EGLint should be defined as a signed 64-bit
-- * integer type.
-- */
--typedef khronos_int32_t EGLint;
--
--#endif /* __eglplatform_h */
-diff --git a/include/EGL/eglplatform.h.in b/include/EGL/eglplatform.h.in
-new file mode 100644
-index 0000000..5126c92
---- /dev/null
-+++ b/include/EGL/eglplatform.h.in
-@@ -0,0 +1,146 @@
-+#ifndef __eglplatform_h_
-+#define __eglplatform_h_
-+
-+/*
-+** Copyright (c) 2007-2009 The Khronos Group Inc.
-+**
-+** Permission is hereby granted, free of charge, to any person obtaining a
-+** copy of this software and/or associated documentation files (the
-+** "Materials"), to deal in the Materials without restriction, including
-+** without limitation the rights to use, copy, modify, merge, publish,
-+** distribute, sublicense, and/or sell copies of the Materials, and to
-+** permit persons to whom the Materials are furnished to do so, subject to
-+** the following conditions:
-+**
-+** The above copyright notice and this permission notice shall be included
-+** in all copies or substantial portions of the Materials.
-+**
-+** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-+** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-+** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-+** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-+** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-+** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-+** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
-+*/
-+
-+/* Platform-specific types and definitions for egl.h
-+ * $Revision: 12306 $ on $Date: 2010-08-25 09:51:28 -0700 (Wed, 25 Aug 2010) $
-+ *
-+ * Adopters may modify khrplatform.h and this file to suit their platform.
-+ * You are encouraged to submit all modifications to the Khronos group so that
-+ * they can be included in future versions of this file.  Please submit changes
-+ * by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla)
-+ * by filing a bug against product "EGL" component "Registry".
-+ */
-+
-+#include <KHR/khrplatform.h>
-+
-+/* Macros used in EGL function prototype declarations.
-+ *
-+ * EGL functions should be prototyped as:
-+ *
-+ * EGLAPI return-type EGLAPIENTRY eglFunction(arguments);
-+ * typedef return-type (EXPAPIENTRYP PFNEGLFUNCTIONPROC) (arguments);
-+ *
-+ * KHRONOS_APICALL and KHRONOS_APIENTRY are defined in KHR/khrplatform.h
-+ */
-+
-+#ifndef EGLAPI
-+#define EGLAPI KHRONOS_APICALL
-+#endif
-+
-+#ifndef EGLAPIENTRY
-+#define EGLAPIENTRY  KHRONOS_APIENTRY
-+#endif
-+#define EGLAPIENTRYP EGLAPIENTRY*
-+
-+/* The types NativeDisplayType, NativeWindowType, and NativePixmapType
-+ * are aliases of window-system-dependent types, such as X Display * or
-+ * Windows Device Context. They must be defined in platform-specific
-+ * code below. The EGL-prefixed versions of Native*Type are the same
-+ * types, renamed in EGL 1.3 so all types in the API start with "EGL".
-+ *
-+ * Khronos STRONGLY RECOMMENDS that you use the default definitions
-+ * provided below, since these changes affect both binary and source
-+ * portability of applications using EGL running on different EGL
-+ * implementations.
-+ */
-+
-+#if defined(_WIN32) || defined(__VC32__) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) /* Win32 and WinCE */
-+#ifndef WIN32_LEAN_AND_MEAN
-+#define WIN32_LEAN_AND_MEAN 1
-+#endif
-+#include <windows.h>
-+
-+typedef HDC     EGLNativeDisplayType;
-+typedef HBITMAP EGLNativePixmapType;
-+typedef HWND    EGLNativeWindowType;
-+
-+#elif defined(__WINSCW__) || defined(__SYMBIAN32__)  /* Symbian */
-+
-+typedef int   EGLNativeDisplayType;
-+typedef void *EGLNativeWindowType;
-+typedef void *EGLNativePixmapType;
-+
-+#elif defined(WL_EGL_PLATFORM)
-+
-+typedef struct wl_display     *EGLNativeDisplayType;
-+typedef struct wl_egl_pixmap  *EGLNativePixmapType;
-+typedef struct wl_egl_window  *EGLNativeWindowType;
-+
-+#elif defined(__GBM__)
-+
-+typedef struct gbm_device  *EGLNativeDisplayType;
-+typedef struct gbm_bo      *EGLNativePixmapType;
-+typedef void               *EGLNativeWindowType;
-+
-+#elif defined(ANDROID) /* Android */
-+
-+struct ANativeWindow;
-+struct egl_native_pixmap_t;
-+
-+typedef struct ANativeWindow        *EGLNativeWindowType;
-+typedef struct egl_native_pixmap_t  *EGLNativePixmapType;
-+typedef void                        *EGLNativeDisplayType;
-+
-+#elif defined(__unix__)
-+
-+#if @MESA_EGL_NO_X11_HEADERS@
-+
-+typedef void            *EGLNativeDisplayType;
-+typedef khronos_uint32_t EGLNativePixmapType;
-+typedef khronos_uint32_t EGLNativeWindowType;
-+
-+#else
-+
-+/* X11 (tentative)  */
-+#include <X11/Xlib.h>
-+#include <X11/Xutil.h>
-+
-+typedef Display *EGLNativeDisplayType;
-+typedef Pixmap   EGLNativePixmapType;
-+typedef Window   EGLNativeWindowType;
-+
-+#endif /* MESA_EGL_NO_X11_HEADERS */
-+
-+#else
-+#error "Platform not recognized"
-+#endif
-+
-+/* EGL 1.2 types, renamed for consistency in EGL 1.3 */
-+typedef EGLNativeDisplayType NativeDisplayType;
-+typedef EGLNativePixmapType  NativePixmapType;
-+typedef EGLNativeWindowType  NativeWindowType;
-+
-+
-+/* Define EGLint. This must be a signed integral type large enough to contain
-+ * all legal attribute names and values passed into and out of EGL, whether
-+ * their type is boolean, bitmask, enumerant (symbolic constant), integer,
-+ * handle, or other.  While in general a 32-bit integer will suffice, if
-+ * handles are 64 bit types, then EGLint should be defined as a signed 64-bit
-+ * integer type.
-+ */
-+typedef khronos_int32_t EGLint;
-+
-+#endif /* __eglplatform_h */
--- 
-1.7.10.4
-
diff --git a/meta/recipes-graphics/mesa/mesa/fix-glsl-cross.patch b/meta/recipes-graphics/mesa/mesa/fix-glsl-cross.patch
deleted file mode 100644
index 34226ea..0000000
--- a/meta/recipes-graphics/mesa/mesa/fix-glsl-cross.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-The target libtool is used when building host binaries, which predictably
-doesn't work.
-
-Upstream-Status: Submitted (https://bugs.freedesktop.org/show_bug.cgi?id=44618)
-Signed-off-by: Jonathan Liu <net147@gmail.com>
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-diff --git a/src/glsl/builtin_compiler/Makefile.am b/src/glsl/builtin_compiler/Makefile.am
-index e11a17f..8ebe0a2 100644
---- a/src/glsl/builtin_compiler/Makefile.am
-+++ b/src/glsl/builtin_compiler/Makefile.am
-@@ -64,6 +64,8 @@ AM_CXXFLAGS = $(AM_CFLAGS)
- include ../Makefile.sources
- 
- noinst_PROGRAMS = builtin_compiler
-+
-+if !CROSS_COMPILING
- noinst_LTLIBRARIES = libglslcore.la libglcpp.la
- 
- libglcpp_la_SOURCES =					\
-@@ -73,6 +75,7 @@ libglcpp_la_SOURCES =					\
- libglslcore_la_SOURCES =				\
- 	$(BUILTIN_COMPILER_GENERATED_CXX_FILES)		\
- 	$(LIBGLSL_FILES)
-+endif
- 
- builtin_compiler_SOURCES = \
- 	$(top_srcdir)/src/mesa/main/hash_table.c	\
-@@ -81,4 +84,14 @@ builtin_compiler_SOURCES = \
- 	$(top_srcdir)/src/mesa/program/symbol_table.c	\
- 	$(BUILTIN_COMPILER_CXX_FILES)			\
- 	$(GLSL_COMPILER_CXX_FILES)
-+
-+if CROSS_COMPILING
-+builtin_compiler_SOURCES += \
-+	$(LIBGLCPP_GENERATED_FILES) \
-+	$(LIBGLCPP_FILES) \
-+	$(BUILTIN_COMPILER_GENERATED_CXX_FILES) \
-+	$(LIBGLSL_FILES)
-+builtin_compiler_CPPFLAGS = $(AM_CPPFLAGS)
-+else
- builtin_compiler_LDADD = libglslcore.la libglcpp.la
-+endif
diff --git a/meta/recipes-graphics/mesa/mesa_9.1.3.bb b/meta/recipes-graphics/mesa/mesa_9.1.3.bb
index bbeacd3..a7ccbe6 100644
--- a/meta/recipes-graphics/mesa/mesa_9.1.3.bb
+++ b/meta/recipes-graphics/mesa/mesa_9.1.3.bb
@@ -1,11 +1,11 @@
 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 \
            file://0002-pipe_loader_sw-include-xlib_sw_winsys.h-only-when-HA.patch \
+           file://0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch \
+           file://0004-glsl-fix-builtin_compiler-cross-compilation.patch \
+           file://0005-llvmpipe-remove-the-power-of-two-sizeof-struct-cmd_b.patch \
            "
 
 SRC_URI[md5sum] = "952ccd03547ed72333b64e1746cf8ada"
diff --git a/meta/recipes-graphics/mesa/mesa_git.bb b/meta/recipes-graphics/mesa/mesa_git.bb
index 09a9531..55fafa9 100644
--- a/meta/recipes-graphics/mesa/mesa_git.bb
+++ b/meta/recipes-graphics/mesa/mesa_git.bb
@@ -3,16 +3,14 @@ require ${BPN}.inc
 DEFAULT_PREFERENCE = "-1"
 
 PR = "${INC_PR}.0"
-# 9.1.3 commit
-SRCREV = "f32ec82a8cfcabc5b7596796f36afe7986651f02"
+SRCREV = "5a925cc5504575c22dbb7d29842d7fc5babcb5c7"
 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 \
            file://0002-pipe_loader_sw-include-xlib_sw_winsys.h-only-when-HA.patch \
+           file://0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch \
+           file://0004-glsl-fix-builtin_compiler-cross-compilation.patch \
            "
 
 S = "${WORKDIR}/git"
-- 
1.8.2.1



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCHv3] mesa: bump SRCREV in git recipe, refresh patches
  2013-07-02 11:44     ` Martin Jansa
  2013-07-02 11:44       ` [PATCHv2] " Martin Jansa
@ 2013-07-02 11:49       ` Martin Jansa
  2013-07-19  3:14         ` Jonathan Liu
  2013-07-02 13:05       ` [PATCH 3/4] " Burton, Ross
  2 siblings, 1 reply; 15+ messages in thread
From: Martin Jansa @ 2013-07-02 11:49 UTC (permalink / raw)
  To: openembedded-core

* 0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch
  needs to be rebased so move old version for 9.1.3 to
  mesa-9.1.3/ and update the version in mesa/
* add git headers
* 0005-llvmpipe-remove-the-power-of-two-sizeof-struct-cmd_b.patch
  is already applied in new SRCREV, move it to mesa-9.1.3/
* formal change in license.html with new SRCREV:
   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
   OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
   FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
  -BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
  -AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
  -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  +SOFTWARE.

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
 ...ate-NativeDisplayType-depending-on-config.patch | 359 +++++++++++++++++++++
 ...move-the-power-of-two-sizeof-struct-cmd_b.patch |  41 +++
 ...void-use-of-AC_CHECK_FILE-for-cross-compi.patch |  14 +-
 ...move-the-power-of-two-sizeof-struct-cmd_b.patch |  42 ---
 ...ate-NativeDisplayType-depending-on-config.patch | 356 ++++++++++++++++++++
 ...sl-fix-builtin_compiler-cross-compilation.patch |  54 ++++
 ...ate-NativeDisplayType-depending-on-config.patch | 358 --------------------
 .../mesa/mesa/fix-glsl-cross.patch                 |  43 ---
 meta/recipes-graphics/mesa/mesa_9.1.3.bb           |   6 +-
 meta/recipes-graphics/mesa/mesa_git.bb             |  10 +-
 10 files changed, 825 insertions(+), 458 deletions(-)
 create mode 100644 meta/recipes-graphics/mesa/mesa-9.1.3/0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch
 create mode 100644 meta/recipes-graphics/mesa/mesa-9.1.3/0005-llvmpipe-remove-the-power-of-two-sizeof-struct-cmd_b.patch
 delete mode 100644 meta/recipes-graphics/mesa/mesa/0001-llvmpipe-remove-the-power-of-two-sizeof-struct-cmd_b.patch
 create mode 100644 meta/recipes-graphics/mesa/mesa/0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch
 create mode 100644 meta/recipes-graphics/mesa/mesa/0004-glsl-fix-builtin_compiler-cross-compilation.patch
 delete mode 100644 meta/recipes-graphics/mesa/mesa/EGL-Mutate-NativeDisplayType-depending-on-config.patch
 delete mode 100644 meta/recipes-graphics/mesa/mesa/fix-glsl-cross.patch

diff --git a/meta/recipes-graphics/mesa/mesa-9.1.3/0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch b/meta/recipes-graphics/mesa/mesa-9.1.3/0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch
new file mode 100644
index 0000000..7e82b6a
--- /dev/null
+++ b/meta/recipes-graphics/mesa/mesa-9.1.3/0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch
@@ -0,0 +1,359 @@
+From 06c1ba29de8a26fffb73ee99f0fc54c704e9fee4 Mon Sep 17 00:00:00 2001
+From: Daniel Stone <daniel@fooishbar.org>
+Date: Fri, 24 May 2013 17:20:27 +0100
+Subject: [PATCH 3/5] EGL: Mutate NativeDisplayType depending on config
+
+If we go through ./configure without enabling X11 anywhere, then set the
+fallback types for EGL NativeDisplay and friends, rather than assuming
+X11/Xlib.
+
+Signed-off-by: Daniel Stone <daniel@fooishbar.org>
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ configure.ac                 |   9 +++
+ include/EGL/eglplatform.h    | 146 -------------------------------------------
+ include/EGL/eglplatform.h.in | 146 +++++++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 155 insertions(+), 146 deletions(-)
+ delete mode 100644 include/EGL/eglplatform.h
+ create mode 100644 include/EGL/eglplatform.h.in
+
+diff --git a/configure.ac b/configure.ac
+index 2b4a374..d4c7a95 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1565,12 +1565,20 @@ fi
+ 
+ EGL_PLATFORMS="$egl_platforms"
+ 
++if echo "$egl_platforms" | grep 'x11' >/dev/null 2>&1; then
++    MESA_EGL_NO_X11_HEADERS=0
++else
++    MESA_EGL_NO_X11_HEADERS=1
++fi
++
+ AM_CONDITIONAL(HAVE_EGL_PLATFORM_X11, echo "$egl_platforms" | grep 'x11' >/dev/null 2>&1)
+ AM_CONDITIONAL(HAVE_EGL_PLATFORM_WAYLAND, echo "$egl_platforms" | grep 'wayland' >/dev/null 2>&1)
+ AM_CONDITIONAL(HAVE_EGL_PLATFORM_DRM, echo "$egl_platforms" | grep 'drm' >/dev/null 2>&1)
+ AM_CONDITIONAL(HAVE_EGL_PLATFORM_FBDEV, echo "$egl_platforms" | grep 'fbdev' >/dev/null 2>&1)
+ AM_CONDITIONAL(HAVE_EGL_PLATFORM_NULL, echo "$egl_platforms" | grep 'null' >/dev/null 2>&1)
+ 
++AC_SUBST([MESA_EGL_NO_X11_HEADERS])
++
+ AM_CONDITIONAL(HAVE_EGL_DRIVER_DRI2, test "x$HAVE_EGL_DRIVER_DRI2" != "x")
+ AM_CONDITIONAL(HAVE_EGL_DRIVER_GLX, test "x$HAVE_EGL_DRIVER_GLX" != "x")
+ 
+@@ -2042,6 +2050,7 @@ CXXFLAGS="$CXXFLAGS $USER_CXXFLAGS"
+ 
+ dnl Substitute the config
+ AC_CONFIG_FILES([Makefile
++		include/EGL/eglplatform.h
+ 		src/Makefile
+ 		src/egl/Makefile
+ 		src/egl/drivers/Makefile
+diff --git a/include/EGL/eglplatform.h b/include/EGL/eglplatform.h
+deleted file mode 100644
+index 17fdc61..0000000
+--- a/include/EGL/eglplatform.h
++++ /dev/null
+@@ -1,146 +0,0 @@
+-#ifndef __eglplatform_h_
+-#define __eglplatform_h_
+-
+-/*
+-** Copyright (c) 2007-2009 The Khronos Group Inc.
+-**
+-** Permission is hereby granted, free of charge, to any person obtaining a
+-** copy of this software and/or associated documentation files (the
+-** "Materials"), to deal in the Materials without restriction, including
+-** without limitation the rights to use, copy, modify, merge, publish,
+-** distribute, sublicense, and/or sell copies of the Materials, and to
+-** permit persons to whom the Materials are furnished to do so, subject to
+-** the following conditions:
+-**
+-** The above copyright notice and this permission notice shall be included
+-** in all copies or substantial portions of the Materials.
+-**
+-** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+-** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+-** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+-** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+-** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+-** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+-** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
+-*/
+-
+-/* Platform-specific types and definitions for egl.h
+- * $Revision: 12306 $ on $Date: 2010-08-25 09:51:28 -0700 (Wed, 25 Aug 2010) $
+- *
+- * Adopters may modify khrplatform.h and this file to suit their platform.
+- * You are encouraged to submit all modifications to the Khronos group so that
+- * they can be included in future versions of this file.  Please submit changes
+- * by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla)
+- * by filing a bug against product "EGL" component "Registry".
+- */
+-
+-#include <KHR/khrplatform.h>
+-
+-/* Macros used in EGL function prototype declarations.
+- *
+- * EGL functions should be prototyped as:
+- *
+- * EGLAPI return-type EGLAPIENTRY eglFunction(arguments);
+- * typedef return-type (EXPAPIENTRYP PFNEGLFUNCTIONPROC) (arguments);
+- *
+- * KHRONOS_APICALL and KHRONOS_APIENTRY are defined in KHR/khrplatform.h
+- */
+-
+-#ifndef EGLAPI
+-#define EGLAPI KHRONOS_APICALL
+-#endif
+-
+-#ifndef EGLAPIENTRY
+-#define EGLAPIENTRY  KHRONOS_APIENTRY
+-#endif
+-#define EGLAPIENTRYP EGLAPIENTRY*
+-
+-/* The types NativeDisplayType, NativeWindowType, and NativePixmapType
+- * are aliases of window-system-dependent types, such as X Display * or
+- * Windows Device Context. They must be defined in platform-specific
+- * code below. The EGL-prefixed versions of Native*Type are the same
+- * types, renamed in EGL 1.3 so all types in the API start with "EGL".
+- *
+- * Khronos STRONGLY RECOMMENDS that you use the default definitions
+- * provided below, since these changes affect both binary and source
+- * portability of applications using EGL running on different EGL
+- * implementations.
+- */
+-
+-#if defined(_WIN32) || defined(__VC32__) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) /* Win32 and WinCE */
+-#ifndef WIN32_LEAN_AND_MEAN
+-#define WIN32_LEAN_AND_MEAN 1
+-#endif
+-#include <windows.h>
+-
+-typedef HDC     EGLNativeDisplayType;
+-typedef HBITMAP EGLNativePixmapType;
+-typedef HWND    EGLNativeWindowType;
+-
+-#elif defined(__WINSCW__) || defined(__SYMBIAN32__)  /* Symbian */
+-
+-typedef int   EGLNativeDisplayType;
+-typedef void *EGLNativeWindowType;
+-typedef void *EGLNativePixmapType;
+-
+-#elif defined(WL_EGL_PLATFORM)
+-
+-typedef struct wl_display     *EGLNativeDisplayType;
+-typedef struct wl_egl_pixmap  *EGLNativePixmapType;
+-typedef struct wl_egl_window  *EGLNativeWindowType;
+-
+-#elif defined(__GBM__)
+-
+-typedef struct gbm_device  *EGLNativeDisplayType;
+-typedef struct gbm_bo      *EGLNativePixmapType;
+-typedef void               *EGLNativeWindowType;
+-
+-#elif defined(ANDROID) /* Android */
+-
+-struct ANativeWindow;
+-struct egl_native_pixmap_t;
+-
+-typedef struct ANativeWindow        *EGLNativeWindowType;
+-typedef struct egl_native_pixmap_t  *EGLNativePixmapType;
+-typedef void                        *EGLNativeDisplayType;
+-
+-#elif defined(__unix__)
+-
+-#ifdef MESA_EGL_NO_X11_HEADERS
+-
+-typedef void            *EGLNativeDisplayType;
+-typedef khronos_uint32_t EGLNativePixmapType;
+-typedef khronos_uint32_t EGLNativeWindowType;
+-
+-#else
+-
+-/* X11 (tentative)  */
+-#include <X11/Xlib.h>
+-#include <X11/Xutil.h>
+-
+-typedef Display *EGLNativeDisplayType;
+-typedef Pixmap   EGLNativePixmapType;
+-typedef Window   EGLNativeWindowType;
+-
+-#endif /* MESA_EGL_NO_X11_HEADERS */
+-
+-#else
+-#error "Platform not recognized"
+-#endif
+-
+-/* EGL 1.2 types, renamed for consistency in EGL 1.3 */
+-typedef EGLNativeDisplayType NativeDisplayType;
+-typedef EGLNativePixmapType  NativePixmapType;
+-typedef EGLNativeWindowType  NativeWindowType;
+-
+-
+-/* Define EGLint. This must be a signed integral type large enough to contain
+- * all legal attribute names and values passed into and out of EGL, whether
+- * their type is boolean, bitmask, enumerant (symbolic constant), integer,
+- * handle, or other.  While in general a 32-bit integer will suffice, if
+- * handles are 64 bit types, then EGLint should be defined as a signed 64-bit
+- * integer type.
+- */
+-typedef khronos_int32_t EGLint;
+-
+-#endif /* __eglplatform_h */
+diff --git a/include/EGL/eglplatform.h.in b/include/EGL/eglplatform.h.in
+new file mode 100644
+index 0000000..5126c92
+--- /dev/null
++++ b/include/EGL/eglplatform.h.in
+@@ -0,0 +1,146 @@
++#ifndef __eglplatform_h_
++#define __eglplatform_h_
++
++/*
++** Copyright (c) 2007-2009 The Khronos Group Inc.
++**
++** Permission is hereby granted, free of charge, to any person obtaining a
++** copy of this software and/or associated documentation files (the
++** "Materials"), to deal in the Materials without restriction, including
++** without limitation the rights to use, copy, modify, merge, publish,
++** distribute, sublicense, and/or sell copies of the Materials, and to
++** permit persons to whom the Materials are furnished to do so, subject to
++** the following conditions:
++**
++** The above copyright notice and this permission notice shall be included
++** in all copies or substantial portions of the Materials.
++**
++** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
++** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
++** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
++** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
++** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
++** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
++** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
++*/
++
++/* Platform-specific types and definitions for egl.h
++ * $Revision: 12306 $ on $Date: 2010-08-25 09:51:28 -0700 (Wed, 25 Aug 2010) $
++ *
++ * Adopters may modify khrplatform.h and this file to suit their platform.
++ * You are encouraged to submit all modifications to the Khronos group so that
++ * they can be included in future versions of this file.  Please submit changes
++ * by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla)
++ * by filing a bug against product "EGL" component "Registry".
++ */
++
++#include <KHR/khrplatform.h>
++
++/* Macros used in EGL function prototype declarations.
++ *
++ * EGL functions should be prototyped as:
++ *
++ * EGLAPI return-type EGLAPIENTRY eglFunction(arguments);
++ * typedef return-type (EXPAPIENTRYP PFNEGLFUNCTIONPROC) (arguments);
++ *
++ * KHRONOS_APICALL and KHRONOS_APIENTRY are defined in KHR/khrplatform.h
++ */
++
++#ifndef EGLAPI
++#define EGLAPI KHRONOS_APICALL
++#endif
++
++#ifndef EGLAPIENTRY
++#define EGLAPIENTRY  KHRONOS_APIENTRY
++#endif
++#define EGLAPIENTRYP EGLAPIENTRY*
++
++/* The types NativeDisplayType, NativeWindowType, and NativePixmapType
++ * are aliases of window-system-dependent types, such as X Display * or
++ * Windows Device Context. They must be defined in platform-specific
++ * code below. The EGL-prefixed versions of Native*Type are the same
++ * types, renamed in EGL 1.3 so all types in the API start with "EGL".
++ *
++ * Khronos STRONGLY RECOMMENDS that you use the default definitions
++ * provided below, since these changes affect both binary and source
++ * portability of applications using EGL running on different EGL
++ * implementations.
++ */
++
++#if defined(_WIN32) || defined(__VC32__) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) /* Win32 and WinCE */
++#ifndef WIN32_LEAN_AND_MEAN
++#define WIN32_LEAN_AND_MEAN 1
++#endif
++#include <windows.h>
++
++typedef HDC     EGLNativeDisplayType;
++typedef HBITMAP EGLNativePixmapType;
++typedef HWND    EGLNativeWindowType;
++
++#elif defined(__WINSCW__) || defined(__SYMBIAN32__)  /* Symbian */
++
++typedef int   EGLNativeDisplayType;
++typedef void *EGLNativeWindowType;
++typedef void *EGLNativePixmapType;
++
++#elif defined(WL_EGL_PLATFORM)
++
++typedef struct wl_display     *EGLNativeDisplayType;
++typedef struct wl_egl_pixmap  *EGLNativePixmapType;
++typedef struct wl_egl_window  *EGLNativeWindowType;
++
++#elif defined(__GBM__)
++
++typedef struct gbm_device  *EGLNativeDisplayType;
++typedef struct gbm_bo      *EGLNativePixmapType;
++typedef void               *EGLNativeWindowType;
++
++#elif defined(ANDROID) /* Android */
++
++struct ANativeWindow;
++struct egl_native_pixmap_t;
++
++typedef struct ANativeWindow        *EGLNativeWindowType;
++typedef struct egl_native_pixmap_t  *EGLNativePixmapType;
++typedef void                        *EGLNativeDisplayType;
++
++#elif defined(__unix__)
++
++#if @MESA_EGL_NO_X11_HEADERS@
++
++typedef void            *EGLNativeDisplayType;
++typedef khronos_uint32_t EGLNativePixmapType;
++typedef khronos_uint32_t EGLNativeWindowType;
++
++#else
++
++/* X11 (tentative)  */
++#include <X11/Xlib.h>
++#include <X11/Xutil.h>
++
++typedef Display *EGLNativeDisplayType;
++typedef Pixmap   EGLNativePixmapType;
++typedef Window   EGLNativeWindowType;
++
++#endif /* MESA_EGL_NO_X11_HEADERS */
++
++#else
++#error "Platform not recognized"
++#endif
++
++/* EGL 1.2 types, renamed for consistency in EGL 1.3 */
++typedef EGLNativeDisplayType NativeDisplayType;
++typedef EGLNativePixmapType  NativePixmapType;
++typedef EGLNativeWindowType  NativeWindowType;
++
++
++/* Define EGLint. This must be a signed integral type large enough to contain
++ * all legal attribute names and values passed into and out of EGL, whether
++ * their type is boolean, bitmask, enumerant (symbolic constant), integer,
++ * handle, or other.  While in general a 32-bit integer will suffice, if
++ * handles are 64 bit types, then EGLint should be defined as a signed 64-bit
++ * integer type.
++ */
++typedef khronos_int32_t EGLint;
++
++#endif /* __eglplatform_h */
+-- 
+1.8.2.1
+
diff --git a/meta/recipes-graphics/mesa/mesa-9.1.3/0005-llvmpipe-remove-the-power-of-two-sizeof-struct-cmd_b.patch b/meta/recipes-graphics/mesa/mesa-9.1.3/0005-llvmpipe-remove-the-power-of-two-sizeof-struct-cmd_b.patch
new file mode 100644
index 0000000..d86421b
--- /dev/null
+++ b/meta/recipes-graphics/mesa/mesa-9.1.3/0005-llvmpipe-remove-the-power-of-two-sizeof-struct-cmd_b.patch
@@ -0,0 +1,41 @@
+From 33098ef45e6035f3348040a25641f95c95266103 Mon Sep 17 00:00:00 2001
+From: Brian Paul <brianp@vmware.com>
+Date: Wed, 6 Mar 2013 16:57:20 -0700
+Subject: [PATCH 5/5] llvmpipe: remove the power of two sizeof(struct
+ cmd_block) assertion
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+It fails on 32-bit systems (I only tested on 64-bit).  Power of two
+size isn't required, so just remove the assertion.
+
+Reviewed-by: José Fonseca <jfonseca@vmware.com>
+
+Upstream-Status: Backport
+http://cgit.freedesktop.org/mesa/mesa/commit/?id=9915636fb8afe75ee2e8e013e4f495a4cb937afb
+---
+ src/gallium/drivers/llvmpipe/lp_scene.c | 7 -------
+ 1 file changed, 7 deletions(-)
+
+diff --git a/src/gallium/drivers/llvmpipe/lp_scene.c b/src/gallium/drivers/llvmpipe/lp_scene.c
+index e145391..c88bc95 100644
+--- a/src/gallium/drivers/llvmpipe/lp_scene.c
++++ b/src/gallium/drivers/llvmpipe/lp_scene.c
+@@ -76,13 +76,6 @@ lp_scene_create( struct pipe_context *pipe )
+       assert(maxCommandBytes < LP_SCENE_MAX_SIZE);
+       /* We'll also need space for at least one other data block */
+       assert(maxCommandPlusData <= LP_SCENE_MAX_SIZE);
+-
+-      /* Ideally, the size of a cmd_block object will be a power of two
+-       * in order to avoid wasting space when we allocation them from
+-       * data blocks (which are power of two also).
+-       */
+-      assert(sizeof(struct cmd_block) ==
+-             util_next_power_of_two(sizeof(struct cmd_block)));
+    }
+ #endif
+ 
+-- 
+1.8.2.1
+
diff --git a/meta/recipes-graphics/mesa/mesa/0001-configure-Avoid-use-of-AC_CHECK_FILE-for-cross-compi.patch b/meta/recipes-graphics/mesa/mesa/0001-configure-Avoid-use-of-AC_CHECK_FILE-for-cross-compi.patch
index 9f7002a..76b5a18 100644
--- a/meta/recipes-graphics/mesa/mesa/0001-configure-Avoid-use-of-AC_CHECK_FILE-for-cross-compi.patch
+++ b/meta/recipes-graphics/mesa/mesa/0001-configure-Avoid-use-of-AC_CHECK_FILE-for-cross-compi.patch
@@ -1,7 +1,7 @@
-From 877b8ea9a79d1d51f8e6b032801731538590d39e Mon Sep 17 00:00:00 2001
+From e21ce89f7ae6964f196086ff325d79e4a3b5acd8 Mon Sep 17 00:00:00 2001
 From: Jonathan Liu <net147@gmail.com>
 Date: Tue, 4 Jun 2013 06:04:44 -0700
-Subject: [PATCH] configure: Avoid use of AC_CHECK_FILE for cross compiling
+Subject: [PATCH 1/4] configure: Avoid use of AC_CHECK_FILE for cross compiling
 
 The AC_CHECK_FILE macro can't be used for cross compiling as it will
 result in "error: cannot check for file existence when cross compiling".
@@ -17,10 +17,10 @@ Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
  1 file changed, 6 insertions(+), 6 deletions(-)
 
 diff --git a/configure.ac b/configure.ac
-index 36065f1..2b4a374 100644
+index 70c598e..67b8c40 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -1694,8 +1694,8 @@ if test "x$enable_gallium_llvm" = xyes; then
+@@ -1630,8 +1630,8 @@ if test "x$enable_gallium_llvm" = xyes; then
                  CLANG_LIBDIR=${LLVM_LIBDIR}
              fi
              CLANG_RESOURCE_DIR=$CLANG_LIBDIR/clang/${LLVM_VERSION}
@@ -31,7 +31,7 @@ index 36065f1..2b4a374 100644
          fi
      else
  	MESA_LLVM=0
-@@ -1912,7 +1912,7 @@ if test "x$MESA_LLVM" != x0; then
+@@ -1861,7 +1861,7 @@ if test "x$MESA_LLVM" != x0; then
      if test "x$with_llvm_shared_libs" = xyes; then
          dnl We can't use $LLVM_VERSION because it has 'svn' stripped out,
          LLVM_SO_NAME=LLVM-`$LLVM_CONFIG --version`
@@ -40,7 +40,7 @@ index 36065f1..2b4a374 100644
  
          if test "x$llvm_have_one_so" = xyes; then
              dnl LLVM was built using auto*, so there is only one shared object.
-@@ -1920,8 +1920,8 @@ if test "x$MESA_LLVM" != x0; then
+@@ -1869,8 +1869,8 @@ if test "x$MESA_LLVM" != x0; then
          else
              dnl If LLVM was built with CMake, there will be one shared object per
              dnl component.
@@ -51,7 +51,7 @@ index 36065f1..2b4a374 100644
  	Please make sure you have built llvm with the --enable-shared option
  	and that your llvm libraries are installed in $LLVM_LIBDIR
  	If you have installed your llvm libraries to a different directory you
-@@ -1932,7 +1932,7 @@ if test "x$MESA_LLVM" != x0; then
+@@ -1881,7 +1881,7 @@ if test "x$MESA_LLVM" != x0; then
  		--enable-opencl
  	If you do not want to build with llvm shared libraries and instead want to
  	use llvm static libraries then remove these options from your configure
diff --git a/meta/recipes-graphics/mesa/mesa/0001-llvmpipe-remove-the-power-of-two-sizeof-struct-cmd_b.patch b/meta/recipes-graphics/mesa/mesa/0001-llvmpipe-remove-the-power-of-two-sizeof-struct-cmd_b.patch
deleted file mode 100644
index b74fddc..0000000
--- a/meta/recipes-graphics/mesa/mesa/0001-llvmpipe-remove-the-power-of-two-sizeof-struct-cmd_b.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 9915636fb8afe75ee2e8e013e4f495a4cb937afb Mon Sep 17 00:00:00 2001
-From: Brian Paul <brianp@vmware.com>
-Date: Wed, 6 Mar 2013 16:57:20 -0700
-Subject: [PATCH] llvmpipe: remove the power of two sizeof(struct cmd_block)
- assertion
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-It fails on 32-bit systems (I only tested on 64-bit).  Power of two
-size isn't required, so just remove the assertion.
-
-Reviewed-by: José Fonseca <jfonseca@vmware.com>
-
-Upstream-Status: Backport
-http://cgit.freedesktop.org/mesa/mesa/commit/?id=9915636fb8afe75ee2e8e013e4f495a4cb937afb
-
----
- src/gallium/drivers/llvmpipe/lp_scene.c | 7 -------
- 1 file changed, 7 deletions(-)
-
-diff --git a/src/gallium/drivers/llvmpipe/lp_scene.c b/src/gallium/drivers/llvmpipe/lp_scene.c
-index dd0943e..a0912eb 100644
---- a/src/gallium/drivers/llvmpipe/lp_scene.c
-+++ b/src/gallium/drivers/llvmpipe/lp_scene.c
-@@ -76,13 +76,6 @@ lp_scene_create( struct pipe_context *pipe )
-       assert(maxCommandBytes < LP_SCENE_MAX_SIZE);
-       /* We'll also need space for at least one other data block */
-       assert(maxCommandPlusData <= LP_SCENE_MAX_SIZE);
--
--      /* Ideally, the size of a cmd_block object will be a power of two
--       * in order to avoid wasting space when we allocation them from
--       * data blocks (which are power of two also).
--       */
--      assert(sizeof(struct cmd_block) ==
--             util_next_power_of_two(sizeof(struct cmd_block)));
-    }
- #endif
-
---
-1.8.3
-
diff --git a/meta/recipes-graphics/mesa/mesa/0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch b/meta/recipes-graphics/mesa/mesa/0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch
new file mode 100644
index 0000000..d6ddd9a
--- /dev/null
+++ b/meta/recipes-graphics/mesa/mesa/0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch
@@ -0,0 +1,356 @@
+From 8d31ae23683394617c49301b039b3a069b9ea436 Mon Sep 17 00:00:00 2001
+From: Daniel Stone <daniel@fooishbar.org>
+Date: Fri, 24 May 2013 17:20:27 +0100
+Subject: [PATCH 3/4] EGL: Mutate NativeDisplayType depending on config
+
+If we go through ./configure without enabling X11 anywhere, then set the
+fallback types for EGL NativeDisplay and friends, rather than assuming
+X11/Xlib.
+
+Signed-off-by: Daniel Stone <daniel@fooishbar.org>
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ configure.ac                 |   5 ++
+ include/EGL/eglplatform.h    | 146 -------------------------------------------
+ include/EGL/eglplatform.h.in | 146 +++++++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 151 insertions(+), 146 deletions(-)
+ delete mode 100644 include/EGL/eglplatform.h
+ create mode 100644 include/EGL/eglplatform.h.in
+
+diff --git a/configure.ac b/configure.ac
+index 67b8c40..afc3217 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1499,6 +1499,9 @@ EGL_PLATFORMS="$egl_platforms"
+ 
+ if echo "$egl_platforms" | grep 'x11' >/dev/null 2>&1; then
+     NEED_WINSYS_XLIB=yes
++    MESA_EGL_NO_X11_HEADERS=0
++else
++    MESA_EGL_NO_X11_HEADERS=1
+ fi
+ AM_CONDITIONAL(HAVE_EGL_PLATFORM_X11, echo "$egl_platforms" | grep 'x11' >/dev/null 2>&1)
+ AM_CONDITIONAL(HAVE_EGL_PLATFORM_WAYLAND, echo "$egl_platforms" | grep 'wayland' >/dev/null 2>&1)
+@@ -1512,6 +1515,7 @@ AM_CONDITIONAL(HAVE_EGL_DRIVER_GLX, test "x$HAVE_EGL_DRIVER_GLX" != "x")
+ AC_SUBST([EGL_NATIVE_PLATFORM])
+ AC_SUBST([EGL_PLATFORMS])
+ AC_SUBST([EGL_CFLAGS])
++AC_SUBST([MESA_EGL_NO_X11_HEADERS])
+ 
+ AC_ARG_WITH([egl-driver-dir],
+     [AS_HELP_STRING([--with-egl-driver-dir=DIR],
+@@ -1991,6 +1995,7 @@ CXXFLAGS="$CXXFLAGS $USER_CXXFLAGS"
+ 
+ dnl Substitute the config
+ AC_CONFIG_FILES([Makefile
++		include/EGL/eglplatform.h
+ 		src/Makefile
+ 		src/egl/Makefile
+ 		src/egl/drivers/Makefile
+diff --git a/include/EGL/eglplatform.h b/include/EGL/eglplatform.h
+deleted file mode 100644
+index 17fdc61..0000000
+--- a/include/EGL/eglplatform.h
++++ /dev/null
+@@ -1,146 +0,0 @@
+-#ifndef __eglplatform_h_
+-#define __eglplatform_h_
+-
+-/*
+-** Copyright (c) 2007-2009 The Khronos Group Inc.
+-**
+-** Permission is hereby granted, free of charge, to any person obtaining a
+-** copy of this software and/or associated documentation files (the
+-** "Materials"), to deal in the Materials without restriction, including
+-** without limitation the rights to use, copy, modify, merge, publish,
+-** distribute, sublicense, and/or sell copies of the Materials, and to
+-** permit persons to whom the Materials are furnished to do so, subject to
+-** the following conditions:
+-**
+-** The above copyright notice and this permission notice shall be included
+-** in all copies or substantial portions of the Materials.
+-**
+-** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+-** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+-** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+-** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+-** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+-** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+-** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
+-*/
+-
+-/* Platform-specific types and definitions for egl.h
+- * $Revision: 12306 $ on $Date: 2010-08-25 09:51:28 -0700 (Wed, 25 Aug 2010) $
+- *
+- * Adopters may modify khrplatform.h and this file to suit their platform.
+- * You are encouraged to submit all modifications to the Khronos group so that
+- * they can be included in future versions of this file.  Please submit changes
+- * by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla)
+- * by filing a bug against product "EGL" component "Registry".
+- */
+-
+-#include <KHR/khrplatform.h>
+-
+-/* Macros used in EGL function prototype declarations.
+- *
+- * EGL functions should be prototyped as:
+- *
+- * EGLAPI return-type EGLAPIENTRY eglFunction(arguments);
+- * typedef return-type (EXPAPIENTRYP PFNEGLFUNCTIONPROC) (arguments);
+- *
+- * KHRONOS_APICALL and KHRONOS_APIENTRY are defined in KHR/khrplatform.h
+- */
+-
+-#ifndef EGLAPI
+-#define EGLAPI KHRONOS_APICALL
+-#endif
+-
+-#ifndef EGLAPIENTRY
+-#define EGLAPIENTRY  KHRONOS_APIENTRY
+-#endif
+-#define EGLAPIENTRYP EGLAPIENTRY*
+-
+-/* The types NativeDisplayType, NativeWindowType, and NativePixmapType
+- * are aliases of window-system-dependent types, such as X Display * or
+- * Windows Device Context. They must be defined in platform-specific
+- * code below. The EGL-prefixed versions of Native*Type are the same
+- * types, renamed in EGL 1.3 so all types in the API start with "EGL".
+- *
+- * Khronos STRONGLY RECOMMENDS that you use the default definitions
+- * provided below, since these changes affect both binary and source
+- * portability of applications using EGL running on different EGL
+- * implementations.
+- */
+-
+-#if defined(_WIN32) || defined(__VC32__) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) /* Win32 and WinCE */
+-#ifndef WIN32_LEAN_AND_MEAN
+-#define WIN32_LEAN_AND_MEAN 1
+-#endif
+-#include <windows.h>
+-
+-typedef HDC     EGLNativeDisplayType;
+-typedef HBITMAP EGLNativePixmapType;
+-typedef HWND    EGLNativeWindowType;
+-
+-#elif defined(__WINSCW__) || defined(__SYMBIAN32__)  /* Symbian */
+-
+-typedef int   EGLNativeDisplayType;
+-typedef void *EGLNativeWindowType;
+-typedef void *EGLNativePixmapType;
+-
+-#elif defined(WL_EGL_PLATFORM)
+-
+-typedef struct wl_display     *EGLNativeDisplayType;
+-typedef struct wl_egl_pixmap  *EGLNativePixmapType;
+-typedef struct wl_egl_window  *EGLNativeWindowType;
+-
+-#elif defined(__GBM__)
+-
+-typedef struct gbm_device  *EGLNativeDisplayType;
+-typedef struct gbm_bo      *EGLNativePixmapType;
+-typedef void               *EGLNativeWindowType;
+-
+-#elif defined(ANDROID) /* Android */
+-
+-struct ANativeWindow;
+-struct egl_native_pixmap_t;
+-
+-typedef struct ANativeWindow        *EGLNativeWindowType;
+-typedef struct egl_native_pixmap_t  *EGLNativePixmapType;
+-typedef void                        *EGLNativeDisplayType;
+-
+-#elif defined(__unix__)
+-
+-#ifdef MESA_EGL_NO_X11_HEADERS
+-
+-typedef void            *EGLNativeDisplayType;
+-typedef khronos_uint32_t EGLNativePixmapType;
+-typedef khronos_uint32_t EGLNativeWindowType;
+-
+-#else
+-
+-/* X11 (tentative)  */
+-#include <X11/Xlib.h>
+-#include <X11/Xutil.h>
+-
+-typedef Display *EGLNativeDisplayType;
+-typedef Pixmap   EGLNativePixmapType;
+-typedef Window   EGLNativeWindowType;
+-
+-#endif /* MESA_EGL_NO_X11_HEADERS */
+-
+-#else
+-#error "Platform not recognized"
+-#endif
+-
+-/* EGL 1.2 types, renamed for consistency in EGL 1.3 */
+-typedef EGLNativeDisplayType NativeDisplayType;
+-typedef EGLNativePixmapType  NativePixmapType;
+-typedef EGLNativeWindowType  NativeWindowType;
+-
+-
+-/* Define EGLint. This must be a signed integral type large enough to contain
+- * all legal attribute names and values passed into and out of EGL, whether
+- * their type is boolean, bitmask, enumerant (symbolic constant), integer,
+- * handle, or other.  While in general a 32-bit integer will suffice, if
+- * handles are 64 bit types, then EGLint should be defined as a signed 64-bit
+- * integer type.
+- */
+-typedef khronos_int32_t EGLint;
+-
+-#endif /* __eglplatform_h */
+diff --git a/include/EGL/eglplatform.h.in b/include/EGL/eglplatform.h.in
+new file mode 100644
+index 0000000..5126c92
+--- /dev/null
++++ b/include/EGL/eglplatform.h.in
+@@ -0,0 +1,146 @@
++#ifndef __eglplatform_h_
++#define __eglplatform_h_
++
++/*
++** Copyright (c) 2007-2009 The Khronos Group Inc.
++**
++** Permission is hereby granted, free of charge, to any person obtaining a
++** copy of this software and/or associated documentation files (the
++** "Materials"), to deal in the Materials without restriction, including
++** without limitation the rights to use, copy, modify, merge, publish,
++** distribute, sublicense, and/or sell copies of the Materials, and to
++** permit persons to whom the Materials are furnished to do so, subject to
++** the following conditions:
++**
++** The above copyright notice and this permission notice shall be included
++** in all copies or substantial portions of the Materials.
++**
++** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
++** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
++** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
++** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
++** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
++** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
++** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
++*/
++
++/* Platform-specific types and definitions for egl.h
++ * $Revision: 12306 $ on $Date: 2010-08-25 09:51:28 -0700 (Wed, 25 Aug 2010) $
++ *
++ * Adopters may modify khrplatform.h and this file to suit their platform.
++ * You are encouraged to submit all modifications to the Khronos group so that
++ * they can be included in future versions of this file.  Please submit changes
++ * by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla)
++ * by filing a bug against product "EGL" component "Registry".
++ */
++
++#include <KHR/khrplatform.h>
++
++/* Macros used in EGL function prototype declarations.
++ *
++ * EGL functions should be prototyped as:
++ *
++ * EGLAPI return-type EGLAPIENTRY eglFunction(arguments);
++ * typedef return-type (EXPAPIENTRYP PFNEGLFUNCTIONPROC) (arguments);
++ *
++ * KHRONOS_APICALL and KHRONOS_APIENTRY are defined in KHR/khrplatform.h
++ */
++
++#ifndef EGLAPI
++#define EGLAPI KHRONOS_APICALL
++#endif
++
++#ifndef EGLAPIENTRY
++#define EGLAPIENTRY  KHRONOS_APIENTRY
++#endif
++#define EGLAPIENTRYP EGLAPIENTRY*
++
++/* The types NativeDisplayType, NativeWindowType, and NativePixmapType
++ * are aliases of window-system-dependent types, such as X Display * or
++ * Windows Device Context. They must be defined in platform-specific
++ * code below. The EGL-prefixed versions of Native*Type are the same
++ * types, renamed in EGL 1.3 so all types in the API start with "EGL".
++ *
++ * Khronos STRONGLY RECOMMENDS that you use the default definitions
++ * provided below, since these changes affect both binary and source
++ * portability of applications using EGL running on different EGL
++ * implementations.
++ */
++
++#if defined(_WIN32) || defined(__VC32__) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) /* Win32 and WinCE */
++#ifndef WIN32_LEAN_AND_MEAN
++#define WIN32_LEAN_AND_MEAN 1
++#endif
++#include <windows.h>
++
++typedef HDC     EGLNativeDisplayType;
++typedef HBITMAP EGLNativePixmapType;
++typedef HWND    EGLNativeWindowType;
++
++#elif defined(__WINSCW__) || defined(__SYMBIAN32__)  /* Symbian */
++
++typedef int   EGLNativeDisplayType;
++typedef void *EGLNativeWindowType;
++typedef void *EGLNativePixmapType;
++
++#elif defined(WL_EGL_PLATFORM)
++
++typedef struct wl_display     *EGLNativeDisplayType;
++typedef struct wl_egl_pixmap  *EGLNativePixmapType;
++typedef struct wl_egl_window  *EGLNativeWindowType;
++
++#elif defined(__GBM__)
++
++typedef struct gbm_device  *EGLNativeDisplayType;
++typedef struct gbm_bo      *EGLNativePixmapType;
++typedef void               *EGLNativeWindowType;
++
++#elif defined(ANDROID) /* Android */
++
++struct ANativeWindow;
++struct egl_native_pixmap_t;
++
++typedef struct ANativeWindow        *EGLNativeWindowType;
++typedef struct egl_native_pixmap_t  *EGLNativePixmapType;
++typedef void                        *EGLNativeDisplayType;
++
++#elif defined(__unix__)
++
++#if @MESA_EGL_NO_X11_HEADERS@
++
++typedef void            *EGLNativeDisplayType;
++typedef khronos_uint32_t EGLNativePixmapType;
++typedef khronos_uint32_t EGLNativeWindowType;
++
++#else
++
++/* X11 (tentative)  */
++#include <X11/Xlib.h>
++#include <X11/Xutil.h>
++
++typedef Display *EGLNativeDisplayType;
++typedef Pixmap   EGLNativePixmapType;
++typedef Window   EGLNativeWindowType;
++
++#endif /* MESA_EGL_NO_X11_HEADERS */
++
++#else
++#error "Platform not recognized"
++#endif
++
++/* EGL 1.2 types, renamed for consistency in EGL 1.3 */
++typedef EGLNativeDisplayType NativeDisplayType;
++typedef EGLNativePixmapType  NativePixmapType;
++typedef EGLNativeWindowType  NativeWindowType;
++
++
++/* Define EGLint. This must be a signed integral type large enough to contain
++ * all legal attribute names and values passed into and out of EGL, whether
++ * their type is boolean, bitmask, enumerant (symbolic constant), integer,
++ * handle, or other.  While in general a 32-bit integer will suffice, if
++ * handles are 64 bit types, then EGLint should be defined as a signed 64-bit
++ * integer type.
++ */
++typedef khronos_int32_t EGLint;
++
++#endif /* __eglplatform_h */
+-- 
+1.8.2.1
+
diff --git a/meta/recipes-graphics/mesa/mesa/0004-glsl-fix-builtin_compiler-cross-compilation.patch b/meta/recipes-graphics/mesa/mesa/0004-glsl-fix-builtin_compiler-cross-compilation.patch
new file mode 100644
index 0000000..460a274
--- /dev/null
+++ b/meta/recipes-graphics/mesa/mesa/0004-glsl-fix-builtin_compiler-cross-compilation.patch
@@ -0,0 +1,54 @@
+From ab38c97f057f739533a4e1fc9de51ea5f4e6242d Mon Sep 17 00:00:00 2001
+From: Jonathan Liu <net147@gmail.com>
+Date: Sat, 29 Jun 2013 11:37:20 +0200
+Subject: [PATCH 4/4] glsl: fix builtin_compiler cross-compilation
+
+The target libtool is used when building host binaries, which predictably
+doesn't work.
+
+Upstream-Status: Submitted https://bugs.freedesktop.org/show_bug.cgi?id=44618
+Signed-off-by: Jonathan Liu <net147@gmail.com>
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+---
+ src/glsl/builtin_compiler/Makefile.am | 13 +++++++++++++
+ 1 file changed, 13 insertions(+)
+
+diff --git a/src/glsl/builtin_compiler/Makefile.am b/src/glsl/builtin_compiler/Makefile.am
+index e11a17f..8ebe0a2 100644
+--- a/src/glsl/builtin_compiler/Makefile.am
++++ b/src/glsl/builtin_compiler/Makefile.am
+@@ -64,6 +64,8 @@ AM_CXXFLAGS = $(AM_CFLAGS)
+ include ../Makefile.sources
+ 
+ noinst_PROGRAMS = builtin_compiler
++
++if !CROSS_COMPILING
+ noinst_LTLIBRARIES = libglslcore.la libglcpp.la
+ 
+ libglcpp_la_SOURCES =					\
+@@ -73,6 +75,7 @@ libglcpp_la_SOURCES =					\
+ libglslcore_la_SOURCES =				\
+ 	$(BUILTIN_COMPILER_GENERATED_CXX_FILES)		\
+ 	$(LIBGLSL_FILES)
++endif
+ 
+ builtin_compiler_SOURCES = \
+ 	$(top_srcdir)/src/mesa/main/hash_table.c	\
+@@ -81,4 +84,14 @@ builtin_compiler_SOURCES = \
+ 	$(top_srcdir)/src/mesa/program/symbol_table.c	\
+ 	$(BUILTIN_COMPILER_CXX_FILES)			\
+ 	$(GLSL_COMPILER_CXX_FILES)
++
++if CROSS_COMPILING
++builtin_compiler_SOURCES += \
++	$(LIBGLCPP_GENERATED_FILES) \
++	$(LIBGLCPP_FILES) \
++	$(BUILTIN_COMPILER_GENERATED_CXX_FILES) \
++	$(LIBGLSL_FILES)
++builtin_compiler_CPPFLAGS = $(AM_CPPFLAGS)
++else
+ builtin_compiler_LDADD = libglslcore.la libglcpp.la
++endif
+-- 
+1.8.2.1
+
diff --git a/meta/recipes-graphics/mesa/mesa/EGL-Mutate-NativeDisplayType-depending-on-config.patch b/meta/recipes-graphics/mesa/mesa/EGL-Mutate-NativeDisplayType-depending-on-config.patch
deleted file mode 100644
index 47ba167..0000000
--- a/meta/recipes-graphics/mesa/mesa/EGL-Mutate-NativeDisplayType-depending-on-config.patch
+++ /dev/null
@@ -1,358 +0,0 @@
-From d52a7ec5dcdf3936bd727b854831efb90acfd2ba Mon Sep 17 00:00:00 2001
-From: Daniel Stone <daniel@fooishbar.org>
-Date: Fri, 24 May 2013 17:20:27 +0100
-Subject: [PATCH] EGL: Mutate NativeDisplayType depending on config
-
-If we go through ./configure without enabling X11 anywhere, then set the
-fallback types for EGL NativeDisplay and friends, rather than assuming
-X11/Xlib.
-
-Signed-off-by: Daniel Stone <daniel@fooishbar.org>
----
- configure.ac                 |    9 +++
- include/EGL/eglplatform.h    |  146 ------------------------------------------
- include/EGL/eglplatform.h.in |  146 ++++++++++++++++++++++++++++++++++++++++++
- 3 files changed, 155 insertions(+), 146 deletions(-)
- delete mode 100644 include/EGL/eglplatform.h
- create mode 100644 include/EGL/eglplatform.h.in
-
-diff --git a/configure.ac b/configure.ac
-index 4a98996..6fa77da 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -1576,12 +1576,20 @@ fi
- 
- EGL_PLATFORMS="$egl_platforms"
- 
-+if echo "$egl_platforms" | grep 'x11' >/dev/null 2>&1; then
-+    MESA_EGL_NO_X11_HEADERS=0
-+else
-+    MESA_EGL_NO_X11_HEADERS=1
-+fi
-+
- AM_CONDITIONAL(HAVE_EGL_PLATFORM_X11, echo "$egl_platforms" | grep 'x11' >/dev/null 2>&1)
- AM_CONDITIONAL(HAVE_EGL_PLATFORM_WAYLAND, echo "$egl_platforms" | grep 'wayland' >/dev/null 2>&1)
- AM_CONDITIONAL(HAVE_EGL_PLATFORM_DRM, echo "$egl_platforms" | grep 'drm' >/dev/null 2>&1)
- AM_CONDITIONAL(HAVE_EGL_PLATFORM_FBDEV, echo "$egl_platforms" | grep 'fbdev' >/dev/null 2>&1)
- AM_CONDITIONAL(HAVE_EGL_PLATFORM_NULL, echo "$egl_platforms" | grep 'null' >/dev/null 2>&1)
- 
-+AC_SUBST([MESA_EGL_NO_X11_HEADERS])
-+
- AM_CONDITIONAL(HAVE_EGL_DRIVER_DRI2, test "x$HAVE_EGL_DRIVER_DRI2" != "x")
- AM_CONDITIONAL(HAVE_EGL_DRIVER_GLX, test "x$HAVE_EGL_DRIVER_GLX" != "x")
- 
-@@ -2053,6 +2061,7 @@ CXXFLAGS="$CXXFLAGS $USER_CXXFLAGS"
- 
- dnl Substitute the config
- AC_CONFIG_FILES([Makefile
-+                include/EGL/eglplatform.h
- 		src/Makefile
- 		src/egl/Makefile
- 		src/egl/drivers/Makefile
-diff --git a/include/EGL/eglplatform.h b/include/EGL/eglplatform.h
-deleted file mode 100644
-index 17fdc61..0000000
---- a/include/EGL/eglplatform.h
-+++ /dev/null
-@@ -1,146 +0,0 @@
--#ifndef __eglplatform_h_
--#define __eglplatform_h_
--
--/*
--** Copyright (c) 2007-2009 The Khronos Group Inc.
--**
--** Permission is hereby granted, free of charge, to any person obtaining a
--** copy of this software and/or associated documentation files (the
--** "Materials"), to deal in the Materials without restriction, including
--** without limitation the rights to use, copy, modify, merge, publish,
--** distribute, sublicense, and/or sell copies of the Materials, and to
--** permit persons to whom the Materials are furnished to do so, subject to
--** the following conditions:
--**
--** The above copyright notice and this permission notice shall be included
--** in all copies or substantial portions of the Materials.
--**
--** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
--** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
--** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
--** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
--** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
--** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
--** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
--*/
--
--/* Platform-specific types and definitions for egl.h
-- * $Revision: 12306 $ on $Date: 2010-08-25 09:51:28 -0700 (Wed, 25 Aug 2010) $
-- *
-- * Adopters may modify khrplatform.h and this file to suit their platform.
-- * You are encouraged to submit all modifications to the Khronos group so that
-- * they can be included in future versions of this file.  Please submit changes
-- * by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla)
-- * by filing a bug against product "EGL" component "Registry".
-- */
--
--#include <KHR/khrplatform.h>
--
--/* Macros used in EGL function prototype declarations.
-- *
-- * EGL functions should be prototyped as:
-- *
-- * EGLAPI return-type EGLAPIENTRY eglFunction(arguments);
-- * typedef return-type (EXPAPIENTRYP PFNEGLFUNCTIONPROC) (arguments);
-- *
-- * KHRONOS_APICALL and KHRONOS_APIENTRY are defined in KHR/khrplatform.h
-- */
--
--#ifndef EGLAPI
--#define EGLAPI KHRONOS_APICALL
--#endif
--
--#ifndef EGLAPIENTRY
--#define EGLAPIENTRY  KHRONOS_APIENTRY
--#endif
--#define EGLAPIENTRYP EGLAPIENTRY*
--
--/* The types NativeDisplayType, NativeWindowType, and NativePixmapType
-- * are aliases of window-system-dependent types, such as X Display * or
-- * Windows Device Context. They must be defined in platform-specific
-- * code below. The EGL-prefixed versions of Native*Type are the same
-- * types, renamed in EGL 1.3 so all types in the API start with "EGL".
-- *
-- * Khronos STRONGLY RECOMMENDS that you use the default definitions
-- * provided below, since these changes affect both binary and source
-- * portability of applications using EGL running on different EGL
-- * implementations.
-- */
--
--#if defined(_WIN32) || defined(__VC32__) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) /* Win32 and WinCE */
--#ifndef WIN32_LEAN_AND_MEAN
--#define WIN32_LEAN_AND_MEAN 1
--#endif
--#include <windows.h>
--
--typedef HDC     EGLNativeDisplayType;
--typedef HBITMAP EGLNativePixmapType;
--typedef HWND    EGLNativeWindowType;
--
--#elif defined(__WINSCW__) || defined(__SYMBIAN32__)  /* Symbian */
--
--typedef int   EGLNativeDisplayType;
--typedef void *EGLNativeWindowType;
--typedef void *EGLNativePixmapType;
--
--#elif defined(WL_EGL_PLATFORM)
--
--typedef struct wl_display     *EGLNativeDisplayType;
--typedef struct wl_egl_pixmap  *EGLNativePixmapType;
--typedef struct wl_egl_window  *EGLNativeWindowType;
--
--#elif defined(__GBM__)
--
--typedef struct gbm_device  *EGLNativeDisplayType;
--typedef struct gbm_bo      *EGLNativePixmapType;
--typedef void               *EGLNativeWindowType;
--
--#elif defined(ANDROID) /* Android */
--
--struct ANativeWindow;
--struct egl_native_pixmap_t;
--
--typedef struct ANativeWindow        *EGLNativeWindowType;
--typedef struct egl_native_pixmap_t  *EGLNativePixmapType;
--typedef void                        *EGLNativeDisplayType;
--
--#elif defined(__unix__)
--
--#ifdef MESA_EGL_NO_X11_HEADERS
--
--typedef void            *EGLNativeDisplayType;
--typedef khronos_uint32_t EGLNativePixmapType;
--typedef khronos_uint32_t EGLNativeWindowType;
--
--#else
--
--/* X11 (tentative)  */
--#include <X11/Xlib.h>
--#include <X11/Xutil.h>
--
--typedef Display *EGLNativeDisplayType;
--typedef Pixmap   EGLNativePixmapType;
--typedef Window   EGLNativeWindowType;
--
--#endif /* MESA_EGL_NO_X11_HEADERS */
--
--#else
--#error "Platform not recognized"
--#endif
--
--/* EGL 1.2 types, renamed for consistency in EGL 1.3 */
--typedef EGLNativeDisplayType NativeDisplayType;
--typedef EGLNativePixmapType  NativePixmapType;
--typedef EGLNativeWindowType  NativeWindowType;
--
--
--/* Define EGLint. This must be a signed integral type large enough to contain
-- * all legal attribute names and values passed into and out of EGL, whether
-- * their type is boolean, bitmask, enumerant (symbolic constant), integer,
-- * handle, or other.  While in general a 32-bit integer will suffice, if
-- * handles are 64 bit types, then EGLint should be defined as a signed 64-bit
-- * integer type.
-- */
--typedef khronos_int32_t EGLint;
--
--#endif /* __eglplatform_h */
-diff --git a/include/EGL/eglplatform.h.in b/include/EGL/eglplatform.h.in
-new file mode 100644
-index 0000000..5126c92
---- /dev/null
-+++ b/include/EGL/eglplatform.h.in
-@@ -0,0 +1,146 @@
-+#ifndef __eglplatform_h_
-+#define __eglplatform_h_
-+
-+/*
-+** Copyright (c) 2007-2009 The Khronos Group Inc.
-+**
-+** Permission is hereby granted, free of charge, to any person obtaining a
-+** copy of this software and/or associated documentation files (the
-+** "Materials"), to deal in the Materials without restriction, including
-+** without limitation the rights to use, copy, modify, merge, publish,
-+** distribute, sublicense, and/or sell copies of the Materials, and to
-+** permit persons to whom the Materials are furnished to do so, subject to
-+** the following conditions:
-+**
-+** The above copyright notice and this permission notice shall be included
-+** in all copies or substantial portions of the Materials.
-+**
-+** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-+** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-+** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-+** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-+** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-+** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-+** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
-+*/
-+
-+/* Platform-specific types and definitions for egl.h
-+ * $Revision: 12306 $ on $Date: 2010-08-25 09:51:28 -0700 (Wed, 25 Aug 2010) $
-+ *
-+ * Adopters may modify khrplatform.h and this file to suit their platform.
-+ * You are encouraged to submit all modifications to the Khronos group so that
-+ * they can be included in future versions of this file.  Please submit changes
-+ * by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla)
-+ * by filing a bug against product "EGL" component "Registry".
-+ */
-+
-+#include <KHR/khrplatform.h>
-+
-+/* Macros used in EGL function prototype declarations.
-+ *
-+ * EGL functions should be prototyped as:
-+ *
-+ * EGLAPI return-type EGLAPIENTRY eglFunction(arguments);
-+ * typedef return-type (EXPAPIENTRYP PFNEGLFUNCTIONPROC) (arguments);
-+ *
-+ * KHRONOS_APICALL and KHRONOS_APIENTRY are defined in KHR/khrplatform.h
-+ */
-+
-+#ifndef EGLAPI
-+#define EGLAPI KHRONOS_APICALL
-+#endif
-+
-+#ifndef EGLAPIENTRY
-+#define EGLAPIENTRY  KHRONOS_APIENTRY
-+#endif
-+#define EGLAPIENTRYP EGLAPIENTRY*
-+
-+/* The types NativeDisplayType, NativeWindowType, and NativePixmapType
-+ * are aliases of window-system-dependent types, such as X Display * or
-+ * Windows Device Context. They must be defined in platform-specific
-+ * code below. The EGL-prefixed versions of Native*Type are the same
-+ * types, renamed in EGL 1.3 so all types in the API start with "EGL".
-+ *
-+ * Khronos STRONGLY RECOMMENDS that you use the default definitions
-+ * provided below, since these changes affect both binary and source
-+ * portability of applications using EGL running on different EGL
-+ * implementations.
-+ */
-+
-+#if defined(_WIN32) || defined(__VC32__) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) /* Win32 and WinCE */
-+#ifndef WIN32_LEAN_AND_MEAN
-+#define WIN32_LEAN_AND_MEAN 1
-+#endif
-+#include <windows.h>
-+
-+typedef HDC     EGLNativeDisplayType;
-+typedef HBITMAP EGLNativePixmapType;
-+typedef HWND    EGLNativeWindowType;
-+
-+#elif defined(__WINSCW__) || defined(__SYMBIAN32__)  /* Symbian */
-+
-+typedef int   EGLNativeDisplayType;
-+typedef void *EGLNativeWindowType;
-+typedef void *EGLNativePixmapType;
-+
-+#elif defined(WL_EGL_PLATFORM)
-+
-+typedef struct wl_display     *EGLNativeDisplayType;
-+typedef struct wl_egl_pixmap  *EGLNativePixmapType;
-+typedef struct wl_egl_window  *EGLNativeWindowType;
-+
-+#elif defined(__GBM__)
-+
-+typedef struct gbm_device  *EGLNativeDisplayType;
-+typedef struct gbm_bo      *EGLNativePixmapType;
-+typedef void               *EGLNativeWindowType;
-+
-+#elif defined(ANDROID) /* Android */
-+
-+struct ANativeWindow;
-+struct egl_native_pixmap_t;
-+
-+typedef struct ANativeWindow        *EGLNativeWindowType;
-+typedef struct egl_native_pixmap_t  *EGLNativePixmapType;
-+typedef void                        *EGLNativeDisplayType;
-+
-+#elif defined(__unix__)
-+
-+#if @MESA_EGL_NO_X11_HEADERS@
-+
-+typedef void            *EGLNativeDisplayType;
-+typedef khronos_uint32_t EGLNativePixmapType;
-+typedef khronos_uint32_t EGLNativeWindowType;
-+
-+#else
-+
-+/* X11 (tentative)  */
-+#include <X11/Xlib.h>
-+#include <X11/Xutil.h>
-+
-+typedef Display *EGLNativeDisplayType;
-+typedef Pixmap   EGLNativePixmapType;
-+typedef Window   EGLNativeWindowType;
-+
-+#endif /* MESA_EGL_NO_X11_HEADERS */
-+
-+#else
-+#error "Platform not recognized"
-+#endif
-+
-+/* EGL 1.2 types, renamed for consistency in EGL 1.3 */
-+typedef EGLNativeDisplayType NativeDisplayType;
-+typedef EGLNativePixmapType  NativePixmapType;
-+typedef EGLNativeWindowType  NativeWindowType;
-+
-+
-+/* Define EGLint. This must be a signed integral type large enough to contain
-+ * all legal attribute names and values passed into and out of EGL, whether
-+ * their type is boolean, bitmask, enumerant (symbolic constant), integer,
-+ * handle, or other.  While in general a 32-bit integer will suffice, if
-+ * handles are 64 bit types, then EGLint should be defined as a signed 64-bit
-+ * integer type.
-+ */
-+typedef khronos_int32_t EGLint;
-+
-+#endif /* __eglplatform_h */
--- 
-1.7.10.4
-
diff --git a/meta/recipes-graphics/mesa/mesa/fix-glsl-cross.patch b/meta/recipes-graphics/mesa/mesa/fix-glsl-cross.patch
deleted file mode 100644
index 34226ea..0000000
--- a/meta/recipes-graphics/mesa/mesa/fix-glsl-cross.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-The target libtool is used when building host binaries, which predictably
-doesn't work.
-
-Upstream-Status: Submitted (https://bugs.freedesktop.org/show_bug.cgi?id=44618)
-Signed-off-by: Jonathan Liu <net147@gmail.com>
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-diff --git a/src/glsl/builtin_compiler/Makefile.am b/src/glsl/builtin_compiler/Makefile.am
-index e11a17f..8ebe0a2 100644
---- a/src/glsl/builtin_compiler/Makefile.am
-+++ b/src/glsl/builtin_compiler/Makefile.am
-@@ -64,6 +64,8 @@ AM_CXXFLAGS = $(AM_CFLAGS)
- include ../Makefile.sources
- 
- noinst_PROGRAMS = builtin_compiler
-+
-+if !CROSS_COMPILING
- noinst_LTLIBRARIES = libglslcore.la libglcpp.la
- 
- libglcpp_la_SOURCES =					\
-@@ -73,6 +75,7 @@ libglcpp_la_SOURCES =					\
- libglslcore_la_SOURCES =				\
- 	$(BUILTIN_COMPILER_GENERATED_CXX_FILES)		\
- 	$(LIBGLSL_FILES)
-+endif
- 
- builtin_compiler_SOURCES = \
- 	$(top_srcdir)/src/mesa/main/hash_table.c	\
-@@ -81,4 +84,14 @@ builtin_compiler_SOURCES = \
- 	$(top_srcdir)/src/mesa/program/symbol_table.c	\
- 	$(BUILTIN_COMPILER_CXX_FILES)			\
- 	$(GLSL_COMPILER_CXX_FILES)
-+
-+if CROSS_COMPILING
-+builtin_compiler_SOURCES += \
-+	$(LIBGLCPP_GENERATED_FILES) \
-+	$(LIBGLCPP_FILES) \
-+	$(BUILTIN_COMPILER_GENERATED_CXX_FILES) \
-+	$(LIBGLSL_FILES)
-+builtin_compiler_CPPFLAGS = $(AM_CPPFLAGS)
-+else
- builtin_compiler_LDADD = libglslcore.la libglcpp.la
-+endif
diff --git a/meta/recipes-graphics/mesa/mesa_9.1.3.bb b/meta/recipes-graphics/mesa/mesa_9.1.3.bb
index bbeacd3..a7ccbe6 100644
--- a/meta/recipes-graphics/mesa/mesa_9.1.3.bb
+++ b/meta/recipes-graphics/mesa/mesa_9.1.3.bb
@@ -1,11 +1,11 @@
 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 \
            file://0002-pipe_loader_sw-include-xlib_sw_winsys.h-only-when-HA.patch \
+           file://0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch \
+           file://0004-glsl-fix-builtin_compiler-cross-compilation.patch \
+           file://0005-llvmpipe-remove-the-power-of-two-sizeof-struct-cmd_b.patch \
            "
 
 SRC_URI[md5sum] = "952ccd03547ed72333b64e1746cf8ada"
diff --git a/meta/recipes-graphics/mesa/mesa_git.bb b/meta/recipes-graphics/mesa/mesa_git.bb
index 09a9531..52d3d81 100644
--- a/meta/recipes-graphics/mesa/mesa_git.bb
+++ b/meta/recipes-graphics/mesa/mesa_git.bb
@@ -2,17 +2,17 @@ require ${BPN}.inc
 
 DEFAULT_PREFERENCE = "-1"
 
+LIC_FILES_CHKSUM = "file://docs/license.html;md5=f69a4626e9efc40fa0d3cc3b02c9eacf"
+
 PR = "${INC_PR}.0"
-# 9.1.3 commit
-SRCREV = "f32ec82a8cfcabc5b7596796f36afe7986651f02"
+SRCREV = "5a925cc5504575c22dbb7d29842d7fc5babcb5c7"
 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 \
            file://0002-pipe_loader_sw-include-xlib_sw_winsys.h-only-when-HA.patch \
+           file://0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch \
+           file://0004-glsl-fix-builtin_compiler-cross-compilation.patch \
            "
 
 S = "${WORKDIR}/git"
-- 
1.8.2.1



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* Re: [PATCH 3/4] mesa: bump SRCREV in git recipe, refresh patches
  2013-07-02 11:44     ` Martin Jansa
  2013-07-02 11:44       ` [PATCHv2] " Martin Jansa
  2013-07-02 11:49       ` [PATCHv3] " Martin Jansa
@ 2013-07-02 13:05       ` Burton, Ross
  2 siblings, 0 replies; 15+ messages in thread
From: Burton, Ross @ 2013-07-02 13:05 UTC (permalink / raw)
  To: Martin Jansa; +Cc: openembedded-core

On 2 July 2013 12:44, Martin Jansa <martin.jansa@gmail.com> wrote:
>> > -# 9.1.3 commit
>> > -SRCREV = "f32ec82a8cfcabc5b7596796f36afe7986651f02"
>> > +SRCREV = "5a925cc5504575c22dbb7d29842d7fc5babcb5c7"
>> >  PV = "9.1.3+git${SRCPV}"
>>
>> git describe doesn't call this a descendent of 9.1.x so I presume this
>> is a master commit.  Can you change PV to reflect that somehow?
>>
>> That said I've discovered that our rpm doesn't support ~, so calling
>> it "9.2.0~git" isn't going to work.
>
> yes it's from master and I think that we always used this syntax
> ${OLD_RELEASED_VERSION}+git${SRCPV}
>
> IIRC "9.2.0~git" isn't supported in opkg too.

dpkg and opkg supports it, and the other fork of rpm does too - it's
just our chosen fork of rpm that apparently doesn't (or our tooling
around it doesn't, I didn't investigate much).

Ross


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCHv3] mesa: bump SRCREV in git recipe, refresh patches
  2013-07-02 11:49       ` [PATCHv3] " Martin Jansa
@ 2013-07-19  3:14         ` Jonathan Liu
  2013-07-19  4:42           ` Jonathan Liu
  0 siblings, 1 reply; 15+ messages in thread
From: Jonathan Liu @ 2013-07-19  3:14 UTC (permalink / raw)
  To: Martin Jansa; +Cc: openembedded-core

I get the following with PACKAGECONFIG_append_pn-mesa = " gallium
gallium-llvmpipe":
WARNING: QA Issue: mesa: Files/directories were installed but not shipped
  /usr/lib/libXvMCsoftpipe.so
  /usr/lib/libXvMCsoftpipe.la

Regards,
Jonathan

On 2 July 2013 21:49, Martin Jansa <martin.jansa@gmail.com> wrote:
> * 0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch
>   needs to be rebased so move old version for 9.1.3 to
>   mesa-9.1.3/ and update the version in mesa/
> * add git headers
> * 0005-llvmpipe-remove-the-power-of-two-sizeof-struct-cmd_b.patch
>   is already applied in new SRCREV, move it to mesa-9.1.3/
> * formal change in license.html with new SRCREV:
>    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
>    OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
>    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
>   -BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
>   -AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
>   -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
>   +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
>   +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
>   +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
>   +SOFTWARE.
>
> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
> ---
>  ...ate-NativeDisplayType-depending-on-config.patch | 359 +++++++++++++++++++++
>  ...move-the-power-of-two-sizeof-struct-cmd_b.patch |  41 +++
>  ...void-use-of-AC_CHECK_FILE-for-cross-compi.patch |  14 +-
>  ...move-the-power-of-two-sizeof-struct-cmd_b.patch |  42 ---
>  ...ate-NativeDisplayType-depending-on-config.patch | 356 ++++++++++++++++++++
>  ...sl-fix-builtin_compiler-cross-compilation.patch |  54 ++++
>  ...ate-NativeDisplayType-depending-on-config.patch | 358 --------------------
>  .../mesa/mesa/fix-glsl-cross.patch                 |  43 ---
>  meta/recipes-graphics/mesa/mesa_9.1.3.bb           |   6 +-
>  meta/recipes-graphics/mesa/mesa_git.bb             |  10 +-
>  10 files changed, 825 insertions(+), 458 deletions(-)
>  create mode 100644 meta/recipes-graphics/mesa/mesa-9.1.3/0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch
>  create mode 100644 meta/recipes-graphics/mesa/mesa-9.1.3/0005-llvmpipe-remove-the-power-of-two-sizeof-struct-cmd_b.patch
>  delete mode 100644 meta/recipes-graphics/mesa/mesa/0001-llvmpipe-remove-the-power-of-two-sizeof-struct-cmd_b.patch
>  create mode 100644 meta/recipes-graphics/mesa/mesa/0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch
>  create mode 100644 meta/recipes-graphics/mesa/mesa/0004-glsl-fix-builtin_compiler-cross-compilation.patch
>  delete mode 100644 meta/recipes-graphics/mesa/mesa/EGL-Mutate-NativeDisplayType-depending-on-config.patch
>  delete mode 100644 meta/recipes-graphics/mesa/mesa/fix-glsl-cross.patch
>
> diff --git a/meta/recipes-graphics/mesa/mesa-9.1.3/0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch b/meta/recipes-graphics/mesa/mesa-9.1.3/0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch
> new file mode 100644
> index 0000000..7e82b6a
> --- /dev/null
> +++ b/meta/recipes-graphics/mesa/mesa-9.1.3/0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch
> @@ -0,0 +1,359 @@
> +From 06c1ba29de8a26fffb73ee99f0fc54c704e9fee4 Mon Sep 17 00:00:00 2001
> +From: Daniel Stone <daniel@fooishbar.org>
> +Date: Fri, 24 May 2013 17:20:27 +0100
> +Subject: [PATCH 3/5] EGL: Mutate NativeDisplayType depending on config
> +
> +If we go through ./configure without enabling X11 anywhere, then set the
> +fallback types for EGL NativeDisplay and friends, rather than assuming
> +X11/Xlib.
> +
> +Signed-off-by: Daniel Stone <daniel@fooishbar.org>
> +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
> +---
> + configure.ac                 |   9 +++
> + include/EGL/eglplatform.h    | 146 -------------------------------------------
> + include/EGL/eglplatform.h.in | 146 +++++++++++++++++++++++++++++++++++++++++++
> + 3 files changed, 155 insertions(+), 146 deletions(-)
> + delete mode 100644 include/EGL/eglplatform.h
> + create mode 100644 include/EGL/eglplatform.h.in
> +
> +diff --git a/configure.ac b/configure.ac
> +index 2b4a374..d4c7a95 100644
> +--- a/configure.ac
> ++++ b/configure.ac
> +@@ -1565,12 +1565,20 @@ fi
> +
> + EGL_PLATFORMS="$egl_platforms"
> +
> ++if echo "$egl_platforms" | grep 'x11' >/dev/null 2>&1; then
> ++    MESA_EGL_NO_X11_HEADERS=0
> ++else
> ++    MESA_EGL_NO_X11_HEADERS=1
> ++fi
> ++
> + AM_CONDITIONAL(HAVE_EGL_PLATFORM_X11, echo "$egl_platforms" | grep 'x11' >/dev/null 2>&1)
> + AM_CONDITIONAL(HAVE_EGL_PLATFORM_WAYLAND, echo "$egl_platforms" | grep 'wayland' >/dev/null 2>&1)
> + AM_CONDITIONAL(HAVE_EGL_PLATFORM_DRM, echo "$egl_platforms" | grep 'drm' >/dev/null 2>&1)
> + AM_CONDITIONAL(HAVE_EGL_PLATFORM_FBDEV, echo "$egl_platforms" | grep 'fbdev' >/dev/null 2>&1)
> + AM_CONDITIONAL(HAVE_EGL_PLATFORM_NULL, echo "$egl_platforms" | grep 'null' >/dev/null 2>&1)
> +
> ++AC_SUBST([MESA_EGL_NO_X11_HEADERS])
> ++
> + AM_CONDITIONAL(HAVE_EGL_DRIVER_DRI2, test "x$HAVE_EGL_DRIVER_DRI2" != "x")
> + AM_CONDITIONAL(HAVE_EGL_DRIVER_GLX, test "x$HAVE_EGL_DRIVER_GLX" != "x")
> +
> +@@ -2042,6 +2050,7 @@ CXXFLAGS="$CXXFLAGS $USER_CXXFLAGS"
> +
> + dnl Substitute the config
> + AC_CONFIG_FILES([Makefile
> ++              include/EGL/eglplatform.h
> +               src/Makefile
> +               src/egl/Makefile
> +               src/egl/drivers/Makefile
> +diff --git a/include/EGL/eglplatform.h b/include/EGL/eglplatform.h
> +deleted file mode 100644
> +index 17fdc61..0000000
> +--- a/include/EGL/eglplatform.h
> ++++ /dev/null
> +@@ -1,146 +0,0 @@
> +-#ifndef __eglplatform_h_
> +-#define __eglplatform_h_
> +-
> +-/*
> +-** Copyright (c) 2007-2009 The Khronos Group Inc.
> +-**
> +-** Permission is hereby granted, free of charge, to any person obtaining a
> +-** copy of this software and/or associated documentation files (the
> +-** "Materials"), to deal in the Materials without restriction, including
> +-** without limitation the rights to use, copy, modify, merge, publish,
> +-** distribute, sublicense, and/or sell copies of the Materials, and to
> +-** permit persons to whom the Materials are furnished to do so, subject to
> +-** the following conditions:
> +-**
> +-** The above copyright notice and this permission notice shall be included
> +-** in all copies or substantial portions of the Materials.
> +-**
> +-** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
> +-** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
> +-** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
> +-** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
> +-** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
> +-** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
> +-** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
> +-*/
> +-
> +-/* Platform-specific types and definitions for egl.h
> +- * $Revision: 12306 $ on $Date: 2010-08-25 09:51:28 -0700 (Wed, 25 Aug 2010) $
> +- *
> +- * Adopters may modify khrplatform.h and this file to suit their platform.
> +- * You are encouraged to submit all modifications to the Khronos group so that
> +- * they can be included in future versions of this file.  Please submit changes
> +- * by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla)
> +- * by filing a bug against product "EGL" component "Registry".
> +- */
> +-
> +-#include <KHR/khrplatform.h>
> +-
> +-/* Macros used in EGL function prototype declarations.
> +- *
> +- * EGL functions should be prototyped as:
> +- *
> +- * EGLAPI return-type EGLAPIENTRY eglFunction(arguments);
> +- * typedef return-type (EXPAPIENTRYP PFNEGLFUNCTIONPROC) (arguments);
> +- *
> +- * KHRONOS_APICALL and KHRONOS_APIENTRY are defined in KHR/khrplatform.h
> +- */
> +-
> +-#ifndef EGLAPI
> +-#define EGLAPI KHRONOS_APICALL
> +-#endif
> +-
> +-#ifndef EGLAPIENTRY
> +-#define EGLAPIENTRY  KHRONOS_APIENTRY
> +-#endif
> +-#define EGLAPIENTRYP EGLAPIENTRY*
> +-
> +-/* The types NativeDisplayType, NativeWindowType, and NativePixmapType
> +- * are aliases of window-system-dependent types, such as X Display * or
> +- * Windows Device Context. They must be defined in platform-specific
> +- * code below. The EGL-prefixed versions of Native*Type are the same
> +- * types, renamed in EGL 1.3 so all types in the API start with "EGL".
> +- *
> +- * Khronos STRONGLY RECOMMENDS that you use the default definitions
> +- * provided below, since these changes affect both binary and source
> +- * portability of applications using EGL running on different EGL
> +- * implementations.
> +- */
> +-
> +-#if defined(_WIN32) || defined(__VC32__) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) /* Win32 and WinCE */
> +-#ifndef WIN32_LEAN_AND_MEAN
> +-#define WIN32_LEAN_AND_MEAN 1
> +-#endif
> +-#include <windows.h>
> +-
> +-typedef HDC     EGLNativeDisplayType;
> +-typedef HBITMAP EGLNativePixmapType;
> +-typedef HWND    EGLNativeWindowType;
> +-
> +-#elif defined(__WINSCW__) || defined(__SYMBIAN32__)  /* Symbian */
> +-
> +-typedef int   EGLNativeDisplayType;
> +-typedef void *EGLNativeWindowType;
> +-typedef void *EGLNativePixmapType;
> +-
> +-#elif defined(WL_EGL_PLATFORM)
> +-
> +-typedef struct wl_display     *EGLNativeDisplayType;
> +-typedef struct wl_egl_pixmap  *EGLNativePixmapType;
> +-typedef struct wl_egl_window  *EGLNativeWindowType;
> +-
> +-#elif defined(__GBM__)
> +-
> +-typedef struct gbm_device  *EGLNativeDisplayType;
> +-typedef struct gbm_bo      *EGLNativePixmapType;
> +-typedef void               *EGLNativeWindowType;
> +-
> +-#elif defined(ANDROID) /* Android */
> +-
> +-struct ANativeWindow;
> +-struct egl_native_pixmap_t;
> +-
> +-typedef struct ANativeWindow        *EGLNativeWindowType;
> +-typedef struct egl_native_pixmap_t  *EGLNativePixmapType;
> +-typedef void                        *EGLNativeDisplayType;
> +-
> +-#elif defined(__unix__)
> +-
> +-#ifdef MESA_EGL_NO_X11_HEADERS
> +-
> +-typedef void            *EGLNativeDisplayType;
> +-typedef khronos_uint32_t EGLNativePixmapType;
> +-typedef khronos_uint32_t EGLNativeWindowType;
> +-
> +-#else
> +-
> +-/* X11 (tentative)  */
> +-#include <X11/Xlib.h>
> +-#include <X11/Xutil.h>
> +-
> +-typedef Display *EGLNativeDisplayType;
> +-typedef Pixmap   EGLNativePixmapType;
> +-typedef Window   EGLNativeWindowType;
> +-
> +-#endif /* MESA_EGL_NO_X11_HEADERS */
> +-
> +-#else
> +-#error "Platform not recognized"
> +-#endif
> +-
> +-/* EGL 1.2 types, renamed for consistency in EGL 1.3 */
> +-typedef EGLNativeDisplayType NativeDisplayType;
> +-typedef EGLNativePixmapType  NativePixmapType;
> +-typedef EGLNativeWindowType  NativeWindowType;
> +-
> +-
> +-/* Define EGLint. This must be a signed integral type large enough to contain
> +- * all legal attribute names and values passed into and out of EGL, whether
> +- * their type is boolean, bitmask, enumerant (symbolic constant), integer,
> +- * handle, or other.  While in general a 32-bit integer will suffice, if
> +- * handles are 64 bit types, then EGLint should be defined as a signed 64-bit
> +- * integer type.
> +- */
> +-typedef khronos_int32_t EGLint;
> +-
> +-#endif /* __eglplatform_h */
> +diff --git a/include/EGL/eglplatform.h.in b/include/EGL/eglplatform.h.in
> +new file mode 100644
> +index 0000000..5126c92
> +--- /dev/null
> ++++ b/include/EGL/eglplatform.h.in
> +@@ -0,0 +1,146 @@
> ++#ifndef __eglplatform_h_
> ++#define __eglplatform_h_
> ++
> ++/*
> ++** Copyright (c) 2007-2009 The Khronos Group Inc.
> ++**
> ++** Permission is hereby granted, free of charge, to any person obtaining a
> ++** copy of this software and/or associated documentation files (the
> ++** "Materials"), to deal in the Materials without restriction, including
> ++** without limitation the rights to use, copy, modify, merge, publish,
> ++** distribute, sublicense, and/or sell copies of the Materials, and to
> ++** permit persons to whom the Materials are furnished to do so, subject to
> ++** the following conditions:
> ++**
> ++** The above copyright notice and this permission notice shall be included
> ++** in all copies or substantial portions of the Materials.
> ++**
> ++** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
> ++** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
> ++** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
> ++** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
> ++** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
> ++** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
> ++** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
> ++*/
> ++
> ++/* Platform-specific types and definitions for egl.h
> ++ * $Revision: 12306 $ on $Date: 2010-08-25 09:51:28 -0700 (Wed, 25 Aug 2010) $
> ++ *
> ++ * Adopters may modify khrplatform.h and this file to suit their platform.
> ++ * You are encouraged to submit all modifications to the Khronos group so that
> ++ * they can be included in future versions of this file.  Please submit changes
> ++ * by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla)
> ++ * by filing a bug against product "EGL" component "Registry".
> ++ */
> ++
> ++#include <KHR/khrplatform.h>
> ++
> ++/* Macros used in EGL function prototype declarations.
> ++ *
> ++ * EGL functions should be prototyped as:
> ++ *
> ++ * EGLAPI return-type EGLAPIENTRY eglFunction(arguments);
> ++ * typedef return-type (EXPAPIENTRYP PFNEGLFUNCTIONPROC) (arguments);
> ++ *
> ++ * KHRONOS_APICALL and KHRONOS_APIENTRY are defined in KHR/khrplatform.h
> ++ */
> ++
> ++#ifndef EGLAPI
> ++#define EGLAPI KHRONOS_APICALL
> ++#endif
> ++
> ++#ifndef EGLAPIENTRY
> ++#define EGLAPIENTRY  KHRONOS_APIENTRY
> ++#endif
> ++#define EGLAPIENTRYP EGLAPIENTRY*
> ++
> ++/* The types NativeDisplayType, NativeWindowType, and NativePixmapType
> ++ * are aliases of window-system-dependent types, such as X Display * or
> ++ * Windows Device Context. They must be defined in platform-specific
> ++ * code below. The EGL-prefixed versions of Native*Type are the same
> ++ * types, renamed in EGL 1.3 so all types in the API start with "EGL".
> ++ *
> ++ * Khronos STRONGLY RECOMMENDS that you use the default definitions
> ++ * provided below, since these changes affect both binary and source
> ++ * portability of applications using EGL running on different EGL
> ++ * implementations.
> ++ */
> ++
> ++#if defined(_WIN32) || defined(__VC32__) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) /* Win32 and WinCE */
> ++#ifndef WIN32_LEAN_AND_MEAN
> ++#define WIN32_LEAN_AND_MEAN 1
> ++#endif
> ++#include <windows.h>
> ++
> ++typedef HDC     EGLNativeDisplayType;
> ++typedef HBITMAP EGLNativePixmapType;
> ++typedef HWND    EGLNativeWindowType;
> ++
> ++#elif defined(__WINSCW__) || defined(__SYMBIAN32__)  /* Symbian */
> ++
> ++typedef int   EGLNativeDisplayType;
> ++typedef void *EGLNativeWindowType;
> ++typedef void *EGLNativePixmapType;
> ++
> ++#elif defined(WL_EGL_PLATFORM)
> ++
> ++typedef struct wl_display     *EGLNativeDisplayType;
> ++typedef struct wl_egl_pixmap  *EGLNativePixmapType;
> ++typedef struct wl_egl_window  *EGLNativeWindowType;
> ++
> ++#elif defined(__GBM__)
> ++
> ++typedef struct gbm_device  *EGLNativeDisplayType;
> ++typedef struct gbm_bo      *EGLNativePixmapType;
> ++typedef void               *EGLNativeWindowType;
> ++
> ++#elif defined(ANDROID) /* Android */
> ++
> ++struct ANativeWindow;
> ++struct egl_native_pixmap_t;
> ++
> ++typedef struct ANativeWindow        *EGLNativeWindowType;
> ++typedef struct egl_native_pixmap_t  *EGLNativePixmapType;
> ++typedef void                        *EGLNativeDisplayType;
> ++
> ++#elif defined(__unix__)
> ++
> ++#if @MESA_EGL_NO_X11_HEADERS@
> ++
> ++typedef void            *EGLNativeDisplayType;
> ++typedef khronos_uint32_t EGLNativePixmapType;
> ++typedef khronos_uint32_t EGLNativeWindowType;
> ++
> ++#else
> ++
> ++/* X11 (tentative)  */
> ++#include <X11/Xlib.h>
> ++#include <X11/Xutil.h>
> ++
> ++typedef Display *EGLNativeDisplayType;
> ++typedef Pixmap   EGLNativePixmapType;
> ++typedef Window   EGLNativeWindowType;
> ++
> ++#endif /* MESA_EGL_NO_X11_HEADERS */
> ++
> ++#else
> ++#error "Platform not recognized"
> ++#endif
> ++
> ++/* EGL 1.2 types, renamed for consistency in EGL 1.3 */
> ++typedef EGLNativeDisplayType NativeDisplayType;
> ++typedef EGLNativePixmapType  NativePixmapType;
> ++typedef EGLNativeWindowType  NativeWindowType;
> ++
> ++
> ++/* Define EGLint. This must be a signed integral type large enough to contain
> ++ * all legal attribute names and values passed into and out of EGL, whether
> ++ * their type is boolean, bitmask, enumerant (symbolic constant), integer,
> ++ * handle, or other.  While in general a 32-bit integer will suffice, if
> ++ * handles are 64 bit types, then EGLint should be defined as a signed 64-bit
> ++ * integer type.
> ++ */
> ++typedef khronos_int32_t EGLint;
> ++
> ++#endif /* __eglplatform_h */
> +--
> +1.8.2.1
> +
> diff --git a/meta/recipes-graphics/mesa/mesa-9.1.3/0005-llvmpipe-remove-the-power-of-two-sizeof-struct-cmd_b.patch b/meta/recipes-graphics/mesa/mesa-9.1.3/0005-llvmpipe-remove-the-power-of-two-sizeof-struct-cmd_b.patch
> new file mode 100644
> index 0000000..d86421b
> --- /dev/null
> +++ b/meta/recipes-graphics/mesa/mesa-9.1.3/0005-llvmpipe-remove-the-power-of-two-sizeof-struct-cmd_b.patch
> @@ -0,0 +1,41 @@
> +From 33098ef45e6035f3348040a25641f95c95266103 Mon Sep 17 00:00:00 2001
> +From: Brian Paul <brianp@vmware.com>
> +Date: Wed, 6 Mar 2013 16:57:20 -0700
> +Subject: [PATCH 5/5] llvmpipe: remove the power of two sizeof(struct
> + cmd_block) assertion
> +MIME-Version: 1.0
> +Content-Type: text/plain; charset=UTF-8
> +Content-Transfer-Encoding: 8bit
> +
> +It fails on 32-bit systems (I only tested on 64-bit).  Power of two
> +size isn't required, so just remove the assertion.
> +
> +Reviewed-by: José Fonseca <jfonseca@vmware.com>
> +
> +Upstream-Status: Backport
> +http://cgit.freedesktop.org/mesa/mesa/commit/?id=9915636fb8afe75ee2e8e013e4f495a4cb937afb
> +---
> + src/gallium/drivers/llvmpipe/lp_scene.c | 7 -------
> + 1 file changed, 7 deletions(-)
> +
> +diff --git a/src/gallium/drivers/llvmpipe/lp_scene.c b/src/gallium/drivers/llvmpipe/lp_scene.c
> +index e145391..c88bc95 100644
> +--- a/src/gallium/drivers/llvmpipe/lp_scene.c
> ++++ b/src/gallium/drivers/llvmpipe/lp_scene.c
> +@@ -76,13 +76,6 @@ lp_scene_create( struct pipe_context *pipe )
> +       assert(maxCommandBytes < LP_SCENE_MAX_SIZE);
> +       /* We'll also need space for at least one other data block */
> +       assert(maxCommandPlusData <= LP_SCENE_MAX_SIZE);
> +-
> +-      /* Ideally, the size of a cmd_block object will be a power of two
> +-       * in order to avoid wasting space when we allocation them from
> +-       * data blocks (which are power of two also).
> +-       */
> +-      assert(sizeof(struct cmd_block) ==
> +-             util_next_power_of_two(sizeof(struct cmd_block)));
> +    }
> + #endif
> +
> +--
> +1.8.2.1
> +
> diff --git a/meta/recipes-graphics/mesa/mesa/0001-configure-Avoid-use-of-AC_CHECK_FILE-for-cross-compi.patch b/meta/recipes-graphics/mesa/mesa/0001-configure-Avoid-use-of-AC_CHECK_FILE-for-cross-compi.patch
> index 9f7002a..76b5a18 100644
> --- a/meta/recipes-graphics/mesa/mesa/0001-configure-Avoid-use-of-AC_CHECK_FILE-for-cross-compi.patch
> +++ b/meta/recipes-graphics/mesa/mesa/0001-configure-Avoid-use-of-AC_CHECK_FILE-for-cross-compi.patch
> @@ -1,7 +1,7 @@
> -From 877b8ea9a79d1d51f8e6b032801731538590d39e Mon Sep 17 00:00:00 2001
> +From e21ce89f7ae6964f196086ff325d79e4a3b5acd8 Mon Sep 17 00:00:00 2001
>  From: Jonathan Liu <net147@gmail.com>
>  Date: Tue, 4 Jun 2013 06:04:44 -0700
> -Subject: [PATCH] configure: Avoid use of AC_CHECK_FILE for cross compiling
> +Subject: [PATCH 1/4] configure: Avoid use of AC_CHECK_FILE for cross compiling
>
>  The AC_CHECK_FILE macro can't be used for cross compiling as it will
>  result in "error: cannot check for file existence when cross compiling".
> @@ -17,10 +17,10 @@ Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
>   1 file changed, 6 insertions(+), 6 deletions(-)
>
>  diff --git a/configure.ac b/configure.ac
> -index 36065f1..2b4a374 100644
> +index 70c598e..67b8c40 100644
>  --- a/configure.ac
>  +++ b/configure.ac
> -@@ -1694,8 +1694,8 @@ if test "x$enable_gallium_llvm" = xyes; then
> +@@ -1630,8 +1630,8 @@ if test "x$enable_gallium_llvm" = xyes; then
>                   CLANG_LIBDIR=${LLVM_LIBDIR}
>               fi
>               CLANG_RESOURCE_DIR=$CLANG_LIBDIR/clang/${LLVM_VERSION}
> @@ -31,7 +31,7 @@ index 36065f1..2b4a374 100644
>           fi
>       else
>         MESA_LLVM=0
> -@@ -1912,7 +1912,7 @@ if test "x$MESA_LLVM" != x0; then
> +@@ -1861,7 +1861,7 @@ if test "x$MESA_LLVM" != x0; then
>       if test "x$with_llvm_shared_libs" = xyes; then
>           dnl We can't use $LLVM_VERSION because it has 'svn' stripped out,
>           LLVM_SO_NAME=LLVM-`$LLVM_CONFIG --version`
> @@ -40,7 +40,7 @@ index 36065f1..2b4a374 100644
>
>           if test "x$llvm_have_one_so" = xyes; then
>               dnl LLVM was built using auto*, so there is only one shared object.
> -@@ -1920,8 +1920,8 @@ if test "x$MESA_LLVM" != x0; then
> +@@ -1869,8 +1869,8 @@ if test "x$MESA_LLVM" != x0; then
>           else
>               dnl If LLVM was built with CMake, there will be one shared object per
>               dnl component.
> @@ -51,7 +51,7 @@ index 36065f1..2b4a374 100644
>         Please make sure you have built llvm with the --enable-shared option
>         and that your llvm libraries are installed in $LLVM_LIBDIR
>         If you have installed your llvm libraries to a different directory you
> -@@ -1932,7 +1932,7 @@ if test "x$MESA_LLVM" != x0; then
> +@@ -1881,7 +1881,7 @@ if test "x$MESA_LLVM" != x0; then
>                 --enable-opencl
>         If you do not want to build with llvm shared libraries and instead want to
>         use llvm static libraries then remove these options from your configure
> diff --git a/meta/recipes-graphics/mesa/mesa/0001-llvmpipe-remove-the-power-of-two-sizeof-struct-cmd_b.patch b/meta/recipes-graphics/mesa/mesa/0001-llvmpipe-remove-the-power-of-two-sizeof-struct-cmd_b.patch
> deleted file mode 100644
> index b74fddc..0000000
> --- a/meta/recipes-graphics/mesa/mesa/0001-llvmpipe-remove-the-power-of-two-sizeof-struct-cmd_b.patch
> +++ /dev/null
> @@ -1,42 +0,0 @@
> -From 9915636fb8afe75ee2e8e013e4f495a4cb937afb Mon Sep 17 00:00:00 2001
> -From: Brian Paul <brianp@vmware.com>
> -Date: Wed, 6 Mar 2013 16:57:20 -0700
> -Subject: [PATCH] llvmpipe: remove the power of two sizeof(struct cmd_block)
> - assertion
> -MIME-Version: 1.0
> -Content-Type: text/plain; charset=UTF-8
> -Content-Transfer-Encoding: 8bit
> -
> -It fails on 32-bit systems (I only tested on 64-bit).  Power of two
> -size isn't required, so just remove the assertion.
> -
> -Reviewed-by: José Fonseca <jfonseca@vmware.com>
> -
> -Upstream-Status: Backport
> -http://cgit.freedesktop.org/mesa/mesa/commit/?id=9915636fb8afe75ee2e8e013e4f495a4cb937afb
> -
> ----
> - src/gallium/drivers/llvmpipe/lp_scene.c | 7 -------
> - 1 file changed, 7 deletions(-)
> -
> -diff --git a/src/gallium/drivers/llvmpipe/lp_scene.c b/src/gallium/drivers/llvmpipe/lp_scene.c
> -index dd0943e..a0912eb 100644
> ---- a/src/gallium/drivers/llvmpipe/lp_scene.c
> -+++ b/src/gallium/drivers/llvmpipe/lp_scene.c
> -@@ -76,13 +76,6 @@ lp_scene_create( struct pipe_context *pipe )
> -       assert(maxCommandBytes < LP_SCENE_MAX_SIZE);
> -       /* We'll also need space for at least one other data block */
> -       assert(maxCommandPlusData <= LP_SCENE_MAX_SIZE);
> --
> --      /* Ideally, the size of a cmd_block object will be a power of two
> --       * in order to avoid wasting space when we allocation them from
> --       * data blocks (which are power of two also).
> --       */
> --      assert(sizeof(struct cmd_block) ==
> --             util_next_power_of_two(sizeof(struct cmd_block)));
> -    }
> - #endif
> -
> ---
> -1.8.3
> -
> diff --git a/meta/recipes-graphics/mesa/mesa/0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch b/meta/recipes-graphics/mesa/mesa/0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch
> new file mode 100644
> index 0000000..d6ddd9a
> --- /dev/null
> +++ b/meta/recipes-graphics/mesa/mesa/0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch
> @@ -0,0 +1,356 @@
> +From 8d31ae23683394617c49301b039b3a069b9ea436 Mon Sep 17 00:00:00 2001
> +From: Daniel Stone <daniel@fooishbar.org>
> +Date: Fri, 24 May 2013 17:20:27 +0100
> +Subject: [PATCH 3/4] EGL: Mutate NativeDisplayType depending on config
> +
> +If we go through ./configure without enabling X11 anywhere, then set the
> +fallback types for EGL NativeDisplay and friends, rather than assuming
> +X11/Xlib.
> +
> +Signed-off-by: Daniel Stone <daniel@fooishbar.org>
> +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
> +---
> + configure.ac                 |   5 ++
> + include/EGL/eglplatform.h    | 146 -------------------------------------------
> + include/EGL/eglplatform.h.in | 146 +++++++++++++++++++++++++++++++++++++++++++
> + 3 files changed, 151 insertions(+), 146 deletions(-)
> + delete mode 100644 include/EGL/eglplatform.h
> + create mode 100644 include/EGL/eglplatform.h.in
> +
> +diff --git a/configure.ac b/configure.ac
> +index 67b8c40..afc3217 100644
> +--- a/configure.ac
> ++++ b/configure.ac
> +@@ -1499,6 +1499,9 @@ EGL_PLATFORMS="$egl_platforms"
> +
> + if echo "$egl_platforms" | grep 'x11' >/dev/null 2>&1; then
> +     NEED_WINSYS_XLIB=yes
> ++    MESA_EGL_NO_X11_HEADERS=0
> ++else
> ++    MESA_EGL_NO_X11_HEADERS=1
> + fi
> + AM_CONDITIONAL(HAVE_EGL_PLATFORM_X11, echo "$egl_platforms" | grep 'x11' >/dev/null 2>&1)
> + AM_CONDITIONAL(HAVE_EGL_PLATFORM_WAYLAND, echo "$egl_platforms" | grep 'wayland' >/dev/null 2>&1)
> +@@ -1512,6 +1515,7 @@ AM_CONDITIONAL(HAVE_EGL_DRIVER_GLX, test "x$HAVE_EGL_DRIVER_GLX" != "x")
> + AC_SUBST([EGL_NATIVE_PLATFORM])
> + AC_SUBST([EGL_PLATFORMS])
> + AC_SUBST([EGL_CFLAGS])
> ++AC_SUBST([MESA_EGL_NO_X11_HEADERS])
> +
> + AC_ARG_WITH([egl-driver-dir],
> +     [AS_HELP_STRING([--with-egl-driver-dir=DIR],
> +@@ -1991,6 +1995,7 @@ CXXFLAGS="$CXXFLAGS $USER_CXXFLAGS"
> +
> + dnl Substitute the config
> + AC_CONFIG_FILES([Makefile
> ++              include/EGL/eglplatform.h
> +               src/Makefile
> +               src/egl/Makefile
> +               src/egl/drivers/Makefile
> +diff --git a/include/EGL/eglplatform.h b/include/EGL/eglplatform.h
> +deleted file mode 100644
> +index 17fdc61..0000000
> +--- a/include/EGL/eglplatform.h
> ++++ /dev/null
> +@@ -1,146 +0,0 @@
> +-#ifndef __eglplatform_h_
> +-#define __eglplatform_h_
> +-
> +-/*
> +-** Copyright (c) 2007-2009 The Khronos Group Inc.
> +-**
> +-** Permission is hereby granted, free of charge, to any person obtaining a
> +-** copy of this software and/or associated documentation files (the
> +-** "Materials"), to deal in the Materials without restriction, including
> +-** without limitation the rights to use, copy, modify, merge, publish,
> +-** distribute, sublicense, and/or sell copies of the Materials, and to
> +-** permit persons to whom the Materials are furnished to do so, subject to
> +-** the following conditions:
> +-**
> +-** The above copyright notice and this permission notice shall be included
> +-** in all copies or substantial portions of the Materials.
> +-**
> +-** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
> +-** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
> +-** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
> +-** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
> +-** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
> +-** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
> +-** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
> +-*/
> +-
> +-/* Platform-specific types and definitions for egl.h
> +- * $Revision: 12306 $ on $Date: 2010-08-25 09:51:28 -0700 (Wed, 25 Aug 2010) $
> +- *
> +- * Adopters may modify khrplatform.h and this file to suit their platform.
> +- * You are encouraged to submit all modifications to the Khronos group so that
> +- * they can be included in future versions of this file.  Please submit changes
> +- * by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla)
> +- * by filing a bug against product "EGL" component "Registry".
> +- */
> +-
> +-#include <KHR/khrplatform.h>
> +-
> +-/* Macros used in EGL function prototype declarations.
> +- *
> +- * EGL functions should be prototyped as:
> +- *
> +- * EGLAPI return-type EGLAPIENTRY eglFunction(arguments);
> +- * typedef return-type (EXPAPIENTRYP PFNEGLFUNCTIONPROC) (arguments);
> +- *
> +- * KHRONOS_APICALL and KHRONOS_APIENTRY are defined in KHR/khrplatform.h
> +- */
> +-
> +-#ifndef EGLAPI
> +-#define EGLAPI KHRONOS_APICALL
> +-#endif
> +-
> +-#ifndef EGLAPIENTRY
> +-#define EGLAPIENTRY  KHRONOS_APIENTRY
> +-#endif
> +-#define EGLAPIENTRYP EGLAPIENTRY*
> +-
> +-/* The types NativeDisplayType, NativeWindowType, and NativePixmapType
> +- * are aliases of window-system-dependent types, such as X Display * or
> +- * Windows Device Context. They must be defined in platform-specific
> +- * code below. The EGL-prefixed versions of Native*Type are the same
> +- * types, renamed in EGL 1.3 so all types in the API start with "EGL".
> +- *
> +- * Khronos STRONGLY RECOMMENDS that you use the default definitions
> +- * provided below, since these changes affect both binary and source
> +- * portability of applications using EGL running on different EGL
> +- * implementations.
> +- */
> +-
> +-#if defined(_WIN32) || defined(__VC32__) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) /* Win32 and WinCE */
> +-#ifndef WIN32_LEAN_AND_MEAN
> +-#define WIN32_LEAN_AND_MEAN 1
> +-#endif
> +-#include <windows.h>
> +-
> +-typedef HDC     EGLNativeDisplayType;
> +-typedef HBITMAP EGLNativePixmapType;
> +-typedef HWND    EGLNativeWindowType;
> +-
> +-#elif defined(__WINSCW__) || defined(__SYMBIAN32__)  /* Symbian */
> +-
> +-typedef int   EGLNativeDisplayType;
> +-typedef void *EGLNativeWindowType;
> +-typedef void *EGLNativePixmapType;
> +-
> +-#elif defined(WL_EGL_PLATFORM)
> +-
> +-typedef struct wl_display     *EGLNativeDisplayType;
> +-typedef struct wl_egl_pixmap  *EGLNativePixmapType;
> +-typedef struct wl_egl_window  *EGLNativeWindowType;
> +-
> +-#elif defined(__GBM__)
> +-
> +-typedef struct gbm_device  *EGLNativeDisplayType;
> +-typedef struct gbm_bo      *EGLNativePixmapType;
> +-typedef void               *EGLNativeWindowType;
> +-
> +-#elif defined(ANDROID) /* Android */
> +-
> +-struct ANativeWindow;
> +-struct egl_native_pixmap_t;
> +-
> +-typedef struct ANativeWindow        *EGLNativeWindowType;
> +-typedef struct egl_native_pixmap_t  *EGLNativePixmapType;
> +-typedef void                        *EGLNativeDisplayType;
> +-
> +-#elif defined(__unix__)
> +-
> +-#ifdef MESA_EGL_NO_X11_HEADERS
> +-
> +-typedef void            *EGLNativeDisplayType;
> +-typedef khronos_uint32_t EGLNativePixmapType;
> +-typedef khronos_uint32_t EGLNativeWindowType;
> +-
> +-#else
> +-
> +-/* X11 (tentative)  */
> +-#include <X11/Xlib.h>
> +-#include <X11/Xutil.h>
> +-
> +-typedef Display *EGLNativeDisplayType;
> +-typedef Pixmap   EGLNativePixmapType;
> +-typedef Window   EGLNativeWindowType;
> +-
> +-#endif /* MESA_EGL_NO_X11_HEADERS */
> +-
> +-#else
> +-#error "Platform not recognized"
> +-#endif
> +-
> +-/* EGL 1.2 types, renamed for consistency in EGL 1.3 */
> +-typedef EGLNativeDisplayType NativeDisplayType;
> +-typedef EGLNativePixmapType  NativePixmapType;
> +-typedef EGLNativeWindowType  NativeWindowType;
> +-
> +-
> +-/* Define EGLint. This must be a signed integral type large enough to contain
> +- * all legal attribute names and values passed into and out of EGL, whether
> +- * their type is boolean, bitmask, enumerant (symbolic constant), integer,
> +- * handle, or other.  While in general a 32-bit integer will suffice, if
> +- * handles are 64 bit types, then EGLint should be defined as a signed 64-bit
> +- * integer type.
> +- */
> +-typedef khronos_int32_t EGLint;
> +-
> +-#endif /* __eglplatform_h */
> +diff --git a/include/EGL/eglplatform.h.in b/include/EGL/eglplatform.h.in
> +new file mode 100644
> +index 0000000..5126c92
> +--- /dev/null
> ++++ b/include/EGL/eglplatform.h.in
> +@@ -0,0 +1,146 @@
> ++#ifndef __eglplatform_h_
> ++#define __eglplatform_h_
> ++
> ++/*
> ++** Copyright (c) 2007-2009 The Khronos Group Inc.
> ++**
> ++** Permission is hereby granted, free of charge, to any person obtaining a
> ++** copy of this software and/or associated documentation files (the
> ++** "Materials"), to deal in the Materials without restriction, including
> ++** without limitation the rights to use, copy, modify, merge, publish,
> ++** distribute, sublicense, and/or sell copies of the Materials, and to
> ++** permit persons to whom the Materials are furnished to do so, subject to
> ++** the following conditions:
> ++**
> ++** The above copyright notice and this permission notice shall be included
> ++** in all copies or substantial portions of the Materials.
> ++**
> ++** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
> ++** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
> ++** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
> ++** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
> ++** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
> ++** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
> ++** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
> ++*/
> ++
> ++/* Platform-specific types and definitions for egl.h
> ++ * $Revision: 12306 $ on $Date: 2010-08-25 09:51:28 -0700 (Wed, 25 Aug 2010) $
> ++ *
> ++ * Adopters may modify khrplatform.h and this file to suit their platform.
> ++ * You are encouraged to submit all modifications to the Khronos group so that
> ++ * they can be included in future versions of this file.  Please submit changes
> ++ * by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla)
> ++ * by filing a bug against product "EGL" component "Registry".
> ++ */
> ++
> ++#include <KHR/khrplatform.h>
> ++
> ++/* Macros used in EGL function prototype declarations.
> ++ *
> ++ * EGL functions should be prototyped as:
> ++ *
> ++ * EGLAPI return-type EGLAPIENTRY eglFunction(arguments);
> ++ * typedef return-type (EXPAPIENTRYP PFNEGLFUNCTIONPROC) (arguments);
> ++ *
> ++ * KHRONOS_APICALL and KHRONOS_APIENTRY are defined in KHR/khrplatform.h
> ++ */
> ++
> ++#ifndef EGLAPI
> ++#define EGLAPI KHRONOS_APICALL
> ++#endif
> ++
> ++#ifndef EGLAPIENTRY
> ++#define EGLAPIENTRY  KHRONOS_APIENTRY
> ++#endif
> ++#define EGLAPIENTRYP EGLAPIENTRY*
> ++
> ++/* The types NativeDisplayType, NativeWindowType, and NativePixmapType
> ++ * are aliases of window-system-dependent types, such as X Display * or
> ++ * Windows Device Context. They must be defined in platform-specific
> ++ * code below. The EGL-prefixed versions of Native*Type are the same
> ++ * types, renamed in EGL 1.3 so all types in the API start with "EGL".
> ++ *
> ++ * Khronos STRONGLY RECOMMENDS that you use the default definitions
> ++ * provided below, since these changes affect both binary and source
> ++ * portability of applications using EGL running on different EGL
> ++ * implementations.
> ++ */
> ++
> ++#if defined(_WIN32) || defined(__VC32__) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) /* Win32 and WinCE */
> ++#ifndef WIN32_LEAN_AND_MEAN
> ++#define WIN32_LEAN_AND_MEAN 1
> ++#endif
> ++#include <windows.h>
> ++
> ++typedef HDC     EGLNativeDisplayType;
> ++typedef HBITMAP EGLNativePixmapType;
> ++typedef HWND    EGLNativeWindowType;
> ++
> ++#elif defined(__WINSCW__) || defined(__SYMBIAN32__)  /* Symbian */
> ++
> ++typedef int   EGLNativeDisplayType;
> ++typedef void *EGLNativeWindowType;
> ++typedef void *EGLNativePixmapType;
> ++
> ++#elif defined(WL_EGL_PLATFORM)
> ++
> ++typedef struct wl_display     *EGLNativeDisplayType;
> ++typedef struct wl_egl_pixmap  *EGLNativePixmapType;
> ++typedef struct wl_egl_window  *EGLNativeWindowType;
> ++
> ++#elif defined(__GBM__)
> ++
> ++typedef struct gbm_device  *EGLNativeDisplayType;
> ++typedef struct gbm_bo      *EGLNativePixmapType;
> ++typedef void               *EGLNativeWindowType;
> ++
> ++#elif defined(ANDROID) /* Android */
> ++
> ++struct ANativeWindow;
> ++struct egl_native_pixmap_t;
> ++
> ++typedef struct ANativeWindow        *EGLNativeWindowType;
> ++typedef struct egl_native_pixmap_t  *EGLNativePixmapType;
> ++typedef void                        *EGLNativeDisplayType;
> ++
> ++#elif defined(__unix__)
> ++
> ++#if @MESA_EGL_NO_X11_HEADERS@
> ++
> ++typedef void            *EGLNativeDisplayType;
> ++typedef khronos_uint32_t EGLNativePixmapType;
> ++typedef khronos_uint32_t EGLNativeWindowType;
> ++
> ++#else
> ++
> ++/* X11 (tentative)  */
> ++#include <X11/Xlib.h>
> ++#include <X11/Xutil.h>
> ++
> ++typedef Display *EGLNativeDisplayType;
> ++typedef Pixmap   EGLNativePixmapType;
> ++typedef Window   EGLNativeWindowType;
> ++
> ++#endif /* MESA_EGL_NO_X11_HEADERS */
> ++
> ++#else
> ++#error "Platform not recognized"
> ++#endif
> ++
> ++/* EGL 1.2 types, renamed for consistency in EGL 1.3 */
> ++typedef EGLNativeDisplayType NativeDisplayType;
> ++typedef EGLNativePixmapType  NativePixmapType;
> ++typedef EGLNativeWindowType  NativeWindowType;
> ++
> ++
> ++/* Define EGLint. This must be a signed integral type large enough to contain
> ++ * all legal attribute names and values passed into and out of EGL, whether
> ++ * their type is boolean, bitmask, enumerant (symbolic constant), integer,
> ++ * handle, or other.  While in general a 32-bit integer will suffice, if
> ++ * handles are 64 bit types, then EGLint should be defined as a signed 64-bit
> ++ * integer type.
> ++ */
> ++typedef khronos_int32_t EGLint;
> ++
> ++#endif /* __eglplatform_h */
> +--
> +1.8.2.1
> +
> diff --git a/meta/recipes-graphics/mesa/mesa/0004-glsl-fix-builtin_compiler-cross-compilation.patch b/meta/recipes-graphics/mesa/mesa/0004-glsl-fix-builtin_compiler-cross-compilation.patch
> new file mode 100644
> index 0000000..460a274
> --- /dev/null
> +++ b/meta/recipes-graphics/mesa/mesa/0004-glsl-fix-builtin_compiler-cross-compilation.patch
> @@ -0,0 +1,54 @@
> +From ab38c97f057f739533a4e1fc9de51ea5f4e6242d Mon Sep 17 00:00:00 2001
> +From: Jonathan Liu <net147@gmail.com>
> +Date: Sat, 29 Jun 2013 11:37:20 +0200
> +Subject: [PATCH 4/4] glsl: fix builtin_compiler cross-compilation
> +
> +The target libtool is used when building host binaries, which predictably
> +doesn't work.
> +
> +Upstream-Status: Submitted https://bugs.freedesktop.org/show_bug.cgi?id=44618
> +Signed-off-by: Jonathan Liu <net147@gmail.com>
> +Signed-off-by: Ross Burton <ross.burton@intel.com>
> +---
> + src/glsl/builtin_compiler/Makefile.am | 13 +++++++++++++
> + 1 file changed, 13 insertions(+)
> +
> +diff --git a/src/glsl/builtin_compiler/Makefile.am b/src/glsl/builtin_compiler/Makefile.am
> +index e11a17f..8ebe0a2 100644
> +--- a/src/glsl/builtin_compiler/Makefile.am
> ++++ b/src/glsl/builtin_compiler/Makefile.am
> +@@ -64,6 +64,8 @@ AM_CXXFLAGS = $(AM_CFLAGS)
> + include ../Makefile.sources
> +
> + noinst_PROGRAMS = builtin_compiler
> ++
> ++if !CROSS_COMPILING
> + noinst_LTLIBRARIES = libglslcore.la libglcpp.la
> +
> + libglcpp_la_SOURCES =                                 \
> +@@ -73,6 +75,7 @@ libglcpp_la_SOURCES =                                        \
> + libglslcore_la_SOURCES =                              \
> +       $(BUILTIN_COMPILER_GENERATED_CXX_FILES)         \
> +       $(LIBGLSL_FILES)
> ++endif
> +
> + builtin_compiler_SOURCES = \
> +       $(top_srcdir)/src/mesa/main/hash_table.c        \
> +@@ -81,4 +84,14 @@ builtin_compiler_SOURCES = \
> +       $(top_srcdir)/src/mesa/program/symbol_table.c   \
> +       $(BUILTIN_COMPILER_CXX_FILES)                   \
> +       $(GLSL_COMPILER_CXX_FILES)
> ++
> ++if CROSS_COMPILING
> ++builtin_compiler_SOURCES += \
> ++      $(LIBGLCPP_GENERATED_FILES) \
> ++      $(LIBGLCPP_FILES) \
> ++      $(BUILTIN_COMPILER_GENERATED_CXX_FILES) \
> ++      $(LIBGLSL_FILES)
> ++builtin_compiler_CPPFLAGS = $(AM_CPPFLAGS)
> ++else
> + builtin_compiler_LDADD = libglslcore.la libglcpp.la
> ++endif
> +--
> +1.8.2.1
> +
> diff --git a/meta/recipes-graphics/mesa/mesa/EGL-Mutate-NativeDisplayType-depending-on-config.patch b/meta/recipes-graphics/mesa/mesa/EGL-Mutate-NativeDisplayType-depending-on-config.patch
> deleted file mode 100644
> index 47ba167..0000000
> --- a/meta/recipes-graphics/mesa/mesa/EGL-Mutate-NativeDisplayType-depending-on-config.patch
> +++ /dev/null
> @@ -1,358 +0,0 @@
> -From d52a7ec5dcdf3936bd727b854831efb90acfd2ba Mon Sep 17 00:00:00 2001
> -From: Daniel Stone <daniel@fooishbar.org>
> -Date: Fri, 24 May 2013 17:20:27 +0100
> -Subject: [PATCH] EGL: Mutate NativeDisplayType depending on config
> -
> -If we go through ./configure without enabling X11 anywhere, then set the
> -fallback types for EGL NativeDisplay and friends, rather than assuming
> -X11/Xlib.
> -
> -Signed-off-by: Daniel Stone <daniel@fooishbar.org>
> ----
> - configure.ac                 |    9 +++
> - include/EGL/eglplatform.h    |  146 ------------------------------------------
> - include/EGL/eglplatform.h.in |  146 ++++++++++++++++++++++++++++++++++++++++++
> - 3 files changed, 155 insertions(+), 146 deletions(-)
> - delete mode 100644 include/EGL/eglplatform.h
> - create mode 100644 include/EGL/eglplatform.h.in
> -
> -diff --git a/configure.ac b/configure.ac
> -index 4a98996..6fa77da 100644
> ---- a/configure.ac
> -+++ b/configure.ac
> -@@ -1576,12 +1576,20 @@ fi
> -
> - EGL_PLATFORMS="$egl_platforms"
> -
> -+if echo "$egl_platforms" | grep 'x11' >/dev/null 2>&1; then
> -+    MESA_EGL_NO_X11_HEADERS=0
> -+else
> -+    MESA_EGL_NO_X11_HEADERS=1
> -+fi
> -+
> - AM_CONDITIONAL(HAVE_EGL_PLATFORM_X11, echo "$egl_platforms" | grep 'x11' >/dev/null 2>&1)
> - AM_CONDITIONAL(HAVE_EGL_PLATFORM_WAYLAND, echo "$egl_platforms" | grep 'wayland' >/dev/null 2>&1)
> - AM_CONDITIONAL(HAVE_EGL_PLATFORM_DRM, echo "$egl_platforms" | grep 'drm' >/dev/null 2>&1)
> - AM_CONDITIONAL(HAVE_EGL_PLATFORM_FBDEV, echo "$egl_platforms" | grep 'fbdev' >/dev/null 2>&1)
> - AM_CONDITIONAL(HAVE_EGL_PLATFORM_NULL, echo "$egl_platforms" | grep 'null' >/dev/null 2>&1)
> -
> -+AC_SUBST([MESA_EGL_NO_X11_HEADERS])
> -+
> - AM_CONDITIONAL(HAVE_EGL_DRIVER_DRI2, test "x$HAVE_EGL_DRIVER_DRI2" != "x")
> - AM_CONDITIONAL(HAVE_EGL_DRIVER_GLX, test "x$HAVE_EGL_DRIVER_GLX" != "x")
> -
> -@@ -2053,6 +2061,7 @@ CXXFLAGS="$CXXFLAGS $USER_CXXFLAGS"
> -
> - dnl Substitute the config
> - AC_CONFIG_FILES([Makefile
> -+                include/EGL/eglplatform.h
> -               src/Makefile
> -               src/egl/Makefile
> -               src/egl/drivers/Makefile
> -diff --git a/include/EGL/eglplatform.h b/include/EGL/eglplatform.h
> -deleted file mode 100644
> -index 17fdc61..0000000
> ---- a/include/EGL/eglplatform.h
> -+++ /dev/null
> -@@ -1,146 +0,0 @@
> --#ifndef __eglplatform_h_
> --#define __eglplatform_h_
> --
> --/*
> --** Copyright (c) 2007-2009 The Khronos Group Inc.
> --**
> --** Permission is hereby granted, free of charge, to any person obtaining a
> --** copy of this software and/or associated documentation files (the
> --** "Materials"), to deal in the Materials without restriction, including
> --** without limitation the rights to use, copy, modify, merge, publish,
> --** distribute, sublicense, and/or sell copies of the Materials, and to
> --** permit persons to whom the Materials are furnished to do so, subject to
> --** the following conditions:
> --**
> --** The above copyright notice and this permission notice shall be included
> --** in all copies or substantial portions of the Materials.
> --**
> --** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
> --** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
> --** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
> --** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
> --** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
> --** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
> --** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
> --*/
> --
> --/* Platform-specific types and definitions for egl.h
> -- * $Revision: 12306 $ on $Date: 2010-08-25 09:51:28 -0700 (Wed, 25 Aug 2010) $
> -- *
> -- * Adopters may modify khrplatform.h and this file to suit their platform.
> -- * You are encouraged to submit all modifications to the Khronos group so that
> -- * they can be included in future versions of this file.  Please submit changes
> -- * by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla)
> -- * by filing a bug against product "EGL" component "Registry".
> -- */
> --
> --#include <KHR/khrplatform.h>
> --
> --/* Macros used in EGL function prototype declarations.
> -- *
> -- * EGL functions should be prototyped as:
> -- *
> -- * EGLAPI return-type EGLAPIENTRY eglFunction(arguments);
> -- * typedef return-type (EXPAPIENTRYP PFNEGLFUNCTIONPROC) (arguments);
> -- *
> -- * KHRONOS_APICALL and KHRONOS_APIENTRY are defined in KHR/khrplatform.h
> -- */
> --
> --#ifndef EGLAPI
> --#define EGLAPI KHRONOS_APICALL
> --#endif
> --
> --#ifndef EGLAPIENTRY
> --#define EGLAPIENTRY  KHRONOS_APIENTRY
> --#endif
> --#define EGLAPIENTRYP EGLAPIENTRY*
> --
> --/* The types NativeDisplayType, NativeWindowType, and NativePixmapType
> -- * are aliases of window-system-dependent types, such as X Display * or
> -- * Windows Device Context. They must be defined in platform-specific
> -- * code below. The EGL-prefixed versions of Native*Type are the same
> -- * types, renamed in EGL 1.3 so all types in the API start with "EGL".
> -- *
> -- * Khronos STRONGLY RECOMMENDS that you use the default definitions
> -- * provided below, since these changes affect both binary and source
> -- * portability of applications using EGL running on different EGL
> -- * implementations.
> -- */
> --
> --#if defined(_WIN32) || defined(__VC32__) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) /* Win32 and WinCE */
> --#ifndef WIN32_LEAN_AND_MEAN
> --#define WIN32_LEAN_AND_MEAN 1
> --#endif
> --#include <windows.h>
> --
> --typedef HDC     EGLNativeDisplayType;
> --typedef HBITMAP EGLNativePixmapType;
> --typedef HWND    EGLNativeWindowType;
> --
> --#elif defined(__WINSCW__) || defined(__SYMBIAN32__)  /* Symbian */
> --
> --typedef int   EGLNativeDisplayType;
> --typedef void *EGLNativeWindowType;
> --typedef void *EGLNativePixmapType;
> --
> --#elif defined(WL_EGL_PLATFORM)
> --
> --typedef struct wl_display     *EGLNativeDisplayType;
> --typedef struct wl_egl_pixmap  *EGLNativePixmapType;
> --typedef struct wl_egl_window  *EGLNativeWindowType;
> --
> --#elif defined(__GBM__)
> --
> --typedef struct gbm_device  *EGLNativeDisplayType;
> --typedef struct gbm_bo      *EGLNativePixmapType;
> --typedef void               *EGLNativeWindowType;
> --
> --#elif defined(ANDROID) /* Android */
> --
> --struct ANativeWindow;
> --struct egl_native_pixmap_t;
> --
> --typedef struct ANativeWindow        *EGLNativeWindowType;
> --typedef struct egl_native_pixmap_t  *EGLNativePixmapType;
> --typedef void                        *EGLNativeDisplayType;
> --
> --#elif defined(__unix__)
> --
> --#ifdef MESA_EGL_NO_X11_HEADERS
> --
> --typedef void            *EGLNativeDisplayType;
> --typedef khronos_uint32_t EGLNativePixmapType;
> --typedef khronos_uint32_t EGLNativeWindowType;
> --
> --#else
> --
> --/* X11 (tentative)  */
> --#include <X11/Xlib.h>
> --#include <X11/Xutil.h>
> --
> --typedef Display *EGLNativeDisplayType;
> --typedef Pixmap   EGLNativePixmapType;
> --typedef Window   EGLNativeWindowType;
> --
> --#endif /* MESA_EGL_NO_X11_HEADERS */
> --
> --#else
> --#error "Platform not recognized"
> --#endif
> --
> --/* EGL 1.2 types, renamed for consistency in EGL 1.3 */
> --typedef EGLNativeDisplayType NativeDisplayType;
> --typedef EGLNativePixmapType  NativePixmapType;
> --typedef EGLNativeWindowType  NativeWindowType;
> --
> --
> --/* Define EGLint. This must be a signed integral type large enough to contain
> -- * all legal attribute names and values passed into and out of EGL, whether
> -- * their type is boolean, bitmask, enumerant (symbolic constant), integer,
> -- * handle, or other.  While in general a 32-bit integer will suffice, if
> -- * handles are 64 bit types, then EGLint should be defined as a signed 64-bit
> -- * integer type.
> -- */
> --typedef khronos_int32_t EGLint;
> --
> --#endif /* __eglplatform_h */
> -diff --git a/include/EGL/eglplatform.h.in b/include/EGL/eglplatform.h.in
> -new file mode 100644
> -index 0000000..5126c92
> ---- /dev/null
> -+++ b/include/EGL/eglplatform.h.in
> -@@ -0,0 +1,146 @@
> -+#ifndef __eglplatform_h_
> -+#define __eglplatform_h_
> -+
> -+/*
> -+** Copyright (c) 2007-2009 The Khronos Group Inc.
> -+**
> -+** Permission is hereby granted, free of charge, to any person obtaining a
> -+** copy of this software and/or associated documentation files (the
> -+** "Materials"), to deal in the Materials without restriction, including
> -+** without limitation the rights to use, copy, modify, merge, publish,
> -+** distribute, sublicense, and/or sell copies of the Materials, and to
> -+** permit persons to whom the Materials are furnished to do so, subject to
> -+** the following conditions:
> -+**
> -+** The above copyright notice and this permission notice shall be included
> -+** in all copies or substantial portions of the Materials.
> -+**
> -+** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
> -+** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
> -+** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
> -+** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
> -+** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
> -+** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
> -+** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
> -+*/
> -+
> -+/* Platform-specific types and definitions for egl.h
> -+ * $Revision: 12306 $ on $Date: 2010-08-25 09:51:28 -0700 (Wed, 25 Aug 2010) $
> -+ *
> -+ * Adopters may modify khrplatform.h and this file to suit their platform.
> -+ * You are encouraged to submit all modifications to the Khronos group so that
> -+ * they can be included in future versions of this file.  Please submit changes
> -+ * by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla)
> -+ * by filing a bug against product "EGL" component "Registry".
> -+ */
> -+
> -+#include <KHR/khrplatform.h>
> -+
> -+/* Macros used in EGL function prototype declarations.
> -+ *
> -+ * EGL functions should be prototyped as:
> -+ *
> -+ * EGLAPI return-type EGLAPIENTRY eglFunction(arguments);
> -+ * typedef return-type (EXPAPIENTRYP PFNEGLFUNCTIONPROC) (arguments);
> -+ *
> -+ * KHRONOS_APICALL and KHRONOS_APIENTRY are defined in KHR/khrplatform.h
> -+ */
> -+
> -+#ifndef EGLAPI
> -+#define EGLAPI KHRONOS_APICALL
> -+#endif
> -+
> -+#ifndef EGLAPIENTRY
> -+#define EGLAPIENTRY  KHRONOS_APIENTRY
> -+#endif
> -+#define EGLAPIENTRYP EGLAPIENTRY*
> -+
> -+/* The types NativeDisplayType, NativeWindowType, and NativePixmapType
> -+ * are aliases of window-system-dependent types, such as X Display * or
> -+ * Windows Device Context. They must be defined in platform-specific
> -+ * code below. The EGL-prefixed versions of Native*Type are the same
> -+ * types, renamed in EGL 1.3 so all types in the API start with "EGL".
> -+ *
> -+ * Khronos STRONGLY RECOMMENDS that you use the default definitions
> -+ * provided below, since these changes affect both binary and source
> -+ * portability of applications using EGL running on different EGL
> -+ * implementations.
> -+ */
> -+
> -+#if defined(_WIN32) || defined(__VC32__) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) /* Win32 and WinCE */
> -+#ifndef WIN32_LEAN_AND_MEAN
> -+#define WIN32_LEAN_AND_MEAN 1
> -+#endif
> -+#include <windows.h>
> -+
> -+typedef HDC     EGLNativeDisplayType;
> -+typedef HBITMAP EGLNativePixmapType;
> -+typedef HWND    EGLNativeWindowType;
> -+
> -+#elif defined(__WINSCW__) || defined(__SYMBIAN32__)  /* Symbian */
> -+
> -+typedef int   EGLNativeDisplayType;
> -+typedef void *EGLNativeWindowType;
> -+typedef void *EGLNativePixmapType;
> -+
> -+#elif defined(WL_EGL_PLATFORM)
> -+
> -+typedef struct wl_display     *EGLNativeDisplayType;
> -+typedef struct wl_egl_pixmap  *EGLNativePixmapType;
> -+typedef struct wl_egl_window  *EGLNativeWindowType;
> -+
> -+#elif defined(__GBM__)
> -+
> -+typedef struct gbm_device  *EGLNativeDisplayType;
> -+typedef struct gbm_bo      *EGLNativePixmapType;
> -+typedef void               *EGLNativeWindowType;
> -+
> -+#elif defined(ANDROID) /* Android */
> -+
> -+struct ANativeWindow;
> -+struct egl_native_pixmap_t;
> -+
> -+typedef struct ANativeWindow        *EGLNativeWindowType;
> -+typedef struct egl_native_pixmap_t  *EGLNativePixmapType;
> -+typedef void                        *EGLNativeDisplayType;
> -+
> -+#elif defined(__unix__)
> -+
> -+#if @MESA_EGL_NO_X11_HEADERS@
> -+
> -+typedef void            *EGLNativeDisplayType;
> -+typedef khronos_uint32_t EGLNativePixmapType;
> -+typedef khronos_uint32_t EGLNativeWindowType;
> -+
> -+#else
> -+
> -+/* X11 (tentative)  */
> -+#include <X11/Xlib.h>
> -+#include <X11/Xutil.h>
> -+
> -+typedef Display *EGLNativeDisplayType;
> -+typedef Pixmap   EGLNativePixmapType;
> -+typedef Window   EGLNativeWindowType;
> -+
> -+#endif /* MESA_EGL_NO_X11_HEADERS */
> -+
> -+#else
> -+#error "Platform not recognized"
> -+#endif
> -+
> -+/* EGL 1.2 types, renamed for consistency in EGL 1.3 */
> -+typedef EGLNativeDisplayType NativeDisplayType;
> -+typedef EGLNativePixmapType  NativePixmapType;
> -+typedef EGLNativeWindowType  NativeWindowType;
> -+
> -+
> -+/* Define EGLint. This must be a signed integral type large enough to contain
> -+ * all legal attribute names and values passed into and out of EGL, whether
> -+ * their type is boolean, bitmask, enumerant (symbolic constant), integer,
> -+ * handle, or other.  While in general a 32-bit integer will suffice, if
> -+ * handles are 64 bit types, then EGLint should be defined as a signed 64-bit
> -+ * integer type.
> -+ */
> -+typedef khronos_int32_t EGLint;
> -+
> -+#endif /* __eglplatform_h */
> ---
> -1.7.10.4
> -
> diff --git a/meta/recipes-graphics/mesa/mesa/fix-glsl-cross.patch b/meta/recipes-graphics/mesa/mesa/fix-glsl-cross.patch
> deleted file mode 100644
> index 34226ea..0000000
> --- a/meta/recipes-graphics/mesa/mesa/fix-glsl-cross.patch
> +++ /dev/null
> @@ -1,43 +0,0 @@
> -The target libtool is used when building host binaries, which predictably
> -doesn't work.
> -
> -Upstream-Status: Submitted (https://bugs.freedesktop.org/show_bug.cgi?id=44618)
> -Signed-off-by: Jonathan Liu <net147@gmail.com>
> -Signed-off-by: Ross Burton <ross.burton@intel.com>
> -
> -diff --git a/src/glsl/builtin_compiler/Makefile.am b/src/glsl/builtin_compiler/Makefile.am
> -index e11a17f..8ebe0a2 100644
> ---- a/src/glsl/builtin_compiler/Makefile.am
> -+++ b/src/glsl/builtin_compiler/Makefile.am
> -@@ -64,6 +64,8 @@ AM_CXXFLAGS = $(AM_CFLAGS)
> - include ../Makefile.sources
> -
> - noinst_PROGRAMS = builtin_compiler
> -+
> -+if !CROSS_COMPILING
> - noinst_LTLIBRARIES = libglslcore.la libglcpp.la
> -
> - libglcpp_la_SOURCES =                                 \
> -@@ -73,6 +75,7 @@ libglcpp_la_SOURCES =                                        \
> - libglslcore_la_SOURCES =                              \
> -       $(BUILTIN_COMPILER_GENERATED_CXX_FILES)         \
> -       $(LIBGLSL_FILES)
> -+endif
> -
> - builtin_compiler_SOURCES = \
> -       $(top_srcdir)/src/mesa/main/hash_table.c        \
> -@@ -81,4 +84,14 @@ builtin_compiler_SOURCES = \
> -       $(top_srcdir)/src/mesa/program/symbol_table.c   \
> -       $(BUILTIN_COMPILER_CXX_FILES)                   \
> -       $(GLSL_COMPILER_CXX_FILES)
> -+
> -+if CROSS_COMPILING
> -+builtin_compiler_SOURCES += \
> -+      $(LIBGLCPP_GENERATED_FILES) \
> -+      $(LIBGLCPP_FILES) \
> -+      $(BUILTIN_COMPILER_GENERATED_CXX_FILES) \
> -+      $(LIBGLSL_FILES)
> -+builtin_compiler_CPPFLAGS = $(AM_CPPFLAGS)
> -+else
> - builtin_compiler_LDADD = libglslcore.la libglcpp.la
> -+endif
> diff --git a/meta/recipes-graphics/mesa/mesa_9.1.3.bb b/meta/recipes-graphics/mesa/mesa_9.1.3.bb
> index bbeacd3..a7ccbe6 100644
> --- a/meta/recipes-graphics/mesa/mesa_9.1.3.bb
> +++ b/meta/recipes-graphics/mesa/mesa_9.1.3.bb
> @@ -1,11 +1,11 @@
>  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 \
>             file://0002-pipe_loader_sw-include-xlib_sw_winsys.h-only-when-HA.patch \
> +           file://0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch \
> +           file://0004-glsl-fix-builtin_compiler-cross-compilation.patch \
> +           file://0005-llvmpipe-remove-the-power-of-two-sizeof-struct-cmd_b.patch \
>             "
>
>  SRC_URI[md5sum] = "952ccd03547ed72333b64e1746cf8ada"
> diff --git a/meta/recipes-graphics/mesa/mesa_git.bb b/meta/recipes-graphics/mesa/mesa_git.bb
> index 09a9531..52d3d81 100644
> --- a/meta/recipes-graphics/mesa/mesa_git.bb
> +++ b/meta/recipes-graphics/mesa/mesa_git.bb
> @@ -2,17 +2,17 @@ require ${BPN}.inc
>
>  DEFAULT_PREFERENCE = "-1"
>
> +LIC_FILES_CHKSUM = "file://docs/license.html;md5=f69a4626e9efc40fa0d3cc3b02c9eacf"
> +
>  PR = "${INC_PR}.0"
> -# 9.1.3 commit
> -SRCREV = "f32ec82a8cfcabc5b7596796f36afe7986651f02"
> +SRCREV = "5a925cc5504575c22dbb7d29842d7fc5babcb5c7"
>  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 \
>             file://0002-pipe_loader_sw-include-xlib_sw_winsys.h-only-when-HA.patch \
> +           file://0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch \
> +           file://0004-glsl-fix-builtin_compiler-cross-compilation.patch \
>             "
>
>  S = "${WORKDIR}/git"
> --
> 1.8.2.1
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCHv3] mesa: bump SRCREV in git recipe, refresh patches
  2013-07-19  3:14         ` Jonathan Liu
@ 2013-07-19  4:42           ` Jonathan Liu
  2013-07-19  8:56             ` Martin Jansa
  2013-07-23 10:37             ` Burton, Ross
  0 siblings, 2 replies; 15+ messages in thread
From: Jonathan Liu @ 2013-07-19  4:42 UTC (permalink / raw)
  To: Martin Jansa; +Cc: openembedded-core

On 19 July 2013 13:14, Jonathan Liu <net147@gmail.com> wrote:
> I get the following with PACKAGECONFIG_append_pn-mesa = " gallium
> gallium-llvmpipe":
> WARNING: QA Issue: mesa: Files/directories were installed but not shipped
>   /usr/lib/libXvMCsoftpipe.so
>   /usr/lib/libXvMCsoftpipe.la

I wonder if the PV should be 9.2.0+git${SRCPV} instead of
9.1.3+git${SRCPV} since the OpenGL version string (as reported by
glxinfo) is 2.1 Mesa 9.2.0-devel (git-5a925cc).

>
> Regards,
> Jonathan
>
> On 2 July 2013 21:49, Martin Jansa <martin.jansa@gmail.com> wrote:
>> * 0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch
>>   needs to be rebased so move old version for 9.1.3 to
>>   mesa-9.1.3/ and update the version in mesa/
>> * add git headers
>> * 0005-llvmpipe-remove-the-power-of-two-sizeof-struct-cmd_b.patch
>>   is already applied in new SRCREV, move it to mesa-9.1.3/
>> * formal change in license.html with new SRCREV:
>>    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
>>    OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
>>    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
>>   -BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
>>   -AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
>>   -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
>>   +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
>>   +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
>>   +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
>>   +SOFTWARE.
>>
>> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
>> ---
>>  ...ate-NativeDisplayType-depending-on-config.patch | 359 +++++++++++++++++++++
>>  ...move-the-power-of-two-sizeof-struct-cmd_b.patch |  41 +++
>>  ...void-use-of-AC_CHECK_FILE-for-cross-compi.patch |  14 +-
>>  ...move-the-power-of-two-sizeof-struct-cmd_b.patch |  42 ---
>>  ...ate-NativeDisplayType-depending-on-config.patch | 356 ++++++++++++++++++++
>>  ...sl-fix-builtin_compiler-cross-compilation.patch |  54 ++++
>>  ...ate-NativeDisplayType-depending-on-config.patch | 358 --------------------
>>  .../mesa/mesa/fix-glsl-cross.patch                 |  43 ---
>>  meta/recipes-graphics/mesa/mesa_9.1.3.bb           |   6 +-
>>  meta/recipes-graphics/mesa/mesa_git.bb             |  10 +-
>>  10 files changed, 825 insertions(+), 458 deletions(-)
>>  create mode 100644 meta/recipes-graphics/mesa/mesa-9.1.3/0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch
>>  create mode 100644 meta/recipes-graphics/mesa/mesa-9.1.3/0005-llvmpipe-remove-the-power-of-two-sizeof-struct-cmd_b.patch
>>  delete mode 100644 meta/recipes-graphics/mesa/mesa/0001-llvmpipe-remove-the-power-of-two-sizeof-struct-cmd_b.patch
>>  create mode 100644 meta/recipes-graphics/mesa/mesa/0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch
>>  create mode 100644 meta/recipes-graphics/mesa/mesa/0004-glsl-fix-builtin_compiler-cross-compilation.patch
>>  delete mode 100644 meta/recipes-graphics/mesa/mesa/EGL-Mutate-NativeDisplayType-depending-on-config.patch
>>  delete mode 100644 meta/recipes-graphics/mesa/mesa/fix-glsl-cross.patch
>>
>> diff --git a/meta/recipes-graphics/mesa/mesa-9.1.3/0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch b/meta/recipes-graphics/mesa/mesa-9.1.3/0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch
>> new file mode 100644
>> index 0000000..7e82b6a
>> --- /dev/null
>> +++ b/meta/recipes-graphics/mesa/mesa-9.1.3/0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch
>> @@ -0,0 +1,359 @@
>> +From 06c1ba29de8a26fffb73ee99f0fc54c704e9fee4 Mon Sep 17 00:00:00 2001
>> +From: Daniel Stone <daniel@fooishbar.org>
>> +Date: Fri, 24 May 2013 17:20:27 +0100
>> +Subject: [PATCH 3/5] EGL: Mutate NativeDisplayType depending on config
>> +
>> +If we go through ./configure without enabling X11 anywhere, then set the
>> +fallback types for EGL NativeDisplay and friends, rather than assuming
>> +X11/Xlib.
>> +
>> +Signed-off-by: Daniel Stone <daniel@fooishbar.org>
>> +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
>> +---
>> + configure.ac                 |   9 +++
>> + include/EGL/eglplatform.h    | 146 -------------------------------------------
>> + include/EGL/eglplatform.h.in | 146 +++++++++++++++++++++++++++++++++++++++++++
>> + 3 files changed, 155 insertions(+), 146 deletions(-)
>> + delete mode 100644 include/EGL/eglplatform.h
>> + create mode 100644 include/EGL/eglplatform.h.in
>> +
>> +diff --git a/configure.ac b/configure.ac
>> +index 2b4a374..d4c7a95 100644
>> +--- a/configure.ac
>> ++++ b/configure.ac
>> +@@ -1565,12 +1565,20 @@ fi
>> +
>> + EGL_PLATFORMS="$egl_platforms"
>> +
>> ++if echo "$egl_platforms" | grep 'x11' >/dev/null 2>&1; then
>> ++    MESA_EGL_NO_X11_HEADERS=0
>> ++else
>> ++    MESA_EGL_NO_X11_HEADERS=1
>> ++fi
>> ++
>> + AM_CONDITIONAL(HAVE_EGL_PLATFORM_X11, echo "$egl_platforms" | grep 'x11' >/dev/null 2>&1)
>> + AM_CONDITIONAL(HAVE_EGL_PLATFORM_WAYLAND, echo "$egl_platforms" | grep 'wayland' >/dev/null 2>&1)
>> + AM_CONDITIONAL(HAVE_EGL_PLATFORM_DRM, echo "$egl_platforms" | grep 'drm' >/dev/null 2>&1)
>> + AM_CONDITIONAL(HAVE_EGL_PLATFORM_FBDEV, echo "$egl_platforms" | grep 'fbdev' >/dev/null 2>&1)
>> + AM_CONDITIONAL(HAVE_EGL_PLATFORM_NULL, echo "$egl_platforms" | grep 'null' >/dev/null 2>&1)
>> +
>> ++AC_SUBST([MESA_EGL_NO_X11_HEADERS])
>> ++
>> + AM_CONDITIONAL(HAVE_EGL_DRIVER_DRI2, test "x$HAVE_EGL_DRIVER_DRI2" != "x")
>> + AM_CONDITIONAL(HAVE_EGL_DRIVER_GLX, test "x$HAVE_EGL_DRIVER_GLX" != "x")
>> +
>> +@@ -2042,6 +2050,7 @@ CXXFLAGS="$CXXFLAGS $USER_CXXFLAGS"
>> +
>> + dnl Substitute the config
>> + AC_CONFIG_FILES([Makefile
>> ++              include/EGL/eglplatform.h
>> +               src/Makefile
>> +               src/egl/Makefile
>> +               src/egl/drivers/Makefile
>> +diff --git a/include/EGL/eglplatform.h b/include/EGL/eglplatform.h
>> +deleted file mode 100644
>> +index 17fdc61..0000000
>> +--- a/include/EGL/eglplatform.h
>> ++++ /dev/null
>> +@@ -1,146 +0,0 @@
>> +-#ifndef __eglplatform_h_
>> +-#define __eglplatform_h_
>> +-
>> +-/*
>> +-** Copyright (c) 2007-2009 The Khronos Group Inc.
>> +-**
>> +-** Permission is hereby granted, free of charge, to any person obtaining a
>> +-** copy of this software and/or associated documentation files (the
>> +-** "Materials"), to deal in the Materials without restriction, including
>> +-** without limitation the rights to use, copy, modify, merge, publish,
>> +-** distribute, sublicense, and/or sell copies of the Materials, and to
>> +-** permit persons to whom the Materials are furnished to do so, subject to
>> +-** the following conditions:
>> +-**
>> +-** The above copyright notice and this permission notice shall be included
>> +-** in all copies or substantial portions of the Materials.
>> +-**
>> +-** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
>> +-** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
>> +-** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
>> +-** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
>> +-** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
>> +-** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
>> +-** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
>> +-*/
>> +-
>> +-/* Platform-specific types and definitions for egl.h
>> +- * $Revision: 12306 $ on $Date: 2010-08-25 09:51:28 -0700 (Wed, 25 Aug 2010) $
>> +- *
>> +- * Adopters may modify khrplatform.h and this file to suit their platform.
>> +- * You are encouraged to submit all modifications to the Khronos group so that
>> +- * they can be included in future versions of this file.  Please submit changes
>> +- * by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla)
>> +- * by filing a bug against product "EGL" component "Registry".
>> +- */
>> +-
>> +-#include <KHR/khrplatform.h>
>> +-
>> +-/* Macros used in EGL function prototype declarations.
>> +- *
>> +- * EGL functions should be prototyped as:
>> +- *
>> +- * EGLAPI return-type EGLAPIENTRY eglFunction(arguments);
>> +- * typedef return-type (EXPAPIENTRYP PFNEGLFUNCTIONPROC) (arguments);
>> +- *
>> +- * KHRONOS_APICALL and KHRONOS_APIENTRY are defined in KHR/khrplatform.h
>> +- */
>> +-
>> +-#ifndef EGLAPI
>> +-#define EGLAPI KHRONOS_APICALL
>> +-#endif
>> +-
>> +-#ifndef EGLAPIENTRY
>> +-#define EGLAPIENTRY  KHRONOS_APIENTRY
>> +-#endif
>> +-#define EGLAPIENTRYP EGLAPIENTRY*
>> +-
>> +-/* The types NativeDisplayType, NativeWindowType, and NativePixmapType
>> +- * are aliases of window-system-dependent types, such as X Display * or
>> +- * Windows Device Context. They must be defined in platform-specific
>> +- * code below. The EGL-prefixed versions of Native*Type are the same
>> +- * types, renamed in EGL 1.3 so all types in the API start with "EGL".
>> +- *
>> +- * Khronos STRONGLY RECOMMENDS that you use the default definitions
>> +- * provided below, since these changes affect both binary and source
>> +- * portability of applications using EGL running on different EGL
>> +- * implementations.
>> +- */
>> +-
>> +-#if defined(_WIN32) || defined(__VC32__) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) /* Win32 and WinCE */
>> +-#ifndef WIN32_LEAN_AND_MEAN
>> +-#define WIN32_LEAN_AND_MEAN 1
>> +-#endif
>> +-#include <windows.h>
>> +-
>> +-typedef HDC     EGLNativeDisplayType;
>> +-typedef HBITMAP EGLNativePixmapType;
>> +-typedef HWND    EGLNativeWindowType;
>> +-
>> +-#elif defined(__WINSCW__) || defined(__SYMBIAN32__)  /* Symbian */
>> +-
>> +-typedef int   EGLNativeDisplayType;
>> +-typedef void *EGLNativeWindowType;
>> +-typedef void *EGLNativePixmapType;
>> +-
>> +-#elif defined(WL_EGL_PLATFORM)
>> +-
>> +-typedef struct wl_display     *EGLNativeDisplayType;
>> +-typedef struct wl_egl_pixmap  *EGLNativePixmapType;
>> +-typedef struct wl_egl_window  *EGLNativeWindowType;
>> +-
>> +-#elif defined(__GBM__)
>> +-
>> +-typedef struct gbm_device  *EGLNativeDisplayType;
>> +-typedef struct gbm_bo      *EGLNativePixmapType;
>> +-typedef void               *EGLNativeWindowType;
>> +-
>> +-#elif defined(ANDROID) /* Android */
>> +-
>> +-struct ANativeWindow;
>> +-struct egl_native_pixmap_t;
>> +-
>> +-typedef struct ANativeWindow        *EGLNativeWindowType;
>> +-typedef struct egl_native_pixmap_t  *EGLNativePixmapType;
>> +-typedef void                        *EGLNativeDisplayType;
>> +-
>> +-#elif defined(__unix__)
>> +-
>> +-#ifdef MESA_EGL_NO_X11_HEADERS
>> +-
>> +-typedef void            *EGLNativeDisplayType;
>> +-typedef khronos_uint32_t EGLNativePixmapType;
>> +-typedef khronos_uint32_t EGLNativeWindowType;
>> +-
>> +-#else
>> +-
>> +-/* X11 (tentative)  */
>> +-#include <X11/Xlib.h>
>> +-#include <X11/Xutil.h>
>> +-
>> +-typedef Display *EGLNativeDisplayType;
>> +-typedef Pixmap   EGLNativePixmapType;
>> +-typedef Window   EGLNativeWindowType;
>> +-
>> +-#endif /* MESA_EGL_NO_X11_HEADERS */
>> +-
>> +-#else
>> +-#error "Platform not recognized"
>> +-#endif
>> +-
>> +-/* EGL 1.2 types, renamed for consistency in EGL 1.3 */
>> +-typedef EGLNativeDisplayType NativeDisplayType;
>> +-typedef EGLNativePixmapType  NativePixmapType;
>> +-typedef EGLNativeWindowType  NativeWindowType;
>> +-
>> +-
>> +-/* Define EGLint. This must be a signed integral type large enough to contain
>> +- * all legal attribute names and values passed into and out of EGL, whether
>> +- * their type is boolean, bitmask, enumerant (symbolic constant), integer,
>> +- * handle, or other.  While in general a 32-bit integer will suffice, if
>> +- * handles are 64 bit types, then EGLint should be defined as a signed 64-bit
>> +- * integer type.
>> +- */
>> +-typedef khronos_int32_t EGLint;
>> +-
>> +-#endif /* __eglplatform_h */
>> +diff --git a/include/EGL/eglplatform.h.in b/include/EGL/eglplatform.h.in
>> +new file mode 100644
>> +index 0000000..5126c92
>> +--- /dev/null
>> ++++ b/include/EGL/eglplatform.h.in
>> +@@ -0,0 +1,146 @@
>> ++#ifndef __eglplatform_h_
>> ++#define __eglplatform_h_
>> ++
>> ++/*
>> ++** Copyright (c) 2007-2009 The Khronos Group Inc.
>> ++**
>> ++** Permission is hereby granted, free of charge, to any person obtaining a
>> ++** copy of this software and/or associated documentation files (the
>> ++** "Materials"), to deal in the Materials without restriction, including
>> ++** without limitation the rights to use, copy, modify, merge, publish,
>> ++** distribute, sublicense, and/or sell copies of the Materials, and to
>> ++** permit persons to whom the Materials are furnished to do so, subject to
>> ++** the following conditions:
>> ++**
>> ++** The above copyright notice and this permission notice shall be included
>> ++** in all copies or substantial portions of the Materials.
>> ++**
>> ++** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
>> ++** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
>> ++** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
>> ++** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
>> ++** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
>> ++** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
>> ++** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
>> ++*/
>> ++
>> ++/* Platform-specific types and definitions for egl.h
>> ++ * $Revision: 12306 $ on $Date: 2010-08-25 09:51:28 -0700 (Wed, 25 Aug 2010) $
>> ++ *
>> ++ * Adopters may modify khrplatform.h and this file to suit their platform.
>> ++ * You are encouraged to submit all modifications to the Khronos group so that
>> ++ * they can be included in future versions of this file.  Please submit changes
>> ++ * by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla)
>> ++ * by filing a bug against product "EGL" component "Registry".
>> ++ */
>> ++
>> ++#include <KHR/khrplatform.h>
>> ++
>> ++/* Macros used in EGL function prototype declarations.
>> ++ *
>> ++ * EGL functions should be prototyped as:
>> ++ *
>> ++ * EGLAPI return-type EGLAPIENTRY eglFunction(arguments);
>> ++ * typedef return-type (EXPAPIENTRYP PFNEGLFUNCTIONPROC) (arguments);
>> ++ *
>> ++ * KHRONOS_APICALL and KHRONOS_APIENTRY are defined in KHR/khrplatform.h
>> ++ */
>> ++
>> ++#ifndef EGLAPI
>> ++#define EGLAPI KHRONOS_APICALL
>> ++#endif
>> ++
>> ++#ifndef EGLAPIENTRY
>> ++#define EGLAPIENTRY  KHRONOS_APIENTRY
>> ++#endif
>> ++#define EGLAPIENTRYP EGLAPIENTRY*
>> ++
>> ++/* The types NativeDisplayType, NativeWindowType, and NativePixmapType
>> ++ * are aliases of window-system-dependent types, such as X Display * or
>> ++ * Windows Device Context. They must be defined in platform-specific
>> ++ * code below. The EGL-prefixed versions of Native*Type are the same
>> ++ * types, renamed in EGL 1.3 so all types in the API start with "EGL".
>> ++ *
>> ++ * Khronos STRONGLY RECOMMENDS that you use the default definitions
>> ++ * provided below, since these changes affect both binary and source
>> ++ * portability of applications using EGL running on different EGL
>> ++ * implementations.
>> ++ */
>> ++
>> ++#if defined(_WIN32) || defined(__VC32__) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) /* Win32 and WinCE */
>> ++#ifndef WIN32_LEAN_AND_MEAN
>> ++#define WIN32_LEAN_AND_MEAN 1
>> ++#endif
>> ++#include <windows.h>
>> ++
>> ++typedef HDC     EGLNativeDisplayType;
>> ++typedef HBITMAP EGLNativePixmapType;
>> ++typedef HWND    EGLNativeWindowType;
>> ++
>> ++#elif defined(__WINSCW__) || defined(__SYMBIAN32__)  /* Symbian */
>> ++
>> ++typedef int   EGLNativeDisplayType;
>> ++typedef void *EGLNativeWindowType;
>> ++typedef void *EGLNativePixmapType;
>> ++
>> ++#elif defined(WL_EGL_PLATFORM)
>> ++
>> ++typedef struct wl_display     *EGLNativeDisplayType;
>> ++typedef struct wl_egl_pixmap  *EGLNativePixmapType;
>> ++typedef struct wl_egl_window  *EGLNativeWindowType;
>> ++
>> ++#elif defined(__GBM__)
>> ++
>> ++typedef struct gbm_device  *EGLNativeDisplayType;
>> ++typedef struct gbm_bo      *EGLNativePixmapType;
>> ++typedef void               *EGLNativeWindowType;
>> ++
>> ++#elif defined(ANDROID) /* Android */
>> ++
>> ++struct ANativeWindow;
>> ++struct egl_native_pixmap_t;
>> ++
>> ++typedef struct ANativeWindow        *EGLNativeWindowType;
>> ++typedef struct egl_native_pixmap_t  *EGLNativePixmapType;
>> ++typedef void                        *EGLNativeDisplayType;
>> ++
>> ++#elif defined(__unix__)
>> ++
>> ++#if @MESA_EGL_NO_X11_HEADERS@
>> ++
>> ++typedef void            *EGLNativeDisplayType;
>> ++typedef khronos_uint32_t EGLNativePixmapType;
>> ++typedef khronos_uint32_t EGLNativeWindowType;
>> ++
>> ++#else
>> ++
>> ++/* X11 (tentative)  */
>> ++#include <X11/Xlib.h>
>> ++#include <X11/Xutil.h>
>> ++
>> ++typedef Display *EGLNativeDisplayType;
>> ++typedef Pixmap   EGLNativePixmapType;
>> ++typedef Window   EGLNativeWindowType;
>> ++
>> ++#endif /* MESA_EGL_NO_X11_HEADERS */
>> ++
>> ++#else
>> ++#error "Platform not recognized"
>> ++#endif
>> ++
>> ++/* EGL 1.2 types, renamed for consistency in EGL 1.3 */
>> ++typedef EGLNativeDisplayType NativeDisplayType;
>> ++typedef EGLNativePixmapType  NativePixmapType;
>> ++typedef EGLNativeWindowType  NativeWindowType;
>> ++
>> ++
>> ++/* Define EGLint. This must be a signed integral type large enough to contain
>> ++ * all legal attribute names and values passed into and out of EGL, whether
>> ++ * their type is boolean, bitmask, enumerant (symbolic constant), integer,
>> ++ * handle, or other.  While in general a 32-bit integer will suffice, if
>> ++ * handles are 64 bit types, then EGLint should be defined as a signed 64-bit
>> ++ * integer type.
>> ++ */
>> ++typedef khronos_int32_t EGLint;
>> ++
>> ++#endif /* __eglplatform_h */
>> +--
>> +1.8.2.1
>> +
>> diff --git a/meta/recipes-graphics/mesa/mesa-9.1.3/0005-llvmpipe-remove-the-power-of-two-sizeof-struct-cmd_b.patch b/meta/recipes-graphics/mesa/mesa-9.1.3/0005-llvmpipe-remove-the-power-of-two-sizeof-struct-cmd_b.patch
>> new file mode 100644
>> index 0000000..d86421b
>> --- /dev/null
>> +++ b/meta/recipes-graphics/mesa/mesa-9.1.3/0005-llvmpipe-remove-the-power-of-two-sizeof-struct-cmd_b.patch
>> @@ -0,0 +1,41 @@
>> +From 33098ef45e6035f3348040a25641f95c95266103 Mon Sep 17 00:00:00 2001
>> +From: Brian Paul <brianp@vmware.com>
>> +Date: Wed, 6 Mar 2013 16:57:20 -0700
>> +Subject: [PATCH 5/5] llvmpipe: remove the power of two sizeof(struct
>> + cmd_block) assertion
>> +MIME-Version: 1.0
>> +Content-Type: text/plain; charset=UTF-8
>> +Content-Transfer-Encoding: 8bit
>> +
>> +It fails on 32-bit systems (I only tested on 64-bit).  Power of two
>> +size isn't required, so just remove the assertion.
>> +
>> +Reviewed-by: José Fonseca <jfonseca@vmware.com>
>> +
>> +Upstream-Status: Backport
>> +http://cgit.freedesktop.org/mesa/mesa/commit/?id=9915636fb8afe75ee2e8e013e4f495a4cb937afb
>> +---
>> + src/gallium/drivers/llvmpipe/lp_scene.c | 7 -------
>> + 1 file changed, 7 deletions(-)
>> +
>> +diff --git a/src/gallium/drivers/llvmpipe/lp_scene.c b/src/gallium/drivers/llvmpipe/lp_scene.c
>> +index e145391..c88bc95 100644
>> +--- a/src/gallium/drivers/llvmpipe/lp_scene.c
>> ++++ b/src/gallium/drivers/llvmpipe/lp_scene.c
>> +@@ -76,13 +76,6 @@ lp_scene_create( struct pipe_context *pipe )
>> +       assert(maxCommandBytes < LP_SCENE_MAX_SIZE);
>> +       /* We'll also need space for at least one other data block */
>> +       assert(maxCommandPlusData <= LP_SCENE_MAX_SIZE);
>> +-
>> +-      /* Ideally, the size of a cmd_block object will be a power of two
>> +-       * in order to avoid wasting space when we allocation them from
>> +-       * data blocks (which are power of two also).
>> +-       */
>> +-      assert(sizeof(struct cmd_block) ==
>> +-             util_next_power_of_two(sizeof(struct cmd_block)));
>> +    }
>> + #endif
>> +
>> +--
>> +1.8.2.1
>> +
>> diff --git a/meta/recipes-graphics/mesa/mesa/0001-configure-Avoid-use-of-AC_CHECK_FILE-for-cross-compi.patch b/meta/recipes-graphics/mesa/mesa/0001-configure-Avoid-use-of-AC_CHECK_FILE-for-cross-compi.patch
>> index 9f7002a..76b5a18 100644
>> --- a/meta/recipes-graphics/mesa/mesa/0001-configure-Avoid-use-of-AC_CHECK_FILE-for-cross-compi.patch
>> +++ b/meta/recipes-graphics/mesa/mesa/0001-configure-Avoid-use-of-AC_CHECK_FILE-for-cross-compi.patch
>> @@ -1,7 +1,7 @@
>> -From 877b8ea9a79d1d51f8e6b032801731538590d39e Mon Sep 17 00:00:00 2001
>> +From e21ce89f7ae6964f196086ff325d79e4a3b5acd8 Mon Sep 17 00:00:00 2001
>>  From: Jonathan Liu <net147@gmail.com>
>>  Date: Tue, 4 Jun 2013 06:04:44 -0700
>> -Subject: [PATCH] configure: Avoid use of AC_CHECK_FILE for cross compiling
>> +Subject: [PATCH 1/4] configure: Avoid use of AC_CHECK_FILE for cross compiling
>>
>>  The AC_CHECK_FILE macro can't be used for cross compiling as it will
>>  result in "error: cannot check for file existence when cross compiling".
>> @@ -17,10 +17,10 @@ Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
>>   1 file changed, 6 insertions(+), 6 deletions(-)
>>
>>  diff --git a/configure.ac b/configure.ac
>> -index 36065f1..2b4a374 100644
>> +index 70c598e..67b8c40 100644
>>  --- a/configure.ac
>>  +++ b/configure.ac
>> -@@ -1694,8 +1694,8 @@ if test "x$enable_gallium_llvm" = xyes; then
>> +@@ -1630,8 +1630,8 @@ if test "x$enable_gallium_llvm" = xyes; then
>>                   CLANG_LIBDIR=${LLVM_LIBDIR}
>>               fi
>>               CLANG_RESOURCE_DIR=$CLANG_LIBDIR/clang/${LLVM_VERSION}
>> @@ -31,7 +31,7 @@ index 36065f1..2b4a374 100644
>>           fi
>>       else
>>         MESA_LLVM=0
>> -@@ -1912,7 +1912,7 @@ if test "x$MESA_LLVM" != x0; then
>> +@@ -1861,7 +1861,7 @@ if test "x$MESA_LLVM" != x0; then
>>       if test "x$with_llvm_shared_libs" = xyes; then
>>           dnl We can't use $LLVM_VERSION because it has 'svn' stripped out,
>>           LLVM_SO_NAME=LLVM-`$LLVM_CONFIG --version`
>> @@ -40,7 +40,7 @@ index 36065f1..2b4a374 100644
>>
>>           if test "x$llvm_have_one_so" = xyes; then
>>               dnl LLVM was built using auto*, so there is only one shared object.
>> -@@ -1920,8 +1920,8 @@ if test "x$MESA_LLVM" != x0; then
>> +@@ -1869,8 +1869,8 @@ if test "x$MESA_LLVM" != x0; then
>>           else
>>               dnl If LLVM was built with CMake, there will be one shared object per
>>               dnl component.
>> @@ -51,7 +51,7 @@ index 36065f1..2b4a374 100644
>>         Please make sure you have built llvm with the --enable-shared option
>>         and that your llvm libraries are installed in $LLVM_LIBDIR
>>         If you have installed your llvm libraries to a different directory you
>> -@@ -1932,7 +1932,7 @@ if test "x$MESA_LLVM" != x0; then
>> +@@ -1881,7 +1881,7 @@ if test "x$MESA_LLVM" != x0; then
>>                 --enable-opencl
>>         If you do not want to build with llvm shared libraries and instead want to
>>         use llvm static libraries then remove these options from your configure
>> diff --git a/meta/recipes-graphics/mesa/mesa/0001-llvmpipe-remove-the-power-of-two-sizeof-struct-cmd_b.patch b/meta/recipes-graphics/mesa/mesa/0001-llvmpipe-remove-the-power-of-two-sizeof-struct-cmd_b.patch
>> deleted file mode 100644
>> index b74fddc..0000000
>> --- a/meta/recipes-graphics/mesa/mesa/0001-llvmpipe-remove-the-power-of-two-sizeof-struct-cmd_b.patch
>> +++ /dev/null
>> @@ -1,42 +0,0 @@
>> -From 9915636fb8afe75ee2e8e013e4f495a4cb937afb Mon Sep 17 00:00:00 2001
>> -From: Brian Paul <brianp@vmware.com>
>> -Date: Wed, 6 Mar 2013 16:57:20 -0700
>> -Subject: [PATCH] llvmpipe: remove the power of two sizeof(struct cmd_block)
>> - assertion
>> -MIME-Version: 1.0
>> -Content-Type: text/plain; charset=UTF-8
>> -Content-Transfer-Encoding: 8bit
>> -
>> -It fails on 32-bit systems (I only tested on 64-bit).  Power of two
>> -size isn't required, so just remove the assertion.
>> -
>> -Reviewed-by: José Fonseca <jfonseca@vmware.com>
>> -
>> -Upstream-Status: Backport
>> -http://cgit.freedesktop.org/mesa/mesa/commit/?id=9915636fb8afe75ee2e8e013e4f495a4cb937afb
>> -
>> ----
>> - src/gallium/drivers/llvmpipe/lp_scene.c | 7 -------
>> - 1 file changed, 7 deletions(-)
>> -
>> -diff --git a/src/gallium/drivers/llvmpipe/lp_scene.c b/src/gallium/drivers/llvmpipe/lp_scene.c
>> -index dd0943e..a0912eb 100644
>> ---- a/src/gallium/drivers/llvmpipe/lp_scene.c
>> -+++ b/src/gallium/drivers/llvmpipe/lp_scene.c
>> -@@ -76,13 +76,6 @@ lp_scene_create( struct pipe_context *pipe )
>> -       assert(maxCommandBytes < LP_SCENE_MAX_SIZE);
>> -       /* We'll also need space for at least one other data block */
>> -       assert(maxCommandPlusData <= LP_SCENE_MAX_SIZE);
>> --
>> --      /* Ideally, the size of a cmd_block object will be a power of two
>> --       * in order to avoid wasting space when we allocation them from
>> --       * data blocks (which are power of two also).
>> --       */
>> --      assert(sizeof(struct cmd_block) ==
>> --             util_next_power_of_two(sizeof(struct cmd_block)));
>> -    }
>> - #endif
>> -
>> ---
>> -1.8.3
>> -
>> diff --git a/meta/recipes-graphics/mesa/mesa/0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch b/meta/recipes-graphics/mesa/mesa/0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch
>> new file mode 100644
>> index 0000000..d6ddd9a
>> --- /dev/null
>> +++ b/meta/recipes-graphics/mesa/mesa/0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch
>> @@ -0,0 +1,356 @@
>> +From 8d31ae23683394617c49301b039b3a069b9ea436 Mon Sep 17 00:00:00 2001
>> +From: Daniel Stone <daniel@fooishbar.org>
>> +Date: Fri, 24 May 2013 17:20:27 +0100
>> +Subject: [PATCH 3/4] EGL: Mutate NativeDisplayType depending on config
>> +
>> +If we go through ./configure without enabling X11 anywhere, then set the
>> +fallback types for EGL NativeDisplay and friends, rather than assuming
>> +X11/Xlib.
>> +
>> +Signed-off-by: Daniel Stone <daniel@fooishbar.org>
>> +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
>> +---
>> + configure.ac                 |   5 ++
>> + include/EGL/eglplatform.h    | 146 -------------------------------------------
>> + include/EGL/eglplatform.h.in | 146 +++++++++++++++++++++++++++++++++++++++++++
>> + 3 files changed, 151 insertions(+), 146 deletions(-)
>> + delete mode 100644 include/EGL/eglplatform.h
>> + create mode 100644 include/EGL/eglplatform.h.in
>> +
>> +diff --git a/configure.ac b/configure.ac
>> +index 67b8c40..afc3217 100644
>> +--- a/configure.ac
>> ++++ b/configure.ac
>> +@@ -1499,6 +1499,9 @@ EGL_PLATFORMS="$egl_platforms"
>> +
>> + if echo "$egl_platforms" | grep 'x11' >/dev/null 2>&1; then
>> +     NEED_WINSYS_XLIB=yes
>> ++    MESA_EGL_NO_X11_HEADERS=0
>> ++else
>> ++    MESA_EGL_NO_X11_HEADERS=1
>> + fi
>> + AM_CONDITIONAL(HAVE_EGL_PLATFORM_X11, echo "$egl_platforms" | grep 'x11' >/dev/null 2>&1)
>> + AM_CONDITIONAL(HAVE_EGL_PLATFORM_WAYLAND, echo "$egl_platforms" | grep 'wayland' >/dev/null 2>&1)
>> +@@ -1512,6 +1515,7 @@ AM_CONDITIONAL(HAVE_EGL_DRIVER_GLX, test "x$HAVE_EGL_DRIVER_GLX" != "x")
>> + AC_SUBST([EGL_NATIVE_PLATFORM])
>> + AC_SUBST([EGL_PLATFORMS])
>> + AC_SUBST([EGL_CFLAGS])
>> ++AC_SUBST([MESA_EGL_NO_X11_HEADERS])
>> +
>> + AC_ARG_WITH([egl-driver-dir],
>> +     [AS_HELP_STRING([--with-egl-driver-dir=DIR],
>> +@@ -1991,6 +1995,7 @@ CXXFLAGS="$CXXFLAGS $USER_CXXFLAGS"
>> +
>> + dnl Substitute the config
>> + AC_CONFIG_FILES([Makefile
>> ++              include/EGL/eglplatform.h
>> +               src/Makefile
>> +               src/egl/Makefile
>> +               src/egl/drivers/Makefile
>> +diff --git a/include/EGL/eglplatform.h b/include/EGL/eglplatform.h
>> +deleted file mode 100644
>> +index 17fdc61..0000000
>> +--- a/include/EGL/eglplatform.h
>> ++++ /dev/null
>> +@@ -1,146 +0,0 @@
>> +-#ifndef __eglplatform_h_
>> +-#define __eglplatform_h_
>> +-
>> +-/*
>> +-** Copyright (c) 2007-2009 The Khronos Group Inc.
>> +-**
>> +-** Permission is hereby granted, free of charge, to any person obtaining a
>> +-** copy of this software and/or associated documentation files (the
>> +-** "Materials"), to deal in the Materials without restriction, including
>> +-** without limitation the rights to use, copy, modify, merge, publish,
>> +-** distribute, sublicense, and/or sell copies of the Materials, and to
>> +-** permit persons to whom the Materials are furnished to do so, subject to
>> +-** the following conditions:
>> +-**
>> +-** The above copyright notice and this permission notice shall be included
>> +-** in all copies or substantial portions of the Materials.
>> +-**
>> +-** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
>> +-** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
>> +-** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
>> +-** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
>> +-** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
>> +-** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
>> +-** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
>> +-*/
>> +-
>> +-/* Platform-specific types and definitions for egl.h
>> +- * $Revision: 12306 $ on $Date: 2010-08-25 09:51:28 -0700 (Wed, 25 Aug 2010) $
>> +- *
>> +- * Adopters may modify khrplatform.h and this file to suit their platform.
>> +- * You are encouraged to submit all modifications to the Khronos group so that
>> +- * they can be included in future versions of this file.  Please submit changes
>> +- * by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla)
>> +- * by filing a bug against product "EGL" component "Registry".
>> +- */
>> +-
>> +-#include <KHR/khrplatform.h>
>> +-
>> +-/* Macros used in EGL function prototype declarations.
>> +- *
>> +- * EGL functions should be prototyped as:
>> +- *
>> +- * EGLAPI return-type EGLAPIENTRY eglFunction(arguments);
>> +- * typedef return-type (EXPAPIENTRYP PFNEGLFUNCTIONPROC) (arguments);
>> +- *
>> +- * KHRONOS_APICALL and KHRONOS_APIENTRY are defined in KHR/khrplatform.h
>> +- */
>> +-
>> +-#ifndef EGLAPI
>> +-#define EGLAPI KHRONOS_APICALL
>> +-#endif
>> +-
>> +-#ifndef EGLAPIENTRY
>> +-#define EGLAPIENTRY  KHRONOS_APIENTRY
>> +-#endif
>> +-#define EGLAPIENTRYP EGLAPIENTRY*
>> +-
>> +-/* The types NativeDisplayType, NativeWindowType, and NativePixmapType
>> +- * are aliases of window-system-dependent types, such as X Display * or
>> +- * Windows Device Context. They must be defined in platform-specific
>> +- * code below. The EGL-prefixed versions of Native*Type are the same
>> +- * types, renamed in EGL 1.3 so all types in the API start with "EGL".
>> +- *
>> +- * Khronos STRONGLY RECOMMENDS that you use the default definitions
>> +- * provided below, since these changes affect both binary and source
>> +- * portability of applications using EGL running on different EGL
>> +- * implementations.
>> +- */
>> +-
>> +-#if defined(_WIN32) || defined(__VC32__) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) /* Win32 and WinCE */
>> +-#ifndef WIN32_LEAN_AND_MEAN
>> +-#define WIN32_LEAN_AND_MEAN 1
>> +-#endif
>> +-#include <windows.h>
>> +-
>> +-typedef HDC     EGLNativeDisplayType;
>> +-typedef HBITMAP EGLNativePixmapType;
>> +-typedef HWND    EGLNativeWindowType;
>> +-
>> +-#elif defined(__WINSCW__) || defined(__SYMBIAN32__)  /* Symbian */
>> +-
>> +-typedef int   EGLNativeDisplayType;
>> +-typedef void *EGLNativeWindowType;
>> +-typedef void *EGLNativePixmapType;
>> +-
>> +-#elif defined(WL_EGL_PLATFORM)
>> +-
>> +-typedef struct wl_display     *EGLNativeDisplayType;
>> +-typedef struct wl_egl_pixmap  *EGLNativePixmapType;
>> +-typedef struct wl_egl_window  *EGLNativeWindowType;
>> +-
>> +-#elif defined(__GBM__)
>> +-
>> +-typedef struct gbm_device  *EGLNativeDisplayType;
>> +-typedef struct gbm_bo      *EGLNativePixmapType;
>> +-typedef void               *EGLNativeWindowType;
>> +-
>> +-#elif defined(ANDROID) /* Android */
>> +-
>> +-struct ANativeWindow;
>> +-struct egl_native_pixmap_t;
>> +-
>> +-typedef struct ANativeWindow        *EGLNativeWindowType;
>> +-typedef struct egl_native_pixmap_t  *EGLNativePixmapType;
>> +-typedef void                        *EGLNativeDisplayType;
>> +-
>> +-#elif defined(__unix__)
>> +-
>> +-#ifdef MESA_EGL_NO_X11_HEADERS
>> +-
>> +-typedef void            *EGLNativeDisplayType;
>> +-typedef khronos_uint32_t EGLNativePixmapType;
>> +-typedef khronos_uint32_t EGLNativeWindowType;
>> +-
>> +-#else
>> +-
>> +-/* X11 (tentative)  */
>> +-#include <X11/Xlib.h>
>> +-#include <X11/Xutil.h>
>> +-
>> +-typedef Display *EGLNativeDisplayType;
>> +-typedef Pixmap   EGLNativePixmapType;
>> +-typedef Window   EGLNativeWindowType;
>> +-
>> +-#endif /* MESA_EGL_NO_X11_HEADERS */
>> +-
>> +-#else
>> +-#error "Platform not recognized"
>> +-#endif
>> +-
>> +-/* EGL 1.2 types, renamed for consistency in EGL 1.3 */
>> +-typedef EGLNativeDisplayType NativeDisplayType;
>> +-typedef EGLNativePixmapType  NativePixmapType;
>> +-typedef EGLNativeWindowType  NativeWindowType;
>> +-
>> +-
>> +-/* Define EGLint. This must be a signed integral type large enough to contain
>> +- * all legal attribute names and values passed into and out of EGL, whether
>> +- * their type is boolean, bitmask, enumerant (symbolic constant), integer,
>> +- * handle, or other.  While in general a 32-bit integer will suffice, if
>> +- * handles are 64 bit types, then EGLint should be defined as a signed 64-bit
>> +- * integer type.
>> +- */
>> +-typedef khronos_int32_t EGLint;
>> +-
>> +-#endif /* __eglplatform_h */
>> +diff --git a/include/EGL/eglplatform.h.in b/include/EGL/eglplatform.h.in
>> +new file mode 100644
>> +index 0000000..5126c92
>> +--- /dev/null
>> ++++ b/include/EGL/eglplatform.h.in
>> +@@ -0,0 +1,146 @@
>> ++#ifndef __eglplatform_h_
>> ++#define __eglplatform_h_
>> ++
>> ++/*
>> ++** Copyright (c) 2007-2009 The Khronos Group Inc.
>> ++**
>> ++** Permission is hereby granted, free of charge, to any person obtaining a
>> ++** copy of this software and/or associated documentation files (the
>> ++** "Materials"), to deal in the Materials without restriction, including
>> ++** without limitation the rights to use, copy, modify, merge, publish,
>> ++** distribute, sublicense, and/or sell copies of the Materials, and to
>> ++** permit persons to whom the Materials are furnished to do so, subject to
>> ++** the following conditions:
>> ++**
>> ++** The above copyright notice and this permission notice shall be included
>> ++** in all copies or substantial portions of the Materials.
>> ++**
>> ++** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
>> ++** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
>> ++** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
>> ++** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
>> ++** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
>> ++** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
>> ++** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
>> ++*/
>> ++
>> ++/* Platform-specific types and definitions for egl.h
>> ++ * $Revision: 12306 $ on $Date: 2010-08-25 09:51:28 -0700 (Wed, 25 Aug 2010) $
>> ++ *
>> ++ * Adopters may modify khrplatform.h and this file to suit their platform.
>> ++ * You are encouraged to submit all modifications to the Khronos group so that
>> ++ * they can be included in future versions of this file.  Please submit changes
>> ++ * by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla)
>> ++ * by filing a bug against product "EGL" component "Registry".
>> ++ */
>> ++
>> ++#include <KHR/khrplatform.h>
>> ++
>> ++/* Macros used in EGL function prototype declarations.
>> ++ *
>> ++ * EGL functions should be prototyped as:
>> ++ *
>> ++ * EGLAPI return-type EGLAPIENTRY eglFunction(arguments);
>> ++ * typedef return-type (EXPAPIENTRYP PFNEGLFUNCTIONPROC) (arguments);
>> ++ *
>> ++ * KHRONOS_APICALL and KHRONOS_APIENTRY are defined in KHR/khrplatform.h
>> ++ */
>> ++
>> ++#ifndef EGLAPI
>> ++#define EGLAPI KHRONOS_APICALL
>> ++#endif
>> ++
>> ++#ifndef EGLAPIENTRY
>> ++#define EGLAPIENTRY  KHRONOS_APIENTRY
>> ++#endif
>> ++#define EGLAPIENTRYP EGLAPIENTRY*
>> ++
>> ++/* The types NativeDisplayType, NativeWindowType, and NativePixmapType
>> ++ * are aliases of window-system-dependent types, such as X Display * or
>> ++ * Windows Device Context. They must be defined in platform-specific
>> ++ * code below. The EGL-prefixed versions of Native*Type are the same
>> ++ * types, renamed in EGL 1.3 so all types in the API start with "EGL".
>> ++ *
>> ++ * Khronos STRONGLY RECOMMENDS that you use the default definitions
>> ++ * provided below, since these changes affect both binary and source
>> ++ * portability of applications using EGL running on different EGL
>> ++ * implementations.
>> ++ */
>> ++
>> ++#if defined(_WIN32) || defined(__VC32__) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) /* Win32 and WinCE */
>> ++#ifndef WIN32_LEAN_AND_MEAN
>> ++#define WIN32_LEAN_AND_MEAN 1
>> ++#endif
>> ++#include <windows.h>
>> ++
>> ++typedef HDC     EGLNativeDisplayType;
>> ++typedef HBITMAP EGLNativePixmapType;
>> ++typedef HWND    EGLNativeWindowType;
>> ++
>> ++#elif defined(__WINSCW__) || defined(__SYMBIAN32__)  /* Symbian */
>> ++
>> ++typedef int   EGLNativeDisplayType;
>> ++typedef void *EGLNativeWindowType;
>> ++typedef void *EGLNativePixmapType;
>> ++
>> ++#elif defined(WL_EGL_PLATFORM)
>> ++
>> ++typedef struct wl_display     *EGLNativeDisplayType;
>> ++typedef struct wl_egl_pixmap  *EGLNativePixmapType;
>> ++typedef struct wl_egl_window  *EGLNativeWindowType;
>> ++
>> ++#elif defined(__GBM__)
>> ++
>> ++typedef struct gbm_device  *EGLNativeDisplayType;
>> ++typedef struct gbm_bo      *EGLNativePixmapType;
>> ++typedef void               *EGLNativeWindowType;
>> ++
>> ++#elif defined(ANDROID) /* Android */
>> ++
>> ++struct ANativeWindow;
>> ++struct egl_native_pixmap_t;
>> ++
>> ++typedef struct ANativeWindow        *EGLNativeWindowType;
>> ++typedef struct egl_native_pixmap_t  *EGLNativePixmapType;
>> ++typedef void                        *EGLNativeDisplayType;
>> ++
>> ++#elif defined(__unix__)
>> ++
>> ++#if @MESA_EGL_NO_X11_HEADERS@
>> ++
>> ++typedef void            *EGLNativeDisplayType;
>> ++typedef khronos_uint32_t EGLNativePixmapType;
>> ++typedef khronos_uint32_t EGLNativeWindowType;
>> ++
>> ++#else
>> ++
>> ++/* X11 (tentative)  */
>> ++#include <X11/Xlib.h>
>> ++#include <X11/Xutil.h>
>> ++
>> ++typedef Display *EGLNativeDisplayType;
>> ++typedef Pixmap   EGLNativePixmapType;
>> ++typedef Window   EGLNativeWindowType;
>> ++
>> ++#endif /* MESA_EGL_NO_X11_HEADERS */
>> ++
>> ++#else
>> ++#error "Platform not recognized"
>> ++#endif
>> ++
>> ++/* EGL 1.2 types, renamed for consistency in EGL 1.3 */
>> ++typedef EGLNativeDisplayType NativeDisplayType;
>> ++typedef EGLNativePixmapType  NativePixmapType;
>> ++typedef EGLNativeWindowType  NativeWindowType;
>> ++
>> ++
>> ++/* Define EGLint. This must be a signed integral type large enough to contain
>> ++ * all legal attribute names and values passed into and out of EGL, whether
>> ++ * their type is boolean, bitmask, enumerant (symbolic constant), integer,
>> ++ * handle, or other.  While in general a 32-bit integer will suffice, if
>> ++ * handles are 64 bit types, then EGLint should be defined as a signed 64-bit
>> ++ * integer type.
>> ++ */
>> ++typedef khronos_int32_t EGLint;
>> ++
>> ++#endif /* __eglplatform_h */
>> +--
>> +1.8.2.1
>> +
>> diff --git a/meta/recipes-graphics/mesa/mesa/0004-glsl-fix-builtin_compiler-cross-compilation.patch b/meta/recipes-graphics/mesa/mesa/0004-glsl-fix-builtin_compiler-cross-compilation.patch
>> new file mode 100644
>> index 0000000..460a274
>> --- /dev/null
>> +++ b/meta/recipes-graphics/mesa/mesa/0004-glsl-fix-builtin_compiler-cross-compilation.patch
>> @@ -0,0 +1,54 @@
>> +From ab38c97f057f739533a4e1fc9de51ea5f4e6242d Mon Sep 17 00:00:00 2001
>> +From: Jonathan Liu <net147@gmail.com>
>> +Date: Sat, 29 Jun 2013 11:37:20 +0200
>> +Subject: [PATCH 4/4] glsl: fix builtin_compiler cross-compilation
>> +
>> +The target libtool is used when building host binaries, which predictably
>> +doesn't work.
>> +
>> +Upstream-Status: Submitted https://bugs.freedesktop.org/show_bug.cgi?id=44618
>> +Signed-off-by: Jonathan Liu <net147@gmail.com>
>> +Signed-off-by: Ross Burton <ross.burton@intel.com>
>> +---
>> + src/glsl/builtin_compiler/Makefile.am | 13 +++++++++++++
>> + 1 file changed, 13 insertions(+)
>> +
>> +diff --git a/src/glsl/builtin_compiler/Makefile.am b/src/glsl/builtin_compiler/Makefile.am
>> +index e11a17f..8ebe0a2 100644
>> +--- a/src/glsl/builtin_compiler/Makefile.am
>> ++++ b/src/glsl/builtin_compiler/Makefile.am
>> +@@ -64,6 +64,8 @@ AM_CXXFLAGS = $(AM_CFLAGS)
>> + include ../Makefile.sources
>> +
>> + noinst_PROGRAMS = builtin_compiler
>> ++
>> ++if !CROSS_COMPILING
>> + noinst_LTLIBRARIES = libglslcore.la libglcpp.la
>> +
>> + libglcpp_la_SOURCES =                                 \
>> +@@ -73,6 +75,7 @@ libglcpp_la_SOURCES =                                        \
>> + libglslcore_la_SOURCES =                              \
>> +       $(BUILTIN_COMPILER_GENERATED_CXX_FILES)         \
>> +       $(LIBGLSL_FILES)
>> ++endif
>> +
>> + builtin_compiler_SOURCES = \
>> +       $(top_srcdir)/src/mesa/main/hash_table.c        \
>> +@@ -81,4 +84,14 @@ builtin_compiler_SOURCES = \
>> +       $(top_srcdir)/src/mesa/program/symbol_table.c   \
>> +       $(BUILTIN_COMPILER_CXX_FILES)                   \
>> +       $(GLSL_COMPILER_CXX_FILES)
>> ++
>> ++if CROSS_COMPILING
>> ++builtin_compiler_SOURCES += \
>> ++      $(LIBGLCPP_GENERATED_FILES) \
>> ++      $(LIBGLCPP_FILES) \
>> ++      $(BUILTIN_COMPILER_GENERATED_CXX_FILES) \
>> ++      $(LIBGLSL_FILES)
>> ++builtin_compiler_CPPFLAGS = $(AM_CPPFLAGS)
>> ++else
>> + builtin_compiler_LDADD = libglslcore.la libglcpp.la
>> ++endif
>> +--
>> +1.8.2.1
>> +
>> diff --git a/meta/recipes-graphics/mesa/mesa/EGL-Mutate-NativeDisplayType-depending-on-config.patch b/meta/recipes-graphics/mesa/mesa/EGL-Mutate-NativeDisplayType-depending-on-config.patch
>> deleted file mode 100644
>> index 47ba167..0000000
>> --- a/meta/recipes-graphics/mesa/mesa/EGL-Mutate-NativeDisplayType-depending-on-config.patch
>> +++ /dev/null
>> @@ -1,358 +0,0 @@
>> -From d52a7ec5dcdf3936bd727b854831efb90acfd2ba Mon Sep 17 00:00:00 2001
>> -From: Daniel Stone <daniel@fooishbar.org>
>> -Date: Fri, 24 May 2013 17:20:27 +0100
>> -Subject: [PATCH] EGL: Mutate NativeDisplayType depending on config
>> -
>> -If we go through ./configure without enabling X11 anywhere, then set the
>> -fallback types for EGL NativeDisplay and friends, rather than assuming
>> -X11/Xlib.
>> -
>> -Signed-off-by: Daniel Stone <daniel@fooishbar.org>
>> ----
>> - configure.ac                 |    9 +++
>> - include/EGL/eglplatform.h    |  146 ------------------------------------------
>> - include/EGL/eglplatform.h.in |  146 ++++++++++++++++++++++++++++++++++++++++++
>> - 3 files changed, 155 insertions(+), 146 deletions(-)
>> - delete mode 100644 include/EGL/eglplatform.h
>> - create mode 100644 include/EGL/eglplatform.h.in
>> -
>> -diff --git a/configure.ac b/configure.ac
>> -index 4a98996..6fa77da 100644
>> ---- a/configure.ac
>> -+++ b/configure.ac
>> -@@ -1576,12 +1576,20 @@ fi
>> -
>> - EGL_PLATFORMS="$egl_platforms"
>> -
>> -+if echo "$egl_platforms" | grep 'x11' >/dev/null 2>&1; then
>> -+    MESA_EGL_NO_X11_HEADERS=0
>> -+else
>> -+    MESA_EGL_NO_X11_HEADERS=1
>> -+fi
>> -+
>> - AM_CONDITIONAL(HAVE_EGL_PLATFORM_X11, echo "$egl_platforms" | grep 'x11' >/dev/null 2>&1)
>> - AM_CONDITIONAL(HAVE_EGL_PLATFORM_WAYLAND, echo "$egl_platforms" | grep 'wayland' >/dev/null 2>&1)
>> - AM_CONDITIONAL(HAVE_EGL_PLATFORM_DRM, echo "$egl_platforms" | grep 'drm' >/dev/null 2>&1)
>> - AM_CONDITIONAL(HAVE_EGL_PLATFORM_FBDEV, echo "$egl_platforms" | grep 'fbdev' >/dev/null 2>&1)
>> - AM_CONDITIONAL(HAVE_EGL_PLATFORM_NULL, echo "$egl_platforms" | grep 'null' >/dev/null 2>&1)
>> -
>> -+AC_SUBST([MESA_EGL_NO_X11_HEADERS])
>> -+
>> - AM_CONDITIONAL(HAVE_EGL_DRIVER_DRI2, test "x$HAVE_EGL_DRIVER_DRI2" != "x")
>> - AM_CONDITIONAL(HAVE_EGL_DRIVER_GLX, test "x$HAVE_EGL_DRIVER_GLX" != "x")
>> -
>> -@@ -2053,6 +2061,7 @@ CXXFLAGS="$CXXFLAGS $USER_CXXFLAGS"
>> -
>> - dnl Substitute the config
>> - AC_CONFIG_FILES([Makefile
>> -+                include/EGL/eglplatform.h
>> -               src/Makefile
>> -               src/egl/Makefile
>> -               src/egl/drivers/Makefile
>> -diff --git a/include/EGL/eglplatform.h b/include/EGL/eglplatform.h
>> -deleted file mode 100644
>> -index 17fdc61..0000000
>> ---- a/include/EGL/eglplatform.h
>> -+++ /dev/null
>> -@@ -1,146 +0,0 @@
>> --#ifndef __eglplatform_h_
>> --#define __eglplatform_h_
>> --
>> --/*
>> --** Copyright (c) 2007-2009 The Khronos Group Inc.
>> --**
>> --** Permission is hereby granted, free of charge, to any person obtaining a
>> --** copy of this software and/or associated documentation files (the
>> --** "Materials"), to deal in the Materials without restriction, including
>> --** without limitation the rights to use, copy, modify, merge, publish,
>> --** distribute, sublicense, and/or sell copies of the Materials, and to
>> --** permit persons to whom the Materials are furnished to do so, subject to
>> --** the following conditions:
>> --**
>> --** The above copyright notice and this permission notice shall be included
>> --** in all copies or substantial portions of the Materials.
>> --**
>> --** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
>> --** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
>> --** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
>> --** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
>> --** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
>> --** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
>> --** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
>> --*/
>> --
>> --/* Platform-specific types and definitions for egl.h
>> -- * $Revision: 12306 $ on $Date: 2010-08-25 09:51:28 -0700 (Wed, 25 Aug 2010) $
>> -- *
>> -- * Adopters may modify khrplatform.h and this file to suit their platform.
>> -- * You are encouraged to submit all modifications to the Khronos group so that
>> -- * they can be included in future versions of this file.  Please submit changes
>> -- * by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla)
>> -- * by filing a bug against product "EGL" component "Registry".
>> -- */
>> --
>> --#include <KHR/khrplatform.h>
>> --
>> --/* Macros used in EGL function prototype declarations.
>> -- *
>> -- * EGL functions should be prototyped as:
>> -- *
>> -- * EGLAPI return-type EGLAPIENTRY eglFunction(arguments);
>> -- * typedef return-type (EXPAPIENTRYP PFNEGLFUNCTIONPROC) (arguments);
>> -- *
>> -- * KHRONOS_APICALL and KHRONOS_APIENTRY are defined in KHR/khrplatform.h
>> -- */
>> --
>> --#ifndef EGLAPI
>> --#define EGLAPI KHRONOS_APICALL
>> --#endif
>> --
>> --#ifndef EGLAPIENTRY
>> --#define EGLAPIENTRY  KHRONOS_APIENTRY
>> --#endif
>> --#define EGLAPIENTRYP EGLAPIENTRY*
>> --
>> --/* The types NativeDisplayType, NativeWindowType, and NativePixmapType
>> -- * are aliases of window-system-dependent types, such as X Display * or
>> -- * Windows Device Context. They must be defined in platform-specific
>> -- * code below. The EGL-prefixed versions of Native*Type are the same
>> -- * types, renamed in EGL 1.3 so all types in the API start with "EGL".
>> -- *
>> -- * Khronos STRONGLY RECOMMENDS that you use the default definitions
>> -- * provided below, since these changes affect both binary and source
>> -- * portability of applications using EGL running on different EGL
>> -- * implementations.
>> -- */
>> --
>> --#if defined(_WIN32) || defined(__VC32__) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) /* Win32 and WinCE */
>> --#ifndef WIN32_LEAN_AND_MEAN
>> --#define WIN32_LEAN_AND_MEAN 1
>> --#endif
>> --#include <windows.h>
>> --
>> --typedef HDC     EGLNativeDisplayType;
>> --typedef HBITMAP EGLNativePixmapType;
>> --typedef HWND    EGLNativeWindowType;
>> --
>> --#elif defined(__WINSCW__) || defined(__SYMBIAN32__)  /* Symbian */
>> --
>> --typedef int   EGLNativeDisplayType;
>> --typedef void *EGLNativeWindowType;
>> --typedef void *EGLNativePixmapType;
>> --
>> --#elif defined(WL_EGL_PLATFORM)
>> --
>> --typedef struct wl_display     *EGLNativeDisplayType;
>> --typedef struct wl_egl_pixmap  *EGLNativePixmapType;
>> --typedef struct wl_egl_window  *EGLNativeWindowType;
>> --
>> --#elif defined(__GBM__)
>> --
>> --typedef struct gbm_device  *EGLNativeDisplayType;
>> --typedef struct gbm_bo      *EGLNativePixmapType;
>> --typedef void               *EGLNativeWindowType;
>> --
>> --#elif defined(ANDROID) /* Android */
>> --
>> --struct ANativeWindow;
>> --struct egl_native_pixmap_t;
>> --
>> --typedef struct ANativeWindow        *EGLNativeWindowType;
>> --typedef struct egl_native_pixmap_t  *EGLNativePixmapType;
>> --typedef void                        *EGLNativeDisplayType;
>> --
>> --#elif defined(__unix__)
>> --
>> --#ifdef MESA_EGL_NO_X11_HEADERS
>> --
>> --typedef void            *EGLNativeDisplayType;
>> --typedef khronos_uint32_t EGLNativePixmapType;
>> --typedef khronos_uint32_t EGLNativeWindowType;
>> --
>> --#else
>> --
>> --/* X11 (tentative)  */
>> --#include <X11/Xlib.h>
>> --#include <X11/Xutil.h>
>> --
>> --typedef Display *EGLNativeDisplayType;
>> --typedef Pixmap   EGLNativePixmapType;
>> --typedef Window   EGLNativeWindowType;
>> --
>> --#endif /* MESA_EGL_NO_X11_HEADERS */
>> --
>> --#else
>> --#error "Platform not recognized"
>> --#endif
>> --
>> --/* EGL 1.2 types, renamed for consistency in EGL 1.3 */
>> --typedef EGLNativeDisplayType NativeDisplayType;
>> --typedef EGLNativePixmapType  NativePixmapType;
>> --typedef EGLNativeWindowType  NativeWindowType;
>> --
>> --
>> --/* Define EGLint. This must be a signed integral type large enough to contain
>> -- * all legal attribute names and values passed into and out of EGL, whether
>> -- * their type is boolean, bitmask, enumerant (symbolic constant), integer,
>> -- * handle, or other.  While in general a 32-bit integer will suffice, if
>> -- * handles are 64 bit types, then EGLint should be defined as a signed 64-bit
>> -- * integer type.
>> -- */
>> --typedef khronos_int32_t EGLint;
>> --
>> --#endif /* __eglplatform_h */
>> -diff --git a/include/EGL/eglplatform.h.in b/include/EGL/eglplatform.h.in
>> -new file mode 100644
>> -index 0000000..5126c92
>> ---- /dev/null
>> -+++ b/include/EGL/eglplatform.h.in
>> -@@ -0,0 +1,146 @@
>> -+#ifndef __eglplatform_h_
>> -+#define __eglplatform_h_
>> -+
>> -+/*
>> -+** Copyright (c) 2007-2009 The Khronos Group Inc.
>> -+**
>> -+** Permission is hereby granted, free of charge, to any person obtaining a
>> -+** copy of this software and/or associated documentation files (the
>> -+** "Materials"), to deal in the Materials without restriction, including
>> -+** without limitation the rights to use, copy, modify, merge, publish,
>> -+** distribute, sublicense, and/or sell copies of the Materials, and to
>> -+** permit persons to whom the Materials are furnished to do so, subject to
>> -+** the following conditions:
>> -+**
>> -+** The above copyright notice and this permission notice shall be included
>> -+** in all copies or substantial portions of the Materials.
>> -+**
>> -+** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
>> -+** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
>> -+** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
>> -+** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
>> -+** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
>> -+** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
>> -+** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
>> -+*/
>> -+
>> -+/* Platform-specific types and definitions for egl.h
>> -+ * $Revision: 12306 $ on $Date: 2010-08-25 09:51:28 -0700 (Wed, 25 Aug 2010) $
>> -+ *
>> -+ * Adopters may modify khrplatform.h and this file to suit their platform.
>> -+ * You are encouraged to submit all modifications to the Khronos group so that
>> -+ * they can be included in future versions of this file.  Please submit changes
>> -+ * by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla)
>> -+ * by filing a bug against product "EGL" component "Registry".
>> -+ */
>> -+
>> -+#include <KHR/khrplatform.h>
>> -+
>> -+/* Macros used in EGL function prototype declarations.
>> -+ *
>> -+ * EGL functions should be prototyped as:
>> -+ *
>> -+ * EGLAPI return-type EGLAPIENTRY eglFunction(arguments);
>> -+ * typedef return-type (EXPAPIENTRYP PFNEGLFUNCTIONPROC) (arguments);
>> -+ *
>> -+ * KHRONOS_APICALL and KHRONOS_APIENTRY are defined in KHR/khrplatform.h
>> -+ */
>> -+
>> -+#ifndef EGLAPI
>> -+#define EGLAPI KHRONOS_APICALL
>> -+#endif
>> -+
>> -+#ifndef EGLAPIENTRY
>> -+#define EGLAPIENTRY  KHRONOS_APIENTRY
>> -+#endif
>> -+#define EGLAPIENTRYP EGLAPIENTRY*
>> -+
>> -+/* The types NativeDisplayType, NativeWindowType, and NativePixmapType
>> -+ * are aliases of window-system-dependent types, such as X Display * or
>> -+ * Windows Device Context. They must be defined in platform-specific
>> -+ * code below. The EGL-prefixed versions of Native*Type are the same
>> -+ * types, renamed in EGL 1.3 so all types in the API start with "EGL".
>> -+ *
>> -+ * Khronos STRONGLY RECOMMENDS that you use the default definitions
>> -+ * provided below, since these changes affect both binary and source
>> -+ * portability of applications using EGL running on different EGL
>> -+ * implementations.
>> -+ */
>> -+
>> -+#if defined(_WIN32) || defined(__VC32__) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) /* Win32 and WinCE */
>> -+#ifndef WIN32_LEAN_AND_MEAN
>> -+#define WIN32_LEAN_AND_MEAN 1
>> -+#endif
>> -+#include <windows.h>
>> -+
>> -+typedef HDC     EGLNativeDisplayType;
>> -+typedef HBITMAP EGLNativePixmapType;
>> -+typedef HWND    EGLNativeWindowType;
>> -+
>> -+#elif defined(__WINSCW__) || defined(__SYMBIAN32__)  /* Symbian */
>> -+
>> -+typedef int   EGLNativeDisplayType;
>> -+typedef void *EGLNativeWindowType;
>> -+typedef void *EGLNativePixmapType;
>> -+
>> -+#elif defined(WL_EGL_PLATFORM)
>> -+
>> -+typedef struct wl_display     *EGLNativeDisplayType;
>> -+typedef struct wl_egl_pixmap  *EGLNativePixmapType;
>> -+typedef struct wl_egl_window  *EGLNativeWindowType;
>> -+
>> -+#elif defined(__GBM__)
>> -+
>> -+typedef struct gbm_device  *EGLNativeDisplayType;
>> -+typedef struct gbm_bo      *EGLNativePixmapType;
>> -+typedef void               *EGLNativeWindowType;
>> -+
>> -+#elif defined(ANDROID) /* Android */
>> -+
>> -+struct ANativeWindow;
>> -+struct egl_native_pixmap_t;
>> -+
>> -+typedef struct ANativeWindow        *EGLNativeWindowType;
>> -+typedef struct egl_native_pixmap_t  *EGLNativePixmapType;
>> -+typedef void                        *EGLNativeDisplayType;
>> -+
>> -+#elif defined(__unix__)
>> -+
>> -+#if @MESA_EGL_NO_X11_HEADERS@
>> -+
>> -+typedef void            *EGLNativeDisplayType;
>> -+typedef khronos_uint32_t EGLNativePixmapType;
>> -+typedef khronos_uint32_t EGLNativeWindowType;
>> -+
>> -+#else
>> -+
>> -+/* X11 (tentative)  */
>> -+#include <X11/Xlib.h>
>> -+#include <X11/Xutil.h>
>> -+
>> -+typedef Display *EGLNativeDisplayType;
>> -+typedef Pixmap   EGLNativePixmapType;
>> -+typedef Window   EGLNativeWindowType;
>> -+
>> -+#endif /* MESA_EGL_NO_X11_HEADERS */
>> -+
>> -+#else
>> -+#error "Platform not recognized"
>> -+#endif
>> -+
>> -+/* EGL 1.2 types, renamed for consistency in EGL 1.3 */
>> -+typedef EGLNativeDisplayType NativeDisplayType;
>> -+typedef EGLNativePixmapType  NativePixmapType;
>> -+typedef EGLNativeWindowType  NativeWindowType;
>> -+
>> -+
>> -+/* Define EGLint. This must be a signed integral type large enough to contain
>> -+ * all legal attribute names and values passed into and out of EGL, whether
>> -+ * their type is boolean, bitmask, enumerant (symbolic constant), integer,
>> -+ * handle, or other.  While in general a 32-bit integer will suffice, if
>> -+ * handles are 64 bit types, then EGLint should be defined as a signed 64-bit
>> -+ * integer type.
>> -+ */
>> -+typedef khronos_int32_t EGLint;
>> -+
>> -+#endif /* __eglplatform_h */
>> ---
>> -1.7.10.4
>> -
>> diff --git a/meta/recipes-graphics/mesa/mesa/fix-glsl-cross.patch b/meta/recipes-graphics/mesa/mesa/fix-glsl-cross.patch
>> deleted file mode 100644
>> index 34226ea..0000000
>> --- a/meta/recipes-graphics/mesa/mesa/fix-glsl-cross.patch
>> +++ /dev/null
>> @@ -1,43 +0,0 @@
>> -The target libtool is used when building host binaries, which predictably
>> -doesn't work.
>> -
>> -Upstream-Status: Submitted (https://bugs.freedesktop.org/show_bug.cgi?id=44618)
>> -Signed-off-by: Jonathan Liu <net147@gmail.com>
>> -Signed-off-by: Ross Burton <ross.burton@intel.com>
>> -
>> -diff --git a/src/glsl/builtin_compiler/Makefile.am b/src/glsl/builtin_compiler/Makefile.am
>> -index e11a17f..8ebe0a2 100644
>> ---- a/src/glsl/builtin_compiler/Makefile.am
>> -+++ b/src/glsl/builtin_compiler/Makefile.am
>> -@@ -64,6 +64,8 @@ AM_CXXFLAGS = $(AM_CFLAGS)
>> - include ../Makefile.sources
>> -
>> - noinst_PROGRAMS = builtin_compiler
>> -+
>> -+if !CROSS_COMPILING
>> - noinst_LTLIBRARIES = libglslcore.la libglcpp.la
>> -
>> - libglcpp_la_SOURCES =                                 \
>> -@@ -73,6 +75,7 @@ libglcpp_la_SOURCES =                                        \
>> - libglslcore_la_SOURCES =                              \
>> -       $(BUILTIN_COMPILER_GENERATED_CXX_FILES)         \
>> -       $(LIBGLSL_FILES)
>> -+endif
>> -
>> - builtin_compiler_SOURCES = \
>> -       $(top_srcdir)/src/mesa/main/hash_table.c        \
>> -@@ -81,4 +84,14 @@ builtin_compiler_SOURCES = \
>> -       $(top_srcdir)/src/mesa/program/symbol_table.c   \
>> -       $(BUILTIN_COMPILER_CXX_FILES)                   \
>> -       $(GLSL_COMPILER_CXX_FILES)
>> -+
>> -+if CROSS_COMPILING
>> -+builtin_compiler_SOURCES += \
>> -+      $(LIBGLCPP_GENERATED_FILES) \
>> -+      $(LIBGLCPP_FILES) \
>> -+      $(BUILTIN_COMPILER_GENERATED_CXX_FILES) \
>> -+      $(LIBGLSL_FILES)
>> -+builtin_compiler_CPPFLAGS = $(AM_CPPFLAGS)
>> -+else
>> - builtin_compiler_LDADD = libglslcore.la libglcpp.la
>> -+endif
>> diff --git a/meta/recipes-graphics/mesa/mesa_9.1.3.bb b/meta/recipes-graphics/mesa/mesa_9.1.3.bb
>> index bbeacd3..a7ccbe6 100644
>> --- a/meta/recipes-graphics/mesa/mesa_9.1.3.bb
>> +++ b/meta/recipes-graphics/mesa/mesa_9.1.3.bb
>> @@ -1,11 +1,11 @@
>>  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 \
>>             file://0002-pipe_loader_sw-include-xlib_sw_winsys.h-only-when-HA.patch \
>> +           file://0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch \
>> +           file://0004-glsl-fix-builtin_compiler-cross-compilation.patch \
>> +           file://0005-llvmpipe-remove-the-power-of-two-sizeof-struct-cmd_b.patch \
>>             "
>>
>>  SRC_URI[md5sum] = "952ccd03547ed72333b64e1746cf8ada"
>> diff --git a/meta/recipes-graphics/mesa/mesa_git.bb b/meta/recipes-graphics/mesa/mesa_git.bb
>> index 09a9531..52d3d81 100644
>> --- a/meta/recipes-graphics/mesa/mesa_git.bb
>> +++ b/meta/recipes-graphics/mesa/mesa_git.bb
>> @@ -2,17 +2,17 @@ require ${BPN}.inc
>>
>>  DEFAULT_PREFERENCE = "-1"
>>
>> +LIC_FILES_CHKSUM = "file://docs/license.html;md5=f69a4626e9efc40fa0d3cc3b02c9eacf"
>> +
>>  PR = "${INC_PR}.0"
>> -# 9.1.3 commit
>> -SRCREV = "f32ec82a8cfcabc5b7596796f36afe7986651f02"
>> +SRCREV = "5a925cc5504575c22dbb7d29842d7fc5babcb5c7"
>>  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 \
>>             file://0002-pipe_loader_sw-include-xlib_sw_winsys.h-only-when-HA.patch \
>> +           file://0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch \
>> +           file://0004-glsl-fix-builtin_compiler-cross-compilation.patch \
>>             "
>>
>>  S = "${WORKDIR}/git"
>> --
>> 1.8.2.1
>>
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core@lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-core


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCHv3] mesa: bump SRCREV in git recipe, refresh patches
  2013-07-19  4:42           ` Jonathan Liu
@ 2013-07-19  8:56             ` Martin Jansa
  2013-07-23 10:37             ` Burton, Ross
  1 sibling, 0 replies; 15+ messages in thread
From: Martin Jansa @ 2013-07-19  8:56 UTC (permalink / raw)
  To: Jonathan Liu; +Cc: openembedded-core

[-- Attachment #1: Type: text/plain, Size: 65802 bytes --]

On Fri, Jul 19, 2013 at 02:42:07PM +1000, Jonathan Liu wrote:
> On 19 July 2013 13:14, Jonathan Liu <net147@gmail.com> wrote:
> > I get the following with PACKAGECONFIG_append_pn-mesa = " gallium
> > gallium-llvmpipe":
> > WARNING: QA Issue: mesa: Files/directories were installed but not shipped
> >   /usr/lib/libXvMCsoftpipe.so
> >   /usr/lib/libXvMCsoftpipe.la
> 
> I wonder if the PV should be 9.2.0+git${SRCPV} instead of
> 9.1.3+git${SRCPV} since the OpenGL version string (as reported by
> glxinfo) is 2.1 Mesa 9.2.0-devel (git-5a925cc).

9.2.0+git${SRCPV} would mean that current SRCREV is newer then 9.2.0
release which isn't true.

> 
> >
> > Regards,
> > Jonathan
> >
> > On 2 July 2013 21:49, Martin Jansa <martin.jansa@gmail.com> wrote:
> >> * 0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch
> >>   needs to be rebased so move old version for 9.1.3 to
> >>   mesa-9.1.3/ and update the version in mesa/
> >> * add git headers
> >> * 0005-llvmpipe-remove-the-power-of-two-sizeof-struct-cmd_b.patch
> >>   is already applied in new SRCREV, move it to mesa-9.1.3/
> >> * formal change in license.html with new SRCREV:
> >>    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
> >>    OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> >>    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
> >>   -BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
> >>   -AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
> >>   -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
> >>   +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
> >>   +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
> >>   +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
> >>   +SOFTWARE.
> >>
> >> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
> >> ---
> >>  ...ate-NativeDisplayType-depending-on-config.patch | 359 +++++++++++++++++++++
> >>  ...move-the-power-of-two-sizeof-struct-cmd_b.patch |  41 +++
> >>  ...void-use-of-AC_CHECK_FILE-for-cross-compi.patch |  14 +-
> >>  ...move-the-power-of-two-sizeof-struct-cmd_b.patch |  42 ---
> >>  ...ate-NativeDisplayType-depending-on-config.patch | 356 ++++++++++++++++++++
> >>  ...sl-fix-builtin_compiler-cross-compilation.patch |  54 ++++
> >>  ...ate-NativeDisplayType-depending-on-config.patch | 358 --------------------
> >>  .../mesa/mesa/fix-glsl-cross.patch                 |  43 ---
> >>  meta/recipes-graphics/mesa/mesa_9.1.3.bb           |   6 +-
> >>  meta/recipes-graphics/mesa/mesa_git.bb             |  10 +-
> >>  10 files changed, 825 insertions(+), 458 deletions(-)
> >>  create mode 100644 meta/recipes-graphics/mesa/mesa-9.1.3/0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch
> >>  create mode 100644 meta/recipes-graphics/mesa/mesa-9.1.3/0005-llvmpipe-remove-the-power-of-two-sizeof-struct-cmd_b.patch
> >>  delete mode 100644 meta/recipes-graphics/mesa/mesa/0001-llvmpipe-remove-the-power-of-two-sizeof-struct-cmd_b.patch
> >>  create mode 100644 meta/recipes-graphics/mesa/mesa/0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch
> >>  create mode 100644 meta/recipes-graphics/mesa/mesa/0004-glsl-fix-builtin_compiler-cross-compilation.patch
> >>  delete mode 100644 meta/recipes-graphics/mesa/mesa/EGL-Mutate-NativeDisplayType-depending-on-config.patch
> >>  delete mode 100644 meta/recipes-graphics/mesa/mesa/fix-glsl-cross.patch
> >>
> >> diff --git a/meta/recipes-graphics/mesa/mesa-9.1.3/0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch b/meta/recipes-graphics/mesa/mesa-9.1.3/0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch
> >> new file mode 100644
> >> index 0000000..7e82b6a
> >> --- /dev/null
> >> +++ b/meta/recipes-graphics/mesa/mesa-9.1.3/0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch
> >> @@ -0,0 +1,359 @@
> >> +From 06c1ba29de8a26fffb73ee99f0fc54c704e9fee4 Mon Sep 17 00:00:00 2001
> >> +From: Daniel Stone <daniel@fooishbar.org>
> >> +Date: Fri, 24 May 2013 17:20:27 +0100
> >> +Subject: [PATCH 3/5] EGL: Mutate NativeDisplayType depending on config
> >> +
> >> +If we go through ./configure without enabling X11 anywhere, then set the
> >> +fallback types for EGL NativeDisplay and friends, rather than assuming
> >> +X11/Xlib.
> >> +
> >> +Signed-off-by: Daniel Stone <daniel@fooishbar.org>
> >> +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
> >> +---
> >> + configure.ac                 |   9 +++
> >> + include/EGL/eglplatform.h    | 146 -------------------------------------------
> >> + include/EGL/eglplatform.h.in | 146 +++++++++++++++++++++++++++++++++++++++++++
> >> + 3 files changed, 155 insertions(+), 146 deletions(-)
> >> + delete mode 100644 include/EGL/eglplatform.h
> >> + create mode 100644 include/EGL/eglplatform.h.in
> >> +
> >> +diff --git a/configure.ac b/configure.ac
> >> +index 2b4a374..d4c7a95 100644
> >> +--- a/configure.ac
> >> ++++ b/configure.ac
> >> +@@ -1565,12 +1565,20 @@ fi
> >> +
> >> + EGL_PLATFORMS="$egl_platforms"
> >> +
> >> ++if echo "$egl_platforms" | grep 'x11' >/dev/null 2>&1; then
> >> ++    MESA_EGL_NO_X11_HEADERS=0
> >> ++else
> >> ++    MESA_EGL_NO_X11_HEADERS=1
> >> ++fi
> >> ++
> >> + AM_CONDITIONAL(HAVE_EGL_PLATFORM_X11, echo "$egl_platforms" | grep 'x11' >/dev/null 2>&1)
> >> + AM_CONDITIONAL(HAVE_EGL_PLATFORM_WAYLAND, echo "$egl_platforms" | grep 'wayland' >/dev/null 2>&1)
> >> + AM_CONDITIONAL(HAVE_EGL_PLATFORM_DRM, echo "$egl_platforms" | grep 'drm' >/dev/null 2>&1)
> >> + AM_CONDITIONAL(HAVE_EGL_PLATFORM_FBDEV, echo "$egl_platforms" | grep 'fbdev' >/dev/null 2>&1)
> >> + AM_CONDITIONAL(HAVE_EGL_PLATFORM_NULL, echo "$egl_platforms" | grep 'null' >/dev/null 2>&1)
> >> +
> >> ++AC_SUBST([MESA_EGL_NO_X11_HEADERS])
> >> ++
> >> + AM_CONDITIONAL(HAVE_EGL_DRIVER_DRI2, test "x$HAVE_EGL_DRIVER_DRI2" != "x")
> >> + AM_CONDITIONAL(HAVE_EGL_DRIVER_GLX, test "x$HAVE_EGL_DRIVER_GLX" != "x")
> >> +
> >> +@@ -2042,6 +2050,7 @@ CXXFLAGS="$CXXFLAGS $USER_CXXFLAGS"
> >> +
> >> + dnl Substitute the config
> >> + AC_CONFIG_FILES([Makefile
> >> ++              include/EGL/eglplatform.h
> >> +               src/Makefile
> >> +               src/egl/Makefile
> >> +               src/egl/drivers/Makefile
> >> +diff --git a/include/EGL/eglplatform.h b/include/EGL/eglplatform.h
> >> +deleted file mode 100644
> >> +index 17fdc61..0000000
> >> +--- a/include/EGL/eglplatform.h
> >> ++++ /dev/null
> >> +@@ -1,146 +0,0 @@
> >> +-#ifndef __eglplatform_h_
> >> +-#define __eglplatform_h_
> >> +-
> >> +-/*
> >> +-** Copyright (c) 2007-2009 The Khronos Group Inc.
> >> +-**
> >> +-** Permission is hereby granted, free of charge, to any person obtaining a
> >> +-** copy of this software and/or associated documentation files (the
> >> +-** "Materials"), to deal in the Materials without restriction, including
> >> +-** without limitation the rights to use, copy, modify, merge, publish,
> >> +-** distribute, sublicense, and/or sell copies of the Materials, and to
> >> +-** permit persons to whom the Materials are furnished to do so, subject to
> >> +-** the following conditions:
> >> +-**
> >> +-** The above copyright notice and this permission notice shall be included
> >> +-** in all copies or substantial portions of the Materials.
> >> +-**
> >> +-** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
> >> +-** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
> >> +-** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
> >> +-** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
> >> +-** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
> >> +-** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
> >> +-** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
> >> +-*/
> >> +-
> >> +-/* Platform-specific types and definitions for egl.h
> >> +- * $Revision: 12306 $ on $Date: 2010-08-25 09:51:28 -0700 (Wed, 25 Aug 2010) $
> >> +- *
> >> +- * Adopters may modify khrplatform.h and this file to suit their platform.
> >> +- * You are encouraged to submit all modifications to the Khronos group so that
> >> +- * they can be included in future versions of this file.  Please submit changes
> >> +- * by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla)
> >> +- * by filing a bug against product "EGL" component "Registry".
> >> +- */
> >> +-
> >> +-#include <KHR/khrplatform.h>
> >> +-
> >> +-/* Macros used in EGL function prototype declarations.
> >> +- *
> >> +- * EGL functions should be prototyped as:
> >> +- *
> >> +- * EGLAPI return-type EGLAPIENTRY eglFunction(arguments);
> >> +- * typedef return-type (EXPAPIENTRYP PFNEGLFUNCTIONPROC) (arguments);
> >> +- *
> >> +- * KHRONOS_APICALL and KHRONOS_APIENTRY are defined in KHR/khrplatform.h
> >> +- */
> >> +-
> >> +-#ifndef EGLAPI
> >> +-#define EGLAPI KHRONOS_APICALL
> >> +-#endif
> >> +-
> >> +-#ifndef EGLAPIENTRY
> >> +-#define EGLAPIENTRY  KHRONOS_APIENTRY
> >> +-#endif
> >> +-#define EGLAPIENTRYP EGLAPIENTRY*
> >> +-
> >> +-/* The types NativeDisplayType, NativeWindowType, and NativePixmapType
> >> +- * are aliases of window-system-dependent types, such as X Display * or
> >> +- * Windows Device Context. They must be defined in platform-specific
> >> +- * code below. The EGL-prefixed versions of Native*Type are the same
> >> +- * types, renamed in EGL 1.3 so all types in the API start with "EGL".
> >> +- *
> >> +- * Khronos STRONGLY RECOMMENDS that you use the default definitions
> >> +- * provided below, since these changes affect both binary and source
> >> +- * portability of applications using EGL running on different EGL
> >> +- * implementations.
> >> +- */
> >> +-
> >> +-#if defined(_WIN32) || defined(__VC32__) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) /* Win32 and WinCE */
> >> +-#ifndef WIN32_LEAN_AND_MEAN
> >> +-#define WIN32_LEAN_AND_MEAN 1
> >> +-#endif
> >> +-#include <windows.h>
> >> +-
> >> +-typedef HDC     EGLNativeDisplayType;
> >> +-typedef HBITMAP EGLNativePixmapType;
> >> +-typedef HWND    EGLNativeWindowType;
> >> +-
> >> +-#elif defined(__WINSCW__) || defined(__SYMBIAN32__)  /* Symbian */
> >> +-
> >> +-typedef int   EGLNativeDisplayType;
> >> +-typedef void *EGLNativeWindowType;
> >> +-typedef void *EGLNativePixmapType;
> >> +-
> >> +-#elif defined(WL_EGL_PLATFORM)
> >> +-
> >> +-typedef struct wl_display     *EGLNativeDisplayType;
> >> +-typedef struct wl_egl_pixmap  *EGLNativePixmapType;
> >> +-typedef struct wl_egl_window  *EGLNativeWindowType;
> >> +-
> >> +-#elif defined(__GBM__)
> >> +-
> >> +-typedef struct gbm_device  *EGLNativeDisplayType;
> >> +-typedef struct gbm_bo      *EGLNativePixmapType;
> >> +-typedef void               *EGLNativeWindowType;
> >> +-
> >> +-#elif defined(ANDROID) /* Android */
> >> +-
> >> +-struct ANativeWindow;
> >> +-struct egl_native_pixmap_t;
> >> +-
> >> +-typedef struct ANativeWindow        *EGLNativeWindowType;
> >> +-typedef struct egl_native_pixmap_t  *EGLNativePixmapType;
> >> +-typedef void                        *EGLNativeDisplayType;
> >> +-
> >> +-#elif defined(__unix__)
> >> +-
> >> +-#ifdef MESA_EGL_NO_X11_HEADERS
> >> +-
> >> +-typedef void            *EGLNativeDisplayType;
> >> +-typedef khronos_uint32_t EGLNativePixmapType;
> >> +-typedef khronos_uint32_t EGLNativeWindowType;
> >> +-
> >> +-#else
> >> +-
> >> +-/* X11 (tentative)  */
> >> +-#include <X11/Xlib.h>
> >> +-#include <X11/Xutil.h>
> >> +-
> >> +-typedef Display *EGLNativeDisplayType;
> >> +-typedef Pixmap   EGLNativePixmapType;
> >> +-typedef Window   EGLNativeWindowType;
> >> +-
> >> +-#endif /* MESA_EGL_NO_X11_HEADERS */
> >> +-
> >> +-#else
> >> +-#error "Platform not recognized"
> >> +-#endif
> >> +-
> >> +-/* EGL 1.2 types, renamed for consistency in EGL 1.3 */
> >> +-typedef EGLNativeDisplayType NativeDisplayType;
> >> +-typedef EGLNativePixmapType  NativePixmapType;
> >> +-typedef EGLNativeWindowType  NativeWindowType;
> >> +-
> >> +-
> >> +-/* Define EGLint. This must be a signed integral type large enough to contain
> >> +- * all legal attribute names and values passed into and out of EGL, whether
> >> +- * their type is boolean, bitmask, enumerant (symbolic constant), integer,
> >> +- * handle, or other.  While in general a 32-bit integer will suffice, if
> >> +- * handles are 64 bit types, then EGLint should be defined as a signed 64-bit
> >> +- * integer type.
> >> +- */
> >> +-typedef khronos_int32_t EGLint;
> >> +-
> >> +-#endif /* __eglplatform_h */
> >> +diff --git a/include/EGL/eglplatform.h.in b/include/EGL/eglplatform.h.in
> >> +new file mode 100644
> >> +index 0000000..5126c92
> >> +--- /dev/null
> >> ++++ b/include/EGL/eglplatform.h.in
> >> +@@ -0,0 +1,146 @@
> >> ++#ifndef __eglplatform_h_
> >> ++#define __eglplatform_h_
> >> ++
> >> ++/*
> >> ++** Copyright (c) 2007-2009 The Khronos Group Inc.
> >> ++**
> >> ++** Permission is hereby granted, free of charge, to any person obtaining a
> >> ++** copy of this software and/or associated documentation files (the
> >> ++** "Materials"), to deal in the Materials without restriction, including
> >> ++** without limitation the rights to use, copy, modify, merge, publish,
> >> ++** distribute, sublicense, and/or sell copies of the Materials, and to
> >> ++** permit persons to whom the Materials are furnished to do so, subject to
> >> ++** the following conditions:
> >> ++**
> >> ++** The above copyright notice and this permission notice shall be included
> >> ++** in all copies or substantial portions of the Materials.
> >> ++**
> >> ++** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
> >> ++** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
> >> ++** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
> >> ++** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
> >> ++** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
> >> ++** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
> >> ++** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
> >> ++*/
> >> ++
> >> ++/* Platform-specific types and definitions for egl.h
> >> ++ * $Revision: 12306 $ on $Date: 2010-08-25 09:51:28 -0700 (Wed, 25 Aug 2010) $
> >> ++ *
> >> ++ * Adopters may modify khrplatform.h and this file to suit their platform.
> >> ++ * You are encouraged to submit all modifications to the Khronos group so that
> >> ++ * they can be included in future versions of this file.  Please submit changes
> >> ++ * by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla)
> >> ++ * by filing a bug against product "EGL" component "Registry".
> >> ++ */
> >> ++
> >> ++#include <KHR/khrplatform.h>
> >> ++
> >> ++/* Macros used in EGL function prototype declarations.
> >> ++ *
> >> ++ * EGL functions should be prototyped as:
> >> ++ *
> >> ++ * EGLAPI return-type EGLAPIENTRY eglFunction(arguments);
> >> ++ * typedef return-type (EXPAPIENTRYP PFNEGLFUNCTIONPROC) (arguments);
> >> ++ *
> >> ++ * KHRONOS_APICALL and KHRONOS_APIENTRY are defined in KHR/khrplatform.h
> >> ++ */
> >> ++
> >> ++#ifndef EGLAPI
> >> ++#define EGLAPI KHRONOS_APICALL
> >> ++#endif
> >> ++
> >> ++#ifndef EGLAPIENTRY
> >> ++#define EGLAPIENTRY  KHRONOS_APIENTRY
> >> ++#endif
> >> ++#define EGLAPIENTRYP EGLAPIENTRY*
> >> ++
> >> ++/* The types NativeDisplayType, NativeWindowType, and NativePixmapType
> >> ++ * are aliases of window-system-dependent types, such as X Display * or
> >> ++ * Windows Device Context. They must be defined in platform-specific
> >> ++ * code below. The EGL-prefixed versions of Native*Type are the same
> >> ++ * types, renamed in EGL 1.3 so all types in the API start with "EGL".
> >> ++ *
> >> ++ * Khronos STRONGLY RECOMMENDS that you use the default definitions
> >> ++ * provided below, since these changes affect both binary and source
> >> ++ * portability of applications using EGL running on different EGL
> >> ++ * implementations.
> >> ++ */
> >> ++
> >> ++#if defined(_WIN32) || defined(__VC32__) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) /* Win32 and WinCE */
> >> ++#ifndef WIN32_LEAN_AND_MEAN
> >> ++#define WIN32_LEAN_AND_MEAN 1
> >> ++#endif
> >> ++#include <windows.h>
> >> ++
> >> ++typedef HDC     EGLNativeDisplayType;
> >> ++typedef HBITMAP EGLNativePixmapType;
> >> ++typedef HWND    EGLNativeWindowType;
> >> ++
> >> ++#elif defined(__WINSCW__) || defined(__SYMBIAN32__)  /* Symbian */
> >> ++
> >> ++typedef int   EGLNativeDisplayType;
> >> ++typedef void *EGLNativeWindowType;
> >> ++typedef void *EGLNativePixmapType;
> >> ++
> >> ++#elif defined(WL_EGL_PLATFORM)
> >> ++
> >> ++typedef struct wl_display     *EGLNativeDisplayType;
> >> ++typedef struct wl_egl_pixmap  *EGLNativePixmapType;
> >> ++typedef struct wl_egl_window  *EGLNativeWindowType;
> >> ++
> >> ++#elif defined(__GBM__)
> >> ++
> >> ++typedef struct gbm_device  *EGLNativeDisplayType;
> >> ++typedef struct gbm_bo      *EGLNativePixmapType;
> >> ++typedef void               *EGLNativeWindowType;
> >> ++
> >> ++#elif defined(ANDROID) /* Android */
> >> ++
> >> ++struct ANativeWindow;
> >> ++struct egl_native_pixmap_t;
> >> ++
> >> ++typedef struct ANativeWindow        *EGLNativeWindowType;
> >> ++typedef struct egl_native_pixmap_t  *EGLNativePixmapType;
> >> ++typedef void                        *EGLNativeDisplayType;
> >> ++
> >> ++#elif defined(__unix__)
> >> ++
> >> ++#if @MESA_EGL_NO_X11_HEADERS@
> >> ++
> >> ++typedef void            *EGLNativeDisplayType;
> >> ++typedef khronos_uint32_t EGLNativePixmapType;
> >> ++typedef khronos_uint32_t EGLNativeWindowType;
> >> ++
> >> ++#else
> >> ++
> >> ++/* X11 (tentative)  */
> >> ++#include <X11/Xlib.h>
> >> ++#include <X11/Xutil.h>
> >> ++
> >> ++typedef Display *EGLNativeDisplayType;
> >> ++typedef Pixmap   EGLNativePixmapType;
> >> ++typedef Window   EGLNativeWindowType;
> >> ++
> >> ++#endif /* MESA_EGL_NO_X11_HEADERS */
> >> ++
> >> ++#else
> >> ++#error "Platform not recognized"
> >> ++#endif
> >> ++
> >> ++/* EGL 1.2 types, renamed for consistency in EGL 1.3 */
> >> ++typedef EGLNativeDisplayType NativeDisplayType;
> >> ++typedef EGLNativePixmapType  NativePixmapType;
> >> ++typedef EGLNativeWindowType  NativeWindowType;
> >> ++
> >> ++
> >> ++/* Define EGLint. This must be a signed integral type large enough to contain
> >> ++ * all legal attribute names and values passed into and out of EGL, whether
> >> ++ * their type is boolean, bitmask, enumerant (symbolic constant), integer,
> >> ++ * handle, or other.  While in general a 32-bit integer will suffice, if
> >> ++ * handles are 64 bit types, then EGLint should be defined as a signed 64-bit
> >> ++ * integer type.
> >> ++ */
> >> ++typedef khronos_int32_t EGLint;
> >> ++
> >> ++#endif /* __eglplatform_h */
> >> +--
> >> +1.8.2.1
> >> +
> >> diff --git a/meta/recipes-graphics/mesa/mesa-9.1.3/0005-llvmpipe-remove-the-power-of-two-sizeof-struct-cmd_b.patch b/meta/recipes-graphics/mesa/mesa-9.1.3/0005-llvmpipe-remove-the-power-of-two-sizeof-struct-cmd_b.patch
> >> new file mode 100644
> >> index 0000000..d86421b
> >> --- /dev/null
> >> +++ b/meta/recipes-graphics/mesa/mesa-9.1.3/0005-llvmpipe-remove-the-power-of-two-sizeof-struct-cmd_b.patch
> >> @@ -0,0 +1,41 @@
> >> +From 33098ef45e6035f3348040a25641f95c95266103 Mon Sep 17 00:00:00 2001
> >> +From: Brian Paul <brianp@vmware.com>
> >> +Date: Wed, 6 Mar 2013 16:57:20 -0700
> >> +Subject: [PATCH 5/5] llvmpipe: remove the power of two sizeof(struct
> >> + cmd_block) assertion
> >> +MIME-Version: 1.0
> >> +Content-Type: text/plain; charset=UTF-8
> >> +Content-Transfer-Encoding: 8bit
> >> +
> >> +It fails on 32-bit systems (I only tested on 64-bit).  Power of two
> >> +size isn't required, so just remove the assertion.
> >> +
> >> +Reviewed-by: José Fonseca <jfonseca@vmware.com>
> >> +
> >> +Upstream-Status: Backport
> >> +http://cgit.freedesktop.org/mesa/mesa/commit/?id=9915636fb8afe75ee2e8e013e4f495a4cb937afb
> >> +---
> >> + src/gallium/drivers/llvmpipe/lp_scene.c | 7 -------
> >> + 1 file changed, 7 deletions(-)
> >> +
> >> +diff --git a/src/gallium/drivers/llvmpipe/lp_scene.c b/src/gallium/drivers/llvmpipe/lp_scene.c
> >> +index e145391..c88bc95 100644
> >> +--- a/src/gallium/drivers/llvmpipe/lp_scene.c
> >> ++++ b/src/gallium/drivers/llvmpipe/lp_scene.c
> >> +@@ -76,13 +76,6 @@ lp_scene_create( struct pipe_context *pipe )
> >> +       assert(maxCommandBytes < LP_SCENE_MAX_SIZE);
> >> +       /* We'll also need space for at least one other data block */
> >> +       assert(maxCommandPlusData <= LP_SCENE_MAX_SIZE);
> >> +-
> >> +-      /* Ideally, the size of a cmd_block object will be a power of two
> >> +-       * in order to avoid wasting space when we allocation them from
> >> +-       * data blocks (which are power of two also).
> >> +-       */
> >> +-      assert(sizeof(struct cmd_block) ==
> >> +-             util_next_power_of_two(sizeof(struct cmd_block)));
> >> +    }
> >> + #endif
> >> +
> >> +--
> >> +1.8.2.1
> >> +
> >> diff --git a/meta/recipes-graphics/mesa/mesa/0001-configure-Avoid-use-of-AC_CHECK_FILE-for-cross-compi.patch b/meta/recipes-graphics/mesa/mesa/0001-configure-Avoid-use-of-AC_CHECK_FILE-for-cross-compi.patch
> >> index 9f7002a..76b5a18 100644
> >> --- a/meta/recipes-graphics/mesa/mesa/0001-configure-Avoid-use-of-AC_CHECK_FILE-for-cross-compi.patch
> >> +++ b/meta/recipes-graphics/mesa/mesa/0001-configure-Avoid-use-of-AC_CHECK_FILE-for-cross-compi.patch
> >> @@ -1,7 +1,7 @@
> >> -From 877b8ea9a79d1d51f8e6b032801731538590d39e Mon Sep 17 00:00:00 2001
> >> +From e21ce89f7ae6964f196086ff325d79e4a3b5acd8 Mon Sep 17 00:00:00 2001
> >>  From: Jonathan Liu <net147@gmail.com>
> >>  Date: Tue, 4 Jun 2013 06:04:44 -0700
> >> -Subject: [PATCH] configure: Avoid use of AC_CHECK_FILE for cross compiling
> >> +Subject: [PATCH 1/4] configure: Avoid use of AC_CHECK_FILE for cross compiling
> >>
> >>  The AC_CHECK_FILE macro can't be used for cross compiling as it will
> >>  result in "error: cannot check for file existence when cross compiling".
> >> @@ -17,10 +17,10 @@ Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
> >>   1 file changed, 6 insertions(+), 6 deletions(-)
> >>
> >>  diff --git a/configure.ac b/configure.ac
> >> -index 36065f1..2b4a374 100644
> >> +index 70c598e..67b8c40 100644
> >>  --- a/configure.ac
> >>  +++ b/configure.ac
> >> -@@ -1694,8 +1694,8 @@ if test "x$enable_gallium_llvm" = xyes; then
> >> +@@ -1630,8 +1630,8 @@ if test "x$enable_gallium_llvm" = xyes; then
> >>                   CLANG_LIBDIR=${LLVM_LIBDIR}
> >>               fi
> >>               CLANG_RESOURCE_DIR=$CLANG_LIBDIR/clang/${LLVM_VERSION}
> >> @@ -31,7 +31,7 @@ index 36065f1..2b4a374 100644
> >>           fi
> >>       else
> >>         MESA_LLVM=0
> >> -@@ -1912,7 +1912,7 @@ if test "x$MESA_LLVM" != x0; then
> >> +@@ -1861,7 +1861,7 @@ if test "x$MESA_LLVM" != x0; then
> >>       if test "x$with_llvm_shared_libs" = xyes; then
> >>           dnl We can't use $LLVM_VERSION because it has 'svn' stripped out,
> >>           LLVM_SO_NAME=LLVM-`$LLVM_CONFIG --version`
> >> @@ -40,7 +40,7 @@ index 36065f1..2b4a374 100644
> >>
> >>           if test "x$llvm_have_one_so" = xyes; then
> >>               dnl LLVM was built using auto*, so there is only one shared object.
> >> -@@ -1920,8 +1920,8 @@ if test "x$MESA_LLVM" != x0; then
> >> +@@ -1869,8 +1869,8 @@ if test "x$MESA_LLVM" != x0; then
> >>           else
> >>               dnl If LLVM was built with CMake, there will be one shared object per
> >>               dnl component.
> >> @@ -51,7 +51,7 @@ index 36065f1..2b4a374 100644
> >>         Please make sure you have built llvm with the --enable-shared option
> >>         and that your llvm libraries are installed in $LLVM_LIBDIR
> >>         If you have installed your llvm libraries to a different directory you
> >> -@@ -1932,7 +1932,7 @@ if test "x$MESA_LLVM" != x0; then
> >> +@@ -1881,7 +1881,7 @@ if test "x$MESA_LLVM" != x0; then
> >>                 --enable-opencl
> >>         If you do not want to build with llvm shared libraries and instead want to
> >>         use llvm static libraries then remove these options from your configure
> >> diff --git a/meta/recipes-graphics/mesa/mesa/0001-llvmpipe-remove-the-power-of-two-sizeof-struct-cmd_b.patch b/meta/recipes-graphics/mesa/mesa/0001-llvmpipe-remove-the-power-of-two-sizeof-struct-cmd_b.patch
> >> deleted file mode 100644
> >> index b74fddc..0000000
> >> --- a/meta/recipes-graphics/mesa/mesa/0001-llvmpipe-remove-the-power-of-two-sizeof-struct-cmd_b.patch
> >> +++ /dev/null
> >> @@ -1,42 +0,0 @@
> >> -From 9915636fb8afe75ee2e8e013e4f495a4cb937afb Mon Sep 17 00:00:00 2001
> >> -From: Brian Paul <brianp@vmware.com>
> >> -Date: Wed, 6 Mar 2013 16:57:20 -0700
> >> -Subject: [PATCH] llvmpipe: remove the power of two sizeof(struct cmd_block)
> >> - assertion
> >> -MIME-Version: 1.0
> >> -Content-Type: text/plain; charset=UTF-8
> >> -Content-Transfer-Encoding: 8bit
> >> -
> >> -It fails on 32-bit systems (I only tested on 64-bit).  Power of two
> >> -size isn't required, so just remove the assertion.
> >> -
> >> -Reviewed-by: José Fonseca <jfonseca@vmware.com>
> >> -
> >> -Upstream-Status: Backport
> >> -http://cgit.freedesktop.org/mesa/mesa/commit/?id=9915636fb8afe75ee2e8e013e4f495a4cb937afb
> >> -
> >> ----
> >> - src/gallium/drivers/llvmpipe/lp_scene.c | 7 -------
> >> - 1 file changed, 7 deletions(-)
> >> -
> >> -diff --git a/src/gallium/drivers/llvmpipe/lp_scene.c b/src/gallium/drivers/llvmpipe/lp_scene.c
> >> -index dd0943e..a0912eb 100644
> >> ---- a/src/gallium/drivers/llvmpipe/lp_scene.c
> >> -+++ b/src/gallium/drivers/llvmpipe/lp_scene.c
> >> -@@ -76,13 +76,6 @@ lp_scene_create( struct pipe_context *pipe )
> >> -       assert(maxCommandBytes < LP_SCENE_MAX_SIZE);
> >> -       /* We'll also need space for at least one other data block */
> >> -       assert(maxCommandPlusData <= LP_SCENE_MAX_SIZE);
> >> --
> >> --      /* Ideally, the size of a cmd_block object will be a power of two
> >> --       * in order to avoid wasting space when we allocation them from
> >> --       * data blocks (which are power of two also).
> >> --       */
> >> --      assert(sizeof(struct cmd_block) ==
> >> --             util_next_power_of_two(sizeof(struct cmd_block)));
> >> -    }
> >> - #endif
> >> -
> >> ---
> >> -1.8.3
> >> -
> >> diff --git a/meta/recipes-graphics/mesa/mesa/0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch b/meta/recipes-graphics/mesa/mesa/0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch
> >> new file mode 100644
> >> index 0000000..d6ddd9a
> >> --- /dev/null
> >> +++ b/meta/recipes-graphics/mesa/mesa/0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch
> >> @@ -0,0 +1,356 @@
> >> +From 8d31ae23683394617c49301b039b3a069b9ea436 Mon Sep 17 00:00:00 2001
> >> +From: Daniel Stone <daniel@fooishbar.org>
> >> +Date: Fri, 24 May 2013 17:20:27 +0100
> >> +Subject: [PATCH 3/4] EGL: Mutate NativeDisplayType depending on config
> >> +
> >> +If we go through ./configure without enabling X11 anywhere, then set the
> >> +fallback types for EGL NativeDisplay and friends, rather than assuming
> >> +X11/Xlib.
> >> +
> >> +Signed-off-by: Daniel Stone <daniel@fooishbar.org>
> >> +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
> >> +---
> >> + configure.ac                 |   5 ++
> >> + include/EGL/eglplatform.h    | 146 -------------------------------------------
> >> + include/EGL/eglplatform.h.in | 146 +++++++++++++++++++++++++++++++++++++++++++
> >> + 3 files changed, 151 insertions(+), 146 deletions(-)
> >> + delete mode 100644 include/EGL/eglplatform.h
> >> + create mode 100644 include/EGL/eglplatform.h.in
> >> +
> >> +diff --git a/configure.ac b/configure.ac
> >> +index 67b8c40..afc3217 100644
> >> +--- a/configure.ac
> >> ++++ b/configure.ac
> >> +@@ -1499,6 +1499,9 @@ EGL_PLATFORMS="$egl_platforms"
> >> +
> >> + if echo "$egl_platforms" | grep 'x11' >/dev/null 2>&1; then
> >> +     NEED_WINSYS_XLIB=yes
> >> ++    MESA_EGL_NO_X11_HEADERS=0
> >> ++else
> >> ++    MESA_EGL_NO_X11_HEADERS=1
> >> + fi
> >> + AM_CONDITIONAL(HAVE_EGL_PLATFORM_X11, echo "$egl_platforms" | grep 'x11' >/dev/null 2>&1)
> >> + AM_CONDITIONAL(HAVE_EGL_PLATFORM_WAYLAND, echo "$egl_platforms" | grep 'wayland' >/dev/null 2>&1)
> >> +@@ -1512,6 +1515,7 @@ AM_CONDITIONAL(HAVE_EGL_DRIVER_GLX, test "x$HAVE_EGL_DRIVER_GLX" != "x")
> >> + AC_SUBST([EGL_NATIVE_PLATFORM])
> >> + AC_SUBST([EGL_PLATFORMS])
> >> + AC_SUBST([EGL_CFLAGS])
> >> ++AC_SUBST([MESA_EGL_NO_X11_HEADERS])
> >> +
> >> + AC_ARG_WITH([egl-driver-dir],
> >> +     [AS_HELP_STRING([--with-egl-driver-dir=DIR],
> >> +@@ -1991,6 +1995,7 @@ CXXFLAGS="$CXXFLAGS $USER_CXXFLAGS"
> >> +
> >> + dnl Substitute the config
> >> + AC_CONFIG_FILES([Makefile
> >> ++              include/EGL/eglplatform.h
> >> +               src/Makefile
> >> +               src/egl/Makefile
> >> +               src/egl/drivers/Makefile
> >> +diff --git a/include/EGL/eglplatform.h b/include/EGL/eglplatform.h
> >> +deleted file mode 100644
> >> +index 17fdc61..0000000
> >> +--- a/include/EGL/eglplatform.h
> >> ++++ /dev/null
> >> +@@ -1,146 +0,0 @@
> >> +-#ifndef __eglplatform_h_
> >> +-#define __eglplatform_h_
> >> +-
> >> +-/*
> >> +-** Copyright (c) 2007-2009 The Khronos Group Inc.
> >> +-**
> >> +-** Permission is hereby granted, free of charge, to any person obtaining a
> >> +-** copy of this software and/or associated documentation files (the
> >> +-** "Materials"), to deal in the Materials without restriction, including
> >> +-** without limitation the rights to use, copy, modify, merge, publish,
> >> +-** distribute, sublicense, and/or sell copies of the Materials, and to
> >> +-** permit persons to whom the Materials are furnished to do so, subject to
> >> +-** the following conditions:
> >> +-**
> >> +-** The above copyright notice and this permission notice shall be included
> >> +-** in all copies or substantial portions of the Materials.
> >> +-**
> >> +-** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
> >> +-** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
> >> +-** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
> >> +-** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
> >> +-** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
> >> +-** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
> >> +-** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
> >> +-*/
> >> +-
> >> +-/* Platform-specific types and definitions for egl.h
> >> +- * $Revision: 12306 $ on $Date: 2010-08-25 09:51:28 -0700 (Wed, 25 Aug 2010) $
> >> +- *
> >> +- * Adopters may modify khrplatform.h and this file to suit their platform.
> >> +- * You are encouraged to submit all modifications to the Khronos group so that
> >> +- * they can be included in future versions of this file.  Please submit changes
> >> +- * by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla)
> >> +- * by filing a bug against product "EGL" component "Registry".
> >> +- */
> >> +-
> >> +-#include <KHR/khrplatform.h>
> >> +-
> >> +-/* Macros used in EGL function prototype declarations.
> >> +- *
> >> +- * EGL functions should be prototyped as:
> >> +- *
> >> +- * EGLAPI return-type EGLAPIENTRY eglFunction(arguments);
> >> +- * typedef return-type (EXPAPIENTRYP PFNEGLFUNCTIONPROC) (arguments);
> >> +- *
> >> +- * KHRONOS_APICALL and KHRONOS_APIENTRY are defined in KHR/khrplatform.h
> >> +- */
> >> +-
> >> +-#ifndef EGLAPI
> >> +-#define EGLAPI KHRONOS_APICALL
> >> +-#endif
> >> +-
> >> +-#ifndef EGLAPIENTRY
> >> +-#define EGLAPIENTRY  KHRONOS_APIENTRY
> >> +-#endif
> >> +-#define EGLAPIENTRYP EGLAPIENTRY*
> >> +-
> >> +-/* The types NativeDisplayType, NativeWindowType, and NativePixmapType
> >> +- * are aliases of window-system-dependent types, such as X Display * or
> >> +- * Windows Device Context. They must be defined in platform-specific
> >> +- * code below. The EGL-prefixed versions of Native*Type are the same
> >> +- * types, renamed in EGL 1.3 so all types in the API start with "EGL".
> >> +- *
> >> +- * Khronos STRONGLY RECOMMENDS that you use the default definitions
> >> +- * provided below, since these changes affect both binary and source
> >> +- * portability of applications using EGL running on different EGL
> >> +- * implementations.
> >> +- */
> >> +-
> >> +-#if defined(_WIN32) || defined(__VC32__) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) /* Win32 and WinCE */
> >> +-#ifndef WIN32_LEAN_AND_MEAN
> >> +-#define WIN32_LEAN_AND_MEAN 1
> >> +-#endif
> >> +-#include <windows.h>
> >> +-
> >> +-typedef HDC     EGLNativeDisplayType;
> >> +-typedef HBITMAP EGLNativePixmapType;
> >> +-typedef HWND    EGLNativeWindowType;
> >> +-
> >> +-#elif defined(__WINSCW__) || defined(__SYMBIAN32__)  /* Symbian */
> >> +-
> >> +-typedef int   EGLNativeDisplayType;
> >> +-typedef void *EGLNativeWindowType;
> >> +-typedef void *EGLNativePixmapType;
> >> +-
> >> +-#elif defined(WL_EGL_PLATFORM)
> >> +-
> >> +-typedef struct wl_display     *EGLNativeDisplayType;
> >> +-typedef struct wl_egl_pixmap  *EGLNativePixmapType;
> >> +-typedef struct wl_egl_window  *EGLNativeWindowType;
> >> +-
> >> +-#elif defined(__GBM__)
> >> +-
> >> +-typedef struct gbm_device  *EGLNativeDisplayType;
> >> +-typedef struct gbm_bo      *EGLNativePixmapType;
> >> +-typedef void               *EGLNativeWindowType;
> >> +-
> >> +-#elif defined(ANDROID) /* Android */
> >> +-
> >> +-struct ANativeWindow;
> >> +-struct egl_native_pixmap_t;
> >> +-
> >> +-typedef struct ANativeWindow        *EGLNativeWindowType;
> >> +-typedef struct egl_native_pixmap_t  *EGLNativePixmapType;
> >> +-typedef void                        *EGLNativeDisplayType;
> >> +-
> >> +-#elif defined(__unix__)
> >> +-
> >> +-#ifdef MESA_EGL_NO_X11_HEADERS
> >> +-
> >> +-typedef void            *EGLNativeDisplayType;
> >> +-typedef khronos_uint32_t EGLNativePixmapType;
> >> +-typedef khronos_uint32_t EGLNativeWindowType;
> >> +-
> >> +-#else
> >> +-
> >> +-/* X11 (tentative)  */
> >> +-#include <X11/Xlib.h>
> >> +-#include <X11/Xutil.h>
> >> +-
> >> +-typedef Display *EGLNativeDisplayType;
> >> +-typedef Pixmap   EGLNativePixmapType;
> >> +-typedef Window   EGLNativeWindowType;
> >> +-
> >> +-#endif /* MESA_EGL_NO_X11_HEADERS */
> >> +-
> >> +-#else
> >> +-#error "Platform not recognized"
> >> +-#endif
> >> +-
> >> +-/* EGL 1.2 types, renamed for consistency in EGL 1.3 */
> >> +-typedef EGLNativeDisplayType NativeDisplayType;
> >> +-typedef EGLNativePixmapType  NativePixmapType;
> >> +-typedef EGLNativeWindowType  NativeWindowType;
> >> +-
> >> +-
> >> +-/* Define EGLint. This must be a signed integral type large enough to contain
> >> +- * all legal attribute names and values passed into and out of EGL, whether
> >> +- * their type is boolean, bitmask, enumerant (symbolic constant), integer,
> >> +- * handle, or other.  While in general a 32-bit integer will suffice, if
> >> +- * handles are 64 bit types, then EGLint should be defined as a signed 64-bit
> >> +- * integer type.
> >> +- */
> >> +-typedef khronos_int32_t EGLint;
> >> +-
> >> +-#endif /* __eglplatform_h */
> >> +diff --git a/include/EGL/eglplatform.h.in b/include/EGL/eglplatform.h.in
> >> +new file mode 100644
> >> +index 0000000..5126c92
> >> +--- /dev/null
> >> ++++ b/include/EGL/eglplatform.h.in
> >> +@@ -0,0 +1,146 @@
> >> ++#ifndef __eglplatform_h_
> >> ++#define __eglplatform_h_
> >> ++
> >> ++/*
> >> ++** Copyright (c) 2007-2009 The Khronos Group Inc.
> >> ++**
> >> ++** Permission is hereby granted, free of charge, to any person obtaining a
> >> ++** copy of this software and/or associated documentation files (the
> >> ++** "Materials"), to deal in the Materials without restriction, including
> >> ++** without limitation the rights to use, copy, modify, merge, publish,
> >> ++** distribute, sublicense, and/or sell copies of the Materials, and to
> >> ++** permit persons to whom the Materials are furnished to do so, subject to
> >> ++** the following conditions:
> >> ++**
> >> ++** The above copyright notice and this permission notice shall be included
> >> ++** in all copies or substantial portions of the Materials.
> >> ++**
> >> ++** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
> >> ++** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
> >> ++** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
> >> ++** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
> >> ++** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
> >> ++** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
> >> ++** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
> >> ++*/
> >> ++
> >> ++/* Platform-specific types and definitions for egl.h
> >> ++ * $Revision: 12306 $ on $Date: 2010-08-25 09:51:28 -0700 (Wed, 25 Aug 2010) $
> >> ++ *
> >> ++ * Adopters may modify khrplatform.h and this file to suit their platform.
> >> ++ * You are encouraged to submit all modifications to the Khronos group so that
> >> ++ * they can be included in future versions of this file.  Please submit changes
> >> ++ * by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla)
> >> ++ * by filing a bug against product "EGL" component "Registry".
> >> ++ */
> >> ++
> >> ++#include <KHR/khrplatform.h>
> >> ++
> >> ++/* Macros used in EGL function prototype declarations.
> >> ++ *
> >> ++ * EGL functions should be prototyped as:
> >> ++ *
> >> ++ * EGLAPI return-type EGLAPIENTRY eglFunction(arguments);
> >> ++ * typedef return-type (EXPAPIENTRYP PFNEGLFUNCTIONPROC) (arguments);
> >> ++ *
> >> ++ * KHRONOS_APICALL and KHRONOS_APIENTRY are defined in KHR/khrplatform.h
> >> ++ */
> >> ++
> >> ++#ifndef EGLAPI
> >> ++#define EGLAPI KHRONOS_APICALL
> >> ++#endif
> >> ++
> >> ++#ifndef EGLAPIENTRY
> >> ++#define EGLAPIENTRY  KHRONOS_APIENTRY
> >> ++#endif
> >> ++#define EGLAPIENTRYP EGLAPIENTRY*
> >> ++
> >> ++/* The types NativeDisplayType, NativeWindowType, and NativePixmapType
> >> ++ * are aliases of window-system-dependent types, such as X Display * or
> >> ++ * Windows Device Context. They must be defined in platform-specific
> >> ++ * code below. The EGL-prefixed versions of Native*Type are the same
> >> ++ * types, renamed in EGL 1.3 so all types in the API start with "EGL".
> >> ++ *
> >> ++ * Khronos STRONGLY RECOMMENDS that you use the default definitions
> >> ++ * provided below, since these changes affect both binary and source
> >> ++ * portability of applications using EGL running on different EGL
> >> ++ * implementations.
> >> ++ */
> >> ++
> >> ++#if defined(_WIN32) || defined(__VC32__) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) /* Win32 and WinCE */
> >> ++#ifndef WIN32_LEAN_AND_MEAN
> >> ++#define WIN32_LEAN_AND_MEAN 1
> >> ++#endif
> >> ++#include <windows.h>
> >> ++
> >> ++typedef HDC     EGLNativeDisplayType;
> >> ++typedef HBITMAP EGLNativePixmapType;
> >> ++typedef HWND    EGLNativeWindowType;
> >> ++
> >> ++#elif defined(__WINSCW__) || defined(__SYMBIAN32__)  /* Symbian */
> >> ++
> >> ++typedef int   EGLNativeDisplayType;
> >> ++typedef void *EGLNativeWindowType;
> >> ++typedef void *EGLNativePixmapType;
> >> ++
> >> ++#elif defined(WL_EGL_PLATFORM)
> >> ++
> >> ++typedef struct wl_display     *EGLNativeDisplayType;
> >> ++typedef struct wl_egl_pixmap  *EGLNativePixmapType;
> >> ++typedef struct wl_egl_window  *EGLNativeWindowType;
> >> ++
> >> ++#elif defined(__GBM__)
> >> ++
> >> ++typedef struct gbm_device  *EGLNativeDisplayType;
> >> ++typedef struct gbm_bo      *EGLNativePixmapType;
> >> ++typedef void               *EGLNativeWindowType;
> >> ++
> >> ++#elif defined(ANDROID) /* Android */
> >> ++
> >> ++struct ANativeWindow;
> >> ++struct egl_native_pixmap_t;
> >> ++
> >> ++typedef struct ANativeWindow        *EGLNativeWindowType;
> >> ++typedef struct egl_native_pixmap_t  *EGLNativePixmapType;
> >> ++typedef void                        *EGLNativeDisplayType;
> >> ++
> >> ++#elif defined(__unix__)
> >> ++
> >> ++#if @MESA_EGL_NO_X11_HEADERS@
> >> ++
> >> ++typedef void            *EGLNativeDisplayType;
> >> ++typedef khronos_uint32_t EGLNativePixmapType;
> >> ++typedef khronos_uint32_t EGLNativeWindowType;
> >> ++
> >> ++#else
> >> ++
> >> ++/* X11 (tentative)  */
> >> ++#include <X11/Xlib.h>
> >> ++#include <X11/Xutil.h>
> >> ++
> >> ++typedef Display *EGLNativeDisplayType;
> >> ++typedef Pixmap   EGLNativePixmapType;
> >> ++typedef Window   EGLNativeWindowType;
> >> ++
> >> ++#endif /* MESA_EGL_NO_X11_HEADERS */
> >> ++
> >> ++#else
> >> ++#error "Platform not recognized"
> >> ++#endif
> >> ++
> >> ++/* EGL 1.2 types, renamed for consistency in EGL 1.3 */
> >> ++typedef EGLNativeDisplayType NativeDisplayType;
> >> ++typedef EGLNativePixmapType  NativePixmapType;
> >> ++typedef EGLNativeWindowType  NativeWindowType;
> >> ++
> >> ++
> >> ++/* Define EGLint. This must be a signed integral type large enough to contain
> >> ++ * all legal attribute names and values passed into and out of EGL, whether
> >> ++ * their type is boolean, bitmask, enumerant (symbolic constant), integer,
> >> ++ * handle, or other.  While in general a 32-bit integer will suffice, if
> >> ++ * handles are 64 bit types, then EGLint should be defined as a signed 64-bit
> >> ++ * integer type.
> >> ++ */
> >> ++typedef khronos_int32_t EGLint;
> >> ++
> >> ++#endif /* __eglplatform_h */
> >> +--
> >> +1.8.2.1
> >> +
> >> diff --git a/meta/recipes-graphics/mesa/mesa/0004-glsl-fix-builtin_compiler-cross-compilation.patch b/meta/recipes-graphics/mesa/mesa/0004-glsl-fix-builtin_compiler-cross-compilation.patch
> >> new file mode 100644
> >> index 0000000..460a274
> >> --- /dev/null
> >> +++ b/meta/recipes-graphics/mesa/mesa/0004-glsl-fix-builtin_compiler-cross-compilation.patch
> >> @@ -0,0 +1,54 @@
> >> +From ab38c97f057f739533a4e1fc9de51ea5f4e6242d Mon Sep 17 00:00:00 2001
> >> +From: Jonathan Liu <net147@gmail.com>
> >> +Date: Sat, 29 Jun 2013 11:37:20 +0200
> >> +Subject: [PATCH 4/4] glsl: fix builtin_compiler cross-compilation
> >> +
> >> +The target libtool is used when building host binaries, which predictably
> >> +doesn't work.
> >> +
> >> +Upstream-Status: Submitted https://bugs.freedesktop.org/show_bug.cgi?id=44618
> >> +Signed-off-by: Jonathan Liu <net147@gmail.com>
> >> +Signed-off-by: Ross Burton <ross.burton@intel.com>
> >> +---
> >> + src/glsl/builtin_compiler/Makefile.am | 13 +++++++++++++
> >> + 1 file changed, 13 insertions(+)
> >> +
> >> +diff --git a/src/glsl/builtin_compiler/Makefile.am b/src/glsl/builtin_compiler/Makefile.am
> >> +index e11a17f..8ebe0a2 100644
> >> +--- a/src/glsl/builtin_compiler/Makefile.am
> >> ++++ b/src/glsl/builtin_compiler/Makefile.am
> >> +@@ -64,6 +64,8 @@ AM_CXXFLAGS = $(AM_CFLAGS)
> >> + include ../Makefile.sources
> >> +
> >> + noinst_PROGRAMS = builtin_compiler
> >> ++
> >> ++if !CROSS_COMPILING
> >> + noinst_LTLIBRARIES = libglslcore.la libglcpp.la
> >> +
> >> + libglcpp_la_SOURCES =                                 \
> >> +@@ -73,6 +75,7 @@ libglcpp_la_SOURCES =                                        \
> >> + libglslcore_la_SOURCES =                              \
> >> +       $(BUILTIN_COMPILER_GENERATED_CXX_FILES)         \
> >> +       $(LIBGLSL_FILES)
> >> ++endif
> >> +
> >> + builtin_compiler_SOURCES = \
> >> +       $(top_srcdir)/src/mesa/main/hash_table.c        \
> >> +@@ -81,4 +84,14 @@ builtin_compiler_SOURCES = \
> >> +       $(top_srcdir)/src/mesa/program/symbol_table.c   \
> >> +       $(BUILTIN_COMPILER_CXX_FILES)                   \
> >> +       $(GLSL_COMPILER_CXX_FILES)
> >> ++
> >> ++if CROSS_COMPILING
> >> ++builtin_compiler_SOURCES += \
> >> ++      $(LIBGLCPP_GENERATED_FILES) \
> >> ++      $(LIBGLCPP_FILES) \
> >> ++      $(BUILTIN_COMPILER_GENERATED_CXX_FILES) \
> >> ++      $(LIBGLSL_FILES)
> >> ++builtin_compiler_CPPFLAGS = $(AM_CPPFLAGS)
> >> ++else
> >> + builtin_compiler_LDADD = libglslcore.la libglcpp.la
> >> ++endif
> >> +--
> >> +1.8.2.1
> >> +
> >> diff --git a/meta/recipes-graphics/mesa/mesa/EGL-Mutate-NativeDisplayType-depending-on-config.patch b/meta/recipes-graphics/mesa/mesa/EGL-Mutate-NativeDisplayType-depending-on-config.patch
> >> deleted file mode 100644
> >> index 47ba167..0000000
> >> --- a/meta/recipes-graphics/mesa/mesa/EGL-Mutate-NativeDisplayType-depending-on-config.patch
> >> +++ /dev/null
> >> @@ -1,358 +0,0 @@
> >> -From d52a7ec5dcdf3936bd727b854831efb90acfd2ba Mon Sep 17 00:00:00 2001
> >> -From: Daniel Stone <daniel@fooishbar.org>
> >> -Date: Fri, 24 May 2013 17:20:27 +0100
> >> -Subject: [PATCH] EGL: Mutate NativeDisplayType depending on config
> >> -
> >> -If we go through ./configure without enabling X11 anywhere, then set the
> >> -fallback types for EGL NativeDisplay and friends, rather than assuming
> >> -X11/Xlib.
> >> -
> >> -Signed-off-by: Daniel Stone <daniel@fooishbar.org>
> >> ----
> >> - configure.ac                 |    9 +++
> >> - include/EGL/eglplatform.h    |  146 ------------------------------------------
> >> - include/EGL/eglplatform.h.in |  146 ++++++++++++++++++++++++++++++++++++++++++
> >> - 3 files changed, 155 insertions(+), 146 deletions(-)
> >> - delete mode 100644 include/EGL/eglplatform.h
> >> - create mode 100644 include/EGL/eglplatform.h.in
> >> -
> >> -diff --git a/configure.ac b/configure.ac
> >> -index 4a98996..6fa77da 100644
> >> ---- a/configure.ac
> >> -+++ b/configure.ac
> >> -@@ -1576,12 +1576,20 @@ fi
> >> -
> >> - EGL_PLATFORMS="$egl_platforms"
> >> -
> >> -+if echo "$egl_platforms" | grep 'x11' >/dev/null 2>&1; then
> >> -+    MESA_EGL_NO_X11_HEADERS=0
> >> -+else
> >> -+    MESA_EGL_NO_X11_HEADERS=1
> >> -+fi
> >> -+
> >> - AM_CONDITIONAL(HAVE_EGL_PLATFORM_X11, echo "$egl_platforms" | grep 'x11' >/dev/null 2>&1)
> >> - AM_CONDITIONAL(HAVE_EGL_PLATFORM_WAYLAND, echo "$egl_platforms" | grep 'wayland' >/dev/null 2>&1)
> >> - AM_CONDITIONAL(HAVE_EGL_PLATFORM_DRM, echo "$egl_platforms" | grep 'drm' >/dev/null 2>&1)
> >> - AM_CONDITIONAL(HAVE_EGL_PLATFORM_FBDEV, echo "$egl_platforms" | grep 'fbdev' >/dev/null 2>&1)
> >> - AM_CONDITIONAL(HAVE_EGL_PLATFORM_NULL, echo "$egl_platforms" | grep 'null' >/dev/null 2>&1)
> >> -
> >> -+AC_SUBST([MESA_EGL_NO_X11_HEADERS])
> >> -+
> >> - AM_CONDITIONAL(HAVE_EGL_DRIVER_DRI2, test "x$HAVE_EGL_DRIVER_DRI2" != "x")
> >> - AM_CONDITIONAL(HAVE_EGL_DRIVER_GLX, test "x$HAVE_EGL_DRIVER_GLX" != "x")
> >> -
> >> -@@ -2053,6 +2061,7 @@ CXXFLAGS="$CXXFLAGS $USER_CXXFLAGS"
> >> -
> >> - dnl Substitute the config
> >> - AC_CONFIG_FILES([Makefile
> >> -+                include/EGL/eglplatform.h
> >> -               src/Makefile
> >> -               src/egl/Makefile
> >> -               src/egl/drivers/Makefile
> >> -diff --git a/include/EGL/eglplatform.h b/include/EGL/eglplatform.h
> >> -deleted file mode 100644
> >> -index 17fdc61..0000000
> >> ---- a/include/EGL/eglplatform.h
> >> -+++ /dev/null
> >> -@@ -1,146 +0,0 @@
> >> --#ifndef __eglplatform_h_
> >> --#define __eglplatform_h_
> >> --
> >> --/*
> >> --** Copyright (c) 2007-2009 The Khronos Group Inc.
> >> --**
> >> --** Permission is hereby granted, free of charge, to any person obtaining a
> >> --** copy of this software and/or associated documentation files (the
> >> --** "Materials"), to deal in the Materials without restriction, including
> >> --** without limitation the rights to use, copy, modify, merge, publish,
> >> --** distribute, sublicense, and/or sell copies of the Materials, and to
> >> --** permit persons to whom the Materials are furnished to do so, subject to
> >> --** the following conditions:
> >> --**
> >> --** The above copyright notice and this permission notice shall be included
> >> --** in all copies or substantial portions of the Materials.
> >> --**
> >> --** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
> >> --** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
> >> --** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
> >> --** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
> >> --** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
> >> --** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
> >> --** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
> >> --*/
> >> --
> >> --/* Platform-specific types and definitions for egl.h
> >> -- * $Revision: 12306 $ on $Date: 2010-08-25 09:51:28 -0700 (Wed, 25 Aug 2010) $
> >> -- *
> >> -- * Adopters may modify khrplatform.h and this file to suit their platform.
> >> -- * You are encouraged to submit all modifications to the Khronos group so that
> >> -- * they can be included in future versions of this file.  Please submit changes
> >> -- * by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla)
> >> -- * by filing a bug against product "EGL" component "Registry".
> >> -- */
> >> --
> >> --#include <KHR/khrplatform.h>
> >> --
> >> --/* Macros used in EGL function prototype declarations.
> >> -- *
> >> -- * EGL functions should be prototyped as:
> >> -- *
> >> -- * EGLAPI return-type EGLAPIENTRY eglFunction(arguments);
> >> -- * typedef return-type (EXPAPIENTRYP PFNEGLFUNCTIONPROC) (arguments);
> >> -- *
> >> -- * KHRONOS_APICALL and KHRONOS_APIENTRY are defined in KHR/khrplatform.h
> >> -- */
> >> --
> >> --#ifndef EGLAPI
> >> --#define EGLAPI KHRONOS_APICALL
> >> --#endif
> >> --
> >> --#ifndef EGLAPIENTRY
> >> --#define EGLAPIENTRY  KHRONOS_APIENTRY
> >> --#endif
> >> --#define EGLAPIENTRYP EGLAPIENTRY*
> >> --
> >> --/* The types NativeDisplayType, NativeWindowType, and NativePixmapType
> >> -- * are aliases of window-system-dependent types, such as X Display * or
> >> -- * Windows Device Context. They must be defined in platform-specific
> >> -- * code below. The EGL-prefixed versions of Native*Type are the same
> >> -- * types, renamed in EGL 1.3 so all types in the API start with "EGL".
> >> -- *
> >> -- * Khronos STRONGLY RECOMMENDS that you use the default definitions
> >> -- * provided below, since these changes affect both binary and source
> >> -- * portability of applications using EGL running on different EGL
> >> -- * implementations.
> >> -- */
> >> --
> >> --#if defined(_WIN32) || defined(__VC32__) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) /* Win32 and WinCE */
> >> --#ifndef WIN32_LEAN_AND_MEAN
> >> --#define WIN32_LEAN_AND_MEAN 1
> >> --#endif
> >> --#include <windows.h>
> >> --
> >> --typedef HDC     EGLNativeDisplayType;
> >> --typedef HBITMAP EGLNativePixmapType;
> >> --typedef HWND    EGLNativeWindowType;
> >> --
> >> --#elif defined(__WINSCW__) || defined(__SYMBIAN32__)  /* Symbian */
> >> --
> >> --typedef int   EGLNativeDisplayType;
> >> --typedef void *EGLNativeWindowType;
> >> --typedef void *EGLNativePixmapType;
> >> --
> >> --#elif defined(WL_EGL_PLATFORM)
> >> --
> >> --typedef struct wl_display     *EGLNativeDisplayType;
> >> --typedef struct wl_egl_pixmap  *EGLNativePixmapType;
> >> --typedef struct wl_egl_window  *EGLNativeWindowType;
> >> --
> >> --#elif defined(__GBM__)
> >> --
> >> --typedef struct gbm_device  *EGLNativeDisplayType;
> >> --typedef struct gbm_bo      *EGLNativePixmapType;
> >> --typedef void               *EGLNativeWindowType;
> >> --
> >> --#elif defined(ANDROID) /* Android */
> >> --
> >> --struct ANativeWindow;
> >> --struct egl_native_pixmap_t;
> >> --
> >> --typedef struct ANativeWindow        *EGLNativeWindowType;
> >> --typedef struct egl_native_pixmap_t  *EGLNativePixmapType;
> >> --typedef void                        *EGLNativeDisplayType;
> >> --
> >> --#elif defined(__unix__)
> >> --
> >> --#ifdef MESA_EGL_NO_X11_HEADERS
> >> --
> >> --typedef void            *EGLNativeDisplayType;
> >> --typedef khronos_uint32_t EGLNativePixmapType;
> >> --typedef khronos_uint32_t EGLNativeWindowType;
> >> --
> >> --#else
> >> --
> >> --/* X11 (tentative)  */
> >> --#include <X11/Xlib.h>
> >> --#include <X11/Xutil.h>
> >> --
> >> --typedef Display *EGLNativeDisplayType;
> >> --typedef Pixmap   EGLNativePixmapType;
> >> --typedef Window   EGLNativeWindowType;
> >> --
> >> --#endif /* MESA_EGL_NO_X11_HEADERS */
> >> --
> >> --#else
> >> --#error "Platform not recognized"
> >> --#endif
> >> --
> >> --/* EGL 1.2 types, renamed for consistency in EGL 1.3 */
> >> --typedef EGLNativeDisplayType NativeDisplayType;
> >> --typedef EGLNativePixmapType  NativePixmapType;
> >> --typedef EGLNativeWindowType  NativeWindowType;
> >> --
> >> --
> >> --/* Define EGLint. This must be a signed integral type large enough to contain
> >> -- * all legal attribute names and values passed into and out of EGL, whether
> >> -- * their type is boolean, bitmask, enumerant (symbolic constant), integer,
> >> -- * handle, or other.  While in general a 32-bit integer will suffice, if
> >> -- * handles are 64 bit types, then EGLint should be defined as a signed 64-bit
> >> -- * integer type.
> >> -- */
> >> --typedef khronos_int32_t EGLint;
> >> --
> >> --#endif /* __eglplatform_h */
> >> -diff --git a/include/EGL/eglplatform.h.in b/include/EGL/eglplatform.h.in
> >> -new file mode 100644
> >> -index 0000000..5126c92
> >> ---- /dev/null
> >> -+++ b/include/EGL/eglplatform.h.in
> >> -@@ -0,0 +1,146 @@
> >> -+#ifndef __eglplatform_h_
> >> -+#define __eglplatform_h_
> >> -+
> >> -+/*
> >> -+** Copyright (c) 2007-2009 The Khronos Group Inc.
> >> -+**
> >> -+** Permission is hereby granted, free of charge, to any person obtaining a
> >> -+** copy of this software and/or associated documentation files (the
> >> -+** "Materials"), to deal in the Materials without restriction, including
> >> -+** without limitation the rights to use, copy, modify, merge, publish,
> >> -+** distribute, sublicense, and/or sell copies of the Materials, and to
> >> -+** permit persons to whom the Materials are furnished to do so, subject to
> >> -+** the following conditions:
> >> -+**
> >> -+** The above copyright notice and this permission notice shall be included
> >> -+** in all copies or substantial portions of the Materials.
> >> -+**
> >> -+** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
> >> -+** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
> >> -+** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
> >> -+** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
> >> -+** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
> >> -+** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
> >> -+** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
> >> -+*/
> >> -+
> >> -+/* Platform-specific types and definitions for egl.h
> >> -+ * $Revision: 12306 $ on $Date: 2010-08-25 09:51:28 -0700 (Wed, 25 Aug 2010) $
> >> -+ *
> >> -+ * Adopters may modify khrplatform.h and this file to suit their platform.
> >> -+ * You are encouraged to submit all modifications to the Khronos group so that
> >> -+ * they can be included in future versions of this file.  Please submit changes
> >> -+ * by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla)
> >> -+ * by filing a bug against product "EGL" component "Registry".
> >> -+ */
> >> -+
> >> -+#include <KHR/khrplatform.h>
> >> -+
> >> -+/* Macros used in EGL function prototype declarations.
> >> -+ *
> >> -+ * EGL functions should be prototyped as:
> >> -+ *
> >> -+ * EGLAPI return-type EGLAPIENTRY eglFunction(arguments);
> >> -+ * typedef return-type (EXPAPIENTRYP PFNEGLFUNCTIONPROC) (arguments);
> >> -+ *
> >> -+ * KHRONOS_APICALL and KHRONOS_APIENTRY are defined in KHR/khrplatform.h
> >> -+ */
> >> -+
> >> -+#ifndef EGLAPI
> >> -+#define EGLAPI KHRONOS_APICALL
> >> -+#endif
> >> -+
> >> -+#ifndef EGLAPIENTRY
> >> -+#define EGLAPIENTRY  KHRONOS_APIENTRY
> >> -+#endif
> >> -+#define EGLAPIENTRYP EGLAPIENTRY*
> >> -+
> >> -+/* The types NativeDisplayType, NativeWindowType, and NativePixmapType
> >> -+ * are aliases of window-system-dependent types, such as X Display * or
> >> -+ * Windows Device Context. They must be defined in platform-specific
> >> -+ * code below. The EGL-prefixed versions of Native*Type are the same
> >> -+ * types, renamed in EGL 1.3 so all types in the API start with "EGL".
> >> -+ *
> >> -+ * Khronos STRONGLY RECOMMENDS that you use the default definitions
> >> -+ * provided below, since these changes affect both binary and source
> >> -+ * portability of applications using EGL running on different EGL
> >> -+ * implementations.
> >> -+ */
> >> -+
> >> -+#if defined(_WIN32) || defined(__VC32__) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) /* Win32 and WinCE */
> >> -+#ifndef WIN32_LEAN_AND_MEAN
> >> -+#define WIN32_LEAN_AND_MEAN 1
> >> -+#endif
> >> -+#include <windows.h>
> >> -+
> >> -+typedef HDC     EGLNativeDisplayType;
> >> -+typedef HBITMAP EGLNativePixmapType;
> >> -+typedef HWND    EGLNativeWindowType;
> >> -+
> >> -+#elif defined(__WINSCW__) || defined(__SYMBIAN32__)  /* Symbian */
> >> -+
> >> -+typedef int   EGLNativeDisplayType;
> >> -+typedef void *EGLNativeWindowType;
> >> -+typedef void *EGLNativePixmapType;
> >> -+
> >> -+#elif defined(WL_EGL_PLATFORM)
> >> -+
> >> -+typedef struct wl_display     *EGLNativeDisplayType;
> >> -+typedef struct wl_egl_pixmap  *EGLNativePixmapType;
> >> -+typedef struct wl_egl_window  *EGLNativeWindowType;
> >> -+
> >> -+#elif defined(__GBM__)
> >> -+
> >> -+typedef struct gbm_device  *EGLNativeDisplayType;
> >> -+typedef struct gbm_bo      *EGLNativePixmapType;
> >> -+typedef void               *EGLNativeWindowType;
> >> -+
> >> -+#elif defined(ANDROID) /* Android */
> >> -+
> >> -+struct ANativeWindow;
> >> -+struct egl_native_pixmap_t;
> >> -+
> >> -+typedef struct ANativeWindow        *EGLNativeWindowType;
> >> -+typedef struct egl_native_pixmap_t  *EGLNativePixmapType;
> >> -+typedef void                        *EGLNativeDisplayType;
> >> -+
> >> -+#elif defined(__unix__)
> >> -+
> >> -+#if @MESA_EGL_NO_X11_HEADERS@
> >> -+
> >> -+typedef void            *EGLNativeDisplayType;
> >> -+typedef khronos_uint32_t EGLNativePixmapType;
> >> -+typedef khronos_uint32_t EGLNativeWindowType;
> >> -+
> >> -+#else
> >> -+
> >> -+/* X11 (tentative)  */
> >> -+#include <X11/Xlib.h>
> >> -+#include <X11/Xutil.h>
> >> -+
> >> -+typedef Display *EGLNativeDisplayType;
> >> -+typedef Pixmap   EGLNativePixmapType;
> >> -+typedef Window   EGLNativeWindowType;
> >> -+
> >> -+#endif /* MESA_EGL_NO_X11_HEADERS */
> >> -+
> >> -+#else
> >> -+#error "Platform not recognized"
> >> -+#endif
> >> -+
> >> -+/* EGL 1.2 types, renamed for consistency in EGL 1.3 */
> >> -+typedef EGLNativeDisplayType NativeDisplayType;
> >> -+typedef EGLNativePixmapType  NativePixmapType;
> >> -+typedef EGLNativeWindowType  NativeWindowType;
> >> -+
> >> -+
> >> -+/* Define EGLint. This must be a signed integral type large enough to contain
> >> -+ * all legal attribute names and values passed into and out of EGL, whether
> >> -+ * their type is boolean, bitmask, enumerant (symbolic constant), integer,
> >> -+ * handle, or other.  While in general a 32-bit integer will suffice, if
> >> -+ * handles are 64 bit types, then EGLint should be defined as a signed 64-bit
> >> -+ * integer type.
> >> -+ */
> >> -+typedef khronos_int32_t EGLint;
> >> -+
> >> -+#endif /* __eglplatform_h */
> >> ---
> >> -1.7.10.4
> >> -
> >> diff --git a/meta/recipes-graphics/mesa/mesa/fix-glsl-cross.patch b/meta/recipes-graphics/mesa/mesa/fix-glsl-cross.patch
> >> deleted file mode 100644
> >> index 34226ea..0000000
> >> --- a/meta/recipes-graphics/mesa/mesa/fix-glsl-cross.patch
> >> +++ /dev/null
> >> @@ -1,43 +0,0 @@
> >> -The target libtool is used when building host binaries, which predictably
> >> -doesn't work.
> >> -
> >> -Upstream-Status: Submitted (https://bugs.freedesktop.org/show_bug.cgi?id=44618)
> >> -Signed-off-by: Jonathan Liu <net147@gmail.com>
> >> -Signed-off-by: Ross Burton <ross.burton@intel.com>
> >> -
> >> -diff --git a/src/glsl/builtin_compiler/Makefile.am b/src/glsl/builtin_compiler/Makefile.am
> >> -index e11a17f..8ebe0a2 100644
> >> ---- a/src/glsl/builtin_compiler/Makefile.am
> >> -+++ b/src/glsl/builtin_compiler/Makefile.am
> >> -@@ -64,6 +64,8 @@ AM_CXXFLAGS = $(AM_CFLAGS)
> >> - include ../Makefile.sources
> >> -
> >> - noinst_PROGRAMS = builtin_compiler
> >> -+
> >> -+if !CROSS_COMPILING
> >> - noinst_LTLIBRARIES = libglslcore.la libglcpp.la
> >> -
> >> - libglcpp_la_SOURCES =                                 \
> >> -@@ -73,6 +75,7 @@ libglcpp_la_SOURCES =                                        \
> >> - libglslcore_la_SOURCES =                              \
> >> -       $(BUILTIN_COMPILER_GENERATED_CXX_FILES)         \
> >> -       $(LIBGLSL_FILES)
> >> -+endif
> >> -
> >> - builtin_compiler_SOURCES = \
> >> -       $(top_srcdir)/src/mesa/main/hash_table.c        \
> >> -@@ -81,4 +84,14 @@ builtin_compiler_SOURCES = \
> >> -       $(top_srcdir)/src/mesa/program/symbol_table.c   \
> >> -       $(BUILTIN_COMPILER_CXX_FILES)                   \
> >> -       $(GLSL_COMPILER_CXX_FILES)
> >> -+
> >> -+if CROSS_COMPILING
> >> -+builtin_compiler_SOURCES += \
> >> -+      $(LIBGLCPP_GENERATED_FILES) \
> >> -+      $(LIBGLCPP_FILES) \
> >> -+      $(BUILTIN_COMPILER_GENERATED_CXX_FILES) \
> >> -+      $(LIBGLSL_FILES)
> >> -+builtin_compiler_CPPFLAGS = $(AM_CPPFLAGS)
> >> -+else
> >> - builtin_compiler_LDADD = libglslcore.la libglcpp.la
> >> -+endif
> >> diff --git a/meta/recipes-graphics/mesa/mesa_9.1.3.bb b/meta/recipes-graphics/mesa/mesa_9.1.3.bb
> >> index bbeacd3..a7ccbe6 100644
> >> --- a/meta/recipes-graphics/mesa/mesa_9.1.3.bb
> >> +++ b/meta/recipes-graphics/mesa/mesa_9.1.3.bb
> >> @@ -1,11 +1,11 @@
> >>  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 \
> >>             file://0002-pipe_loader_sw-include-xlib_sw_winsys.h-only-when-HA.patch \
> >> +           file://0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch \
> >> +           file://0004-glsl-fix-builtin_compiler-cross-compilation.patch \
> >> +           file://0005-llvmpipe-remove-the-power-of-two-sizeof-struct-cmd_b.patch \
> >>             "
> >>
> >>  SRC_URI[md5sum] = "952ccd03547ed72333b64e1746cf8ada"
> >> diff --git a/meta/recipes-graphics/mesa/mesa_git.bb b/meta/recipes-graphics/mesa/mesa_git.bb
> >> index 09a9531..52d3d81 100644
> >> --- a/meta/recipes-graphics/mesa/mesa_git.bb
> >> +++ b/meta/recipes-graphics/mesa/mesa_git.bb
> >> @@ -2,17 +2,17 @@ require ${BPN}.inc
> >>
> >>  DEFAULT_PREFERENCE = "-1"
> >>
> >> +LIC_FILES_CHKSUM = "file://docs/license.html;md5=f69a4626e9efc40fa0d3cc3b02c9eacf"
> >> +
> >>  PR = "${INC_PR}.0"
> >> -# 9.1.3 commit
> >> -SRCREV = "f32ec82a8cfcabc5b7596796f36afe7986651f02"
> >> +SRCREV = "5a925cc5504575c22dbb7d29842d7fc5babcb5c7"
> >>  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 \
> >>             file://0002-pipe_loader_sw-include-xlib_sw_winsys.h-only-when-HA.patch \
> >> +           file://0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch \
> >> +           file://0004-glsl-fix-builtin_compiler-cross-compilation.patch \
> >>             "
> >>
> >>  S = "${WORKDIR}/git"
> >> --
> >> 1.8.2.1
> >>
> >> _______________________________________________
> >> Openembedded-core mailing list
> >> Openembedded-core@lists.openembedded.org
> >> http://lists.openembedded.org/mailman/listinfo/openembedded-core

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa@gmail.com

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 205 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCHv3] mesa: bump SRCREV in git recipe, refresh patches
  2013-07-19  4:42           ` Jonathan Liu
  2013-07-19  8:56             ` Martin Jansa
@ 2013-07-23 10:37             ` Burton, Ross
  1 sibling, 0 replies; 15+ messages in thread
From: Burton, Ross @ 2013-07-23 10:37 UTC (permalink / raw)
  To: Jonathan Liu; +Cc: openembedded-core

On 19 July 2013 05:42, Jonathan Liu <net147@gmail.com> wrote:
> On 19 July 2013 13:14, Jonathan Liu <net147@gmail.com> wrote:
>> I get the following with PACKAGECONFIG_append_pn-mesa = " gallium
>> gallium-llvmpipe":
>> WARNING: QA Issue: mesa: Files/directories were installed but not shipped
>>   /usr/lib/libXvMCsoftpipe.so
>>   /usr/lib/libXvMCsoftpipe.la
>
> I wonder if the PV should be 9.2.0+git${SRCPV} instead of
> 9.1.3+git${SRCPV} since the OpenGL version string (as reported by
> glxinfo) is 2.1 Mesa 9.2.0-devel (git-5a925cc).

No, because then it would be newer than the real 9.2.0. This is what ~
is for, the correct version string would be 9.2.0~git${SRCPV} but
sadly our rpm doesn't support ~ for some reason:

| error: line 3: invalid tag value("^[A-Za-z0-9+._]+$") Version:
Version: 3.0~git0+f5678b4bb0

I'm pretty sure RPM supports this upstream and there's a bug for this
already: https://bugzilla.yoctoproject.org/show_bug.cgi?id=3976.  If
anyone who knows RPM well wants to fix this it would be much
appreciated!

Ross


^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2013-07-23 10:37 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-07-01 19:36 [PATCH 0/4] Fix and cleanup for mesa Martin Jansa
2013-07-01 19:36 ` [PATCH 1/4] mesa: Improve gallium PACKAGECONFIG options Martin Jansa
2013-07-01 19:36 ` [PATCH 2/4] mesa: fix pipe_loader_sw build without libx11 Martin Jansa
2013-07-01 19:36 ` [PATCH 3/4] mesa: bump SRCREV in git recipe, refresh patches Martin Jansa
2013-07-02 10:39   ` Burton, Ross
2013-07-02 11:44     ` Martin Jansa
2013-07-02 11:44       ` [PATCHv2] " Martin Jansa
2013-07-02 11:49       ` [PATCHv3] " Martin Jansa
2013-07-19  3:14         ` Jonathan Liu
2013-07-19  4:42           ` Jonathan Liu
2013-07-19  8:56             ` Martin Jansa
2013-07-23 10:37             ` Burton, Ross
2013-07-02 13:05       ` [PATCH 3/4] " Burton, Ross
2013-07-01 19:36 ` [PATCH 4/4] mesa: remove drirc file Martin Jansa
2013-07-02 10:53 ` [PATCH 0/4] Fix and cleanup for mesa Burton, Ross

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.