diff mbox

[dylan] mesa: fix EGL compilation without X11 headers

Message ID 1372174723-24943-1-git-send-email-nicolas.dechesne@linaro.org
State New
Headers show

Commit Message

Nicolas Dechesne June 25, 2013, 3:38 p.m. UTC
Extracted from "d7033f4 mesa: upgrade to 9.1.3", already merged in master:

--
Add EGL-Mutate-NativeDisplayType-depending-on-config.patch to build correctly in
a non-X11 environment.

Drop fix-egl-compilation-without-x11-headers.patch as they were backports.
--

The new patch was also backported (trivial) to mesa 9.0.2 which is in
dylan.

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
---
 meta/recipes-graphics/mesa/mesa-9.0.2.inc          |   2 +-
 ...ate-NativeDisplayType-depending-on-config.patch | 361 +++++++++++++++++++++
 2 files changed, 362 insertions(+), 1 deletion(-)
 create mode 100644 meta/recipes-graphics/mesa/mesa/EGL-Mutate-NativeDisplayType-depending-on-config.patch

Comments

Martin Jansa June 27, 2013, 6:02 p.m. UTC | #1
On Tue, Jun 25, 2013 at 05:38:43PM +0200, Nicolas Dechesne wrote:
> Extracted from "d7033f4 mesa: upgrade to 9.1.3", already merged in master:
> 
> --
> Add EGL-Mutate-NativeDisplayType-depending-on-config.patch to build correctly in
> a non-X11 environment.
> 
> Drop fix-egl-compilation-without-x11-headers.patch as they were backports.
> --
> 
> The new patch was also backported (trivial) to mesa 9.0.2 which is in
> dylan.
> 
> Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
> ---
>  meta/recipes-graphics/mesa/mesa-9.0.2.inc          |   2 +-
>  ...ate-NativeDisplayType-depending-on-config.patch | 361 +++++++++++++++++++++
>  2 files changed, 362 insertions(+), 1 deletion(-)
>  create mode 100644 meta/recipes-graphics/mesa/mesa/EGL-Mutate-NativeDisplayType-depending-on-config.patch
> 
> diff --git a/meta/recipes-graphics/mesa/mesa-9.0.2.inc b/meta/recipes-graphics/mesa/mesa-9.0.2.inc
> index b88bc42..e2dcfdb 100644
> --- a/meta/recipes-graphics/mesa/mesa-9.0.2.inc
> +++ b/meta/recipes-graphics/mesa/mesa-9.0.2.inc
> @@ -2,7 +2,7 @@ SRC_URI = "ftp://ftp.freedesktop.org/pub/mesa/${PV}/MesaLib-${PV}.tar.bz2 \
>             file://0002-cross-compile.patch \
>             file://cross-glsl.patch \
>             file://dont-fail-if-libX11-isnt-installed.patch \
> -           file://fix-egl-compilation-without-x11-headers.patch \
> +           file://EGL-Mutate-NativeDisplayType-depending-on-config.patch \
>             "

EGL-Mutate-NativeDisplayType-depending-on-config.patch does not cover

#include "state_tracker/xlib_sw_winsys.h"
in
src/gallium/auxiliary/pipe-loader/pipe_loader_sw.c

so builds with pipe-loader enabled and without x11 headers are still
failing, the same issue is in master.

>  SRC_URI[md5sum] = "dc45d1192203e418163e0017640e1cfc"
> 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
> new file mode 100644
> index 0000000..98c4095
> --- /dev/null
> +++ b/meta/recipes-graphics/mesa/mesa/EGL-Mutate-NativeDisplayType-depending-on-config.patch
> @@ -0,0 +1,361 @@
> +From 7e5846aa52c7cb00b0db9fa393975880371d2620 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>
> +
> +Conflicts:
> +	configure.ac
> +---
> + 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 682e0a5..a8a485d 100644
> +--- a/configure.ac
> ++++ b/configure.ac
> +@@ -1577,12 +1577,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")
> + 
> +@@ -1953,6 +1961,7 @@ CXXFLAGS="$CXXFLAGS $USER_CXXFLAGS"
> + dnl Substitute the config
> + AC_CONFIG_FILES([configs/current
> + 		Makefile
> ++		include/EGL/eglplatform.h
> + 		src/egl/Makefile
> + 		src/egl/drivers/Makefile
> + 		src/egl/drivers/dri2/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.1.2
> +
> -- 
> 1.8.1.2
> 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
Ross Burton June 27, 2013, 9 p.m. UTC | #2
I'm actively fixing this upstream now, so I will make sure this is sorted.
 What PACKAGECONFIG are you using?

Ross

On Thursday, 27 June 2013, Martin Jansa wrote:

> On Tue, Jun 25, 2013 at 05:38:43PM +0200, Nicolas Dechesne wrote:
> > Extracted from "d7033f4 mesa: upgrade to 9.1.3", already merged in
> master:
> >
> > --
> > Add EGL-Mutate-NativeDisplayType-depending-on-config.patch to build
> correctly in
> > a non-X11 environment.
> >
> > Drop fix-egl-compilation-without-x11-headers.patch as they were
> backports.
> > --
> >
> > The new patch was also backported (trivial) to mesa 9.0.2 which is in
> > dylan.
> >
> > Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org<javascript:;>
> >
> > ---
> >  meta/recipes-graphics/mesa/mesa-9.0.2.inc          |   2 +-
> >  ...ate-NativeDisplayType-depending-on-config.patch | 361
> +++++++++++++++++++++
> >  2 files changed, 362 insertions(+), 1 deletion(-)
> >  create mode 100644
> meta/recipes-graphics/mesa/mesa/EGL-Mutate-NativeDisplayType-depending-on-config.patch
> >
> > diff --git a/meta/recipes-graphics/mesa/mesa-9.0.2.inc
> b/meta/recipes-graphics/mesa/mesa-9.0.2.inc
> > index b88bc42..e2dcfdb 100644
> > --- a/meta/recipes-graphics/mesa/mesa-9.0.2.inc
> > +++ b/meta/recipes-graphics/mesa/mesa-9.0.2.inc
> > @@ -2,7 +2,7 @@ SRC_URI = "
> ftp://ftp.freedesktop.org/pub/mesa/${PV}/MesaLib-${PV}.tar.bz2 \
> >             file://0002-cross-compile.patch \
> >             file://cross-glsl.patch \
> >             file://dont-fail-if-libX11-isnt-installed.patch \
> > -           file://fix-egl-compilation-without-x11-headers.patch \
> > +
> file://EGL-Mutate-NativeDisplayType-depending-on-config.patch \
> >             "
>
> EGL-Mutate-NativeDisplayType-depending-on-config.patch does not cover
>
> #include "state_tracker/xlib_sw_winsys.h"
> in
> src/gallium/auxiliary/pipe-loader/pipe_loader_sw.c
>
> so builds with pipe-loader enabled and without x11 headers are still
> failing, the same issue is in master.
>
> >  SRC_URI[md5sum] = "dc45d1192203e418163e0017640e1cfc"
> > 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
> > new file mode 100644
> > index 0000000..98c4095
> > --- /dev/null
> > +++
> b/meta/recipes-graphics/mesa/mesa/EGL-Mutate-NativeDisplayType-depending-on-config.patch
> > @@ -0,0 +1,361 @@
> > +From 7e5846aa52c7cb00b0db9fa393975880371d2620 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>
> > +
> > +Conflicts:
> > +     configure.ac
> > +---
> > + 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 682e0a5..a8a485d 100644
> > +--- a/configure.ac
> > ++++ b/configure.ac
> > +@@ -1577,12 +1577,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")
> > +
> > +@@ -1953,6 +1961,7 @@ CXXFLAGS="$CXXFLAGS $USER_CXXFLAGS"
> > + dnl Substitute the config
> > + AC_CONFIG_FILES([configs/current
> > +             Makefile
> > ++            include/EGL/eglplatform.h
> > +             src/egl/Makefile
> > +             src/egl/drivers/Makefile
> > +             src/egl/drivers/dri2/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 t--
> Martin 'JaMa' Jansa     jabber: Martin.Jansa@gmail.com <javascript:;>
>
Martin Jansa June 27, 2013, 9:11 p.m. UTC | #3
Almost all of them :)

PACKAGECONFIG = "egl gles dri wayland gallium gallium-llvmpipe openvg"


On Thu, Jun 27, 2013 at 11:00 PM, Burton, Ross <ross.burton@intel.com>wrote:

> I'm actively fixing this upstream now, so I will make sure this is sorted.
>  What PACKAGECONFIG are you using?
>
> Ross
>
>
> On Thursday, 27 June 2013, Martin Jansa wrote:
>
>> On Tue, Jun 25, 2013 at 05:38:43PM +0200, Nicolas Dechesne wrote:
>> > Extracted from "d7033f4 mesa: upgrade to 9.1.3", already merged in
>> master:
>> >
>> > --
>> > Add EGL-Mutate-NativeDisplayType-depending-on-config.patch to build
>> correctly in
>> > a non-X11 environment.
>> >
>> > Drop fix-egl-compilation-without-x11-headers.patch as they were
>> backports.
>> > --
>> >
>> > The new patch was also backported (trivial) to mesa 9.0.2 which is in
>> > dylan.
>> >
>> > Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
>> > ---
>> >  meta/recipes-graphics/mesa/mesa-9.0.2.inc          |   2 +-
>> >  ...ate-NativeDisplayType-depending-on-config.patch | 361
>> +++++++++++++++++++++
>> >  2 files changed, 362 insertions(+), 1 deletion(-)
>> >  create mode 100644
>> meta/recipes-graphics/mesa/mesa/EGL-Mutate-NativeDisplayType-depending-on-config.patch
>> >
>> > diff --git a/meta/recipes-graphics/mesa/mesa-9.0.2.inc
>> b/meta/recipes-graphics/mesa/mesa-9.0.2.inc
>> > index b88bc42..e2dcfdb 100644
>> > --- a/meta/recipes-graphics/mesa/mesa-9.0.2.inc
>> > +++ b/meta/recipes-graphics/mesa/mesa-9.0.2.inc
>> > @@ -2,7 +2,7 @@ SRC_URI = "
>> ftp://ftp.freedesktop.org/pub/mesa/${PV}/MesaLib-${PV}.tar.bz2 \
>> >             file://0002-cross-compile.patch \
>> >             file://cross-glsl.patch \
>> >             file://dont-fail-if-libX11-isnt-installed.patch \
>> > -           file://fix-egl-compilation-without-x11-headers.patch \
>> > +
>> file://EGL-Mutate-NativeDisplayType-depending-on-config.patch \
>> >             "
>>
>> EGL-Mutate-NativeDisplayType-depending-on-config.patch does not cover
>>
>> #include "state_tracker/xlib_sw_winsys.h"
>> in
>> src/gallium/auxiliary/pipe-loader/pipe_loader_sw.c
>>
>> so builds with pipe-loader enabled and without x11 headers are still
>> failing, the same issue is in master.
>>
>> >  SRC_URI[md5sum] = "dc45d1192203e418163e0017640e1cfc"
>> > 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
>> > new file mode 100644
>> > index 0000000..98c4095
>> > --- /dev/null
>> > +++
>> b/meta/recipes-graphics/mesa/mesa/EGL-Mutate-NativeDisplayType-depending-on-config.patch
>> > @@ -0,0 +1,361 @@
>> > +From 7e5846aa52c7cb00b0db9fa393975880371d2620 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>
>> > +
>> > +Conflicts:
>> > +     configure.ac
>> > +---
>> > + 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 682e0a5..a8a485d 100644
>> > +--- a/configure.ac
>> > ++++ b/configure.ac
>> > +@@ -1577,12 +1577,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")
>> > +
>> > +@@ -1953,6 +1961,7 @@ CXXFLAGS="$CXXFLAGS $USER_CXXFLAGS"
>> > + dnl Substitute the config
>> > + AC_CONFIG_FILES([configs/current
>> > +             Makefile
>> > ++            include/EGL/eglplatform.h
>> > +             src/egl/Makefile
>> > +             src/egl/drivers/Makefile
>> > +             src/egl/drivers/dri2/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 t--
>>
>> Martin 'JaMa' Jansa     jabber: Martin.Jansa@gmail.com
>>
>
Martin Jansa June 29, 2013, 10:46 a.m. UTC | #4
On Thu, Jun 27, 2013 at 11:11:20PM +0200, Martin Jansa wrote:
> Almost all of them :)
> 
> PACKAGECONFIG = "egl gles dri wayland gallium gallium-llvmpipe openvg"

I've updated
http://git.openembedded.org/openembedded-core-contrib/log/?h=jansa/mesa

http://git.openembedded.org/openembedded-core-contrib/commit/?h=jansa/mesa&id=b141f10bbd59c38419c25f6aa88b6fd293d981ae
should fix the issue with state_tracker/xlib_sw_winsys.h

I'll send this patchset to master after few more tests.

> On Thu, Jun 27, 2013 at 11:00 PM, Burton, Ross <ross.burton@intel.com>wrote:
> 
> > I'm actively fixing this upstream now, so I will make sure this is sorted.
> >  What PACKAGECONFIG are you using?
> >
> > Ross
> >
> >
> > On Thursday, 27 June 2013, Martin Jansa wrote:
> >
> >> On Tue, Jun 25, 2013 at 05:38:43PM +0200, Nicolas Dechesne wrote:
> >> > Extracted from "d7033f4 mesa: upgrade to 9.1.3", already merged in
> >> master:
> >> >
> >> > --
> >> > Add EGL-Mutate-NativeDisplayType-depending-on-config.patch to build
> >> correctly in
> >> > a non-X11 environment.
> >> >
> >> > Drop fix-egl-compilation-without-x11-headers.patch as they were
> >> backports.
> >> > --
> >> >
> >> > The new patch was also backported (trivial) to mesa 9.0.2 which is in
> >> > dylan.
> >> >
> >> > Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
> >> > ---
> >> >  meta/recipes-graphics/mesa/mesa-9.0.2.inc          |   2 +-
> >> >  ...ate-NativeDisplayType-depending-on-config.patch | 361
> >> +++++++++++++++++++++
> >> >  2 files changed, 362 insertions(+), 1 deletion(-)
> >> >  create mode 100644
> >> meta/recipes-graphics/mesa/mesa/EGL-Mutate-NativeDisplayType-depending-on-config.patch
> >> >
> >> > diff --git a/meta/recipes-graphics/mesa/mesa-9.0.2.inc
> >> b/meta/recipes-graphics/mesa/mesa-9.0.2.inc
> >> > index b88bc42..e2dcfdb 100644
> >> > --- a/meta/recipes-graphics/mesa/mesa-9.0.2.inc
> >> > +++ b/meta/recipes-graphics/mesa/mesa-9.0.2.inc
> >> > @@ -2,7 +2,7 @@ SRC_URI = "
> >> ftp://ftp.freedesktop.org/pub/mesa/${PV}/MesaLib-${PV}.tar.bz2 \
> >> >             file://0002-cross-compile.patch \
> >> >             file://cross-glsl.patch \
> >> >             file://dont-fail-if-libX11-isnt-installed.patch \
> >> > -           file://fix-egl-compilation-without-x11-headers.patch \
> >> > +
> >> file://EGL-Mutate-NativeDisplayType-depending-on-config.patch \
> >> >             "
> >>
> >> EGL-Mutate-NativeDisplayType-depending-on-config.patch does not cover
> >>
> >> #include "state_tracker/xlib_sw_winsys.h"
> >> in
> >> src/gallium/auxiliary/pipe-loader/pipe_loader_sw.c
> >>
> >> so builds with pipe-loader enabled and without x11 headers are still
> >> failing, the same issue is in master.
> >>
> >> >  SRC_URI[md5sum] = "dc45d1192203e418163e0017640e1cfc"
> >> > 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
> >> > new file mode 100644
> >> > index 0000000..98c4095
> >> > --- /dev/null
> >> > +++
> >> b/meta/recipes-graphics/mesa/mesa/EGL-Mutate-NativeDisplayType-depending-on-config.patch
> >> > @@ -0,0 +1,361 @@
> >> > +From 7e5846aa52c7cb00b0db9fa393975880371d2620 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>
> >> > +
> >> > +Conflicts:
> >> > +     configure.ac
> >> > +---
> >> > + 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 682e0a5..a8a485d 100644
> >> > +--- a/configure.ac
> >> > ++++ b/configure.ac
> >> > +@@ -1577,12 +1577,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")
> >> > +
> >> > +@@ -1953,6 +1961,7 @@ CXXFLAGS="$CXXFLAGS $USER_CXXFLAGS"
> >> > + dnl Substitute the config
> >> > + AC_CONFIG_FILES([configs/current
> >> > +             Makefile
> >> > ++            include/EGL/eglplatform.h
> >> > +             src/egl/Makefile
> >> > +             src/egl/drivers/Makefile
> >> > +             src/egl/drivers/dri2/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 t--
> >>
> >> Martin 'JaMa' Jansa     jabber: Martin.Jansa@gmail.com
> >>
> >
diff mbox

Patch

diff --git a/meta/recipes-graphics/mesa/mesa-9.0.2.inc b/meta/recipes-graphics/mesa/mesa-9.0.2.inc
index b88bc42..e2dcfdb 100644
--- a/meta/recipes-graphics/mesa/mesa-9.0.2.inc
+++ b/meta/recipes-graphics/mesa/mesa-9.0.2.inc
@@ -2,7 +2,7 @@  SRC_URI = "ftp://ftp.freedesktop.org/pub/mesa/${PV}/MesaLib-${PV}.tar.bz2 \
            file://0002-cross-compile.patch \
            file://cross-glsl.patch \
            file://dont-fail-if-libX11-isnt-installed.patch \
-           file://fix-egl-compilation-without-x11-headers.patch \
+           file://EGL-Mutate-NativeDisplayType-depending-on-config.patch \
            "
 
 SRC_URI[md5sum] = "dc45d1192203e418163e0017640e1cfc"
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
new file mode 100644
index 0000000..98c4095
--- /dev/null
+++ b/meta/recipes-graphics/mesa/mesa/EGL-Mutate-NativeDisplayType-depending-on-config.patch
@@ -0,0 +1,361 @@ 
+From 7e5846aa52c7cb00b0db9fa393975880371d2620 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>
+
+Conflicts:
+	configure.ac
+---
+ 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 682e0a5..a8a485d 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1577,12 +1577,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")
+ 
+@@ -1953,6 +1961,7 @@ CXXFLAGS="$CXXFLAGS $USER_CXXFLAGS"
+ dnl Substitute the config
+ AC_CONFIG_FILES([configs/current
+ 		Makefile
++		include/EGL/eglplatform.h
+ 		src/egl/Makefile
+ 		src/egl/drivers/Makefile
+ 		src/egl/drivers/dri2/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.1.2
+