[PATCH] weston: Use libepoxy for GLESv2 functions.

Pekka Paalanen ppaalanen at gmail.com
Mon Sep 12 12:15:21 UTC 2016


On Mon, 12 Sep 2016 13:56:30 +0200
Armin Krezović <krezovic.armin at gmail.com> wrote:

> Khronos has decided to hide the GLESv2 function prototypes
> in GLESv2 headers and the code has landed in latest mesa git.
> 
> Without this change, weston is unusable when built with
> headers from mesa git.
> 
> Suggestion by Pekka to use libepoxy. Note that libepoxy
> isn't maintained that much recently, and it pulls some
> X11 dependencies.
> 
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97773
> Signed-off-by: Armin Krezović <krezovic.armin at gmail.com>
> ---
>  Makefile.am             | 2 +-
>  clients/simple-egl.c    | 2 +-
>  clients/subsurfaces.c   | 2 +-
>  configure.ac            | 3 ++-
>  libweston/gl-renderer.c | 3 +--
>  5 files changed, 6 insertions(+), 6 deletions(-)

Hi,

yeah, just repeating the irc commentary:
if the situation with the headers remains, this is probably the
preferred solution. However, I'm hesitant to introduce a dependency to
libepoxy until it can be built without X11 components.

Let's keep this patch in mind and see what happens.


Thanks,
pq

> 
> diff --git a/Makefile.am b/Makefile.am
> index 1e63a58..3cd3497 100644
> --- a/Makefile.am
> +++ b/Makefile.am
> @@ -305,7 +305,7 @@ endif
>  if ENABLE_EGL
>  libweston_module_LTLIBRARIES += gl-renderer.la
>  gl_renderer_la_LDFLAGS = -module -avoid-version
> -gl_renderer_la_LIBADD = $(COMPOSITOR_LIBS) $(EGL_LIBS)
> +gl_renderer_la_LIBADD = $(COMPOSITOR_LIBS) $(EGL_LIBS) $(EPOXY_LIBS)
>  gl_renderer_la_CFLAGS =				\
>  	$(COMPOSITOR_CFLAGS)			\
>  	$(EGL_CFLAGS)				\
> diff --git a/clients/simple-egl.c b/clients/simple-egl.c
> index 9d401f9..5430245 100644
> --- a/clients/simple-egl.c
> +++ b/clients/simple-egl.c
> @@ -38,7 +38,7 @@
>  #include <wayland-egl.h>
>  #include <wayland-cursor.h>
>  
> -#include <GLES2/gl2.h>
> +#include <epoxy/gl.h>
>  #include <EGL/egl.h>
>  #include <EGL/eglext.h>
>  
> diff --git a/clients/subsurfaces.c b/clients/subsurfaces.c
> index 45801a8..f1461ca 100644
> --- a/clients/subsurfaces.c
> +++ b/clients/subsurfaces.c
> @@ -37,7 +37,7 @@
>  #include <wayland-client.h>
>  
>  #include <wayland-egl.h>
> -#include <GLES2/gl2.h>
> +#include <epoxy/gl.h>
>  #include <EGL/egl.h>
>  #include <EGL/eglext.h>
>  
> diff --git a/configure.ac b/configure.ac
> index 076b336..31b323f 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -130,6 +130,7 @@ AC_ARG_ENABLE(egl, [  --disable-egl],,
>  AM_CONDITIONAL(ENABLE_EGL, test x$enable_egl = xyes)
>  if test x$enable_egl = xyes; then
>  	AC_DEFINE([ENABLE_EGL], [1], [Build Weston with EGL support])
> +	PKG_CHECK_MODULES(EPOXY, [epoxy])
>  	PKG_CHECK_MODULES(EGL, [egl glesv2])
>          PKG_CHECK_MODULES([EGL_TESTS], [egl glesv2 wayland-client wayland-egl])
>  	PKG_CHECK_MODULES([GL_RENDERER], [libdrm])
> @@ -380,7 +381,7 @@ AC_ARG_ENABLE(simple-egl-clients,
>  AM_CONDITIONAL(BUILD_SIMPLE_EGL_CLIENTS, test "x$enable_simple_egl_clients" = "xyes")
>  if test x$enable_simple_egl_clients = xyes; then
>    PKG_CHECK_MODULES(SIMPLE_EGL_CLIENT,
> -                    [egl glesv2 wayland-client wayland-egl wayland-cursor])
> +                    [epoxy egl glesv2 wayland-client wayland-egl wayland-cursor])
>  fi
>  
>  AC_ARG_ENABLE(simple-dmabuf-intel-client,
> diff --git a/libweston/gl-renderer.c b/libweston/gl-renderer.c
> index 031576b..50e3ff3 100644
> --- a/libweston/gl-renderer.c
> +++ b/libweston/gl-renderer.c
> @@ -26,8 +26,7 @@
>  
>  #include "config.h"
>  
> -#include <GLES2/gl2.h>
> -#include <GLES2/gl2ext.h>
> +#include <epoxy/gl.h>
>  
>  #include <stdbool.h>
>  #include <stdint.h>

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 811 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/wayland-devel/attachments/20160912/6970f824/attachment.sig>


More information about the wayland-devel mailing list