* [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
* 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 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: [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@lists.openembedded.org 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@lists.openembedded.org 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@lists.openembedded.org [-- 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@lists.openembedded.org 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
* 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
* [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 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
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.