<div dir="ltr">Can you push these patches to a branch?  For some reason git-am isn&#39;t able to parse the patch.<div><br></div><div>Ross</div></div><div class="gmail_extra"><br><div class="gmail_quote">On 4 May 2016 at 10:11, Awais Belal <span dir="ltr">&lt;<a href="mailto:awais_belal@mentor.com" target="_blank">awais_belal@mentor.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">The mesa surface EGL_MESA_screen_surface was obsoleted<br>
and then dropped from mesa some time ago. Drop demos<br>
depending on this.<br>
<br>
Signed-off-by: Awais Belal &lt;<a href="mailto:awais_belal@mentor.com">awais_belal@mentor.com</a>&gt;<br>
---<br>
 ...dependant-on-obsolete-MESA_screen_surface.patch | 1592 ++++++++++++++++++++<br>
 meta/recipes-graphics/mesa/<a href="http://mesa-demos_8.2.0.bb" rel="noreferrer" target="_blank">mesa-demos_8.2.0.bb</a>     |    1 +<br>
 2 files changed, 1593 insertions(+)<br>
 create mode 100644 meta/recipes-graphics/mesa/mesa-demos/0011-drop-demos-dependant-on-obsolete-MESA_screen_surface.patch<br>
<br>
diff --git a/meta/recipes-graphics/mesa/mesa-demos/0011-drop-demos-dependant-on-obsolete-MESA_screen_surface.patch b/meta/recipes-graphics/mesa/mesa-demos/0011-drop-demos-dependant-on-obsolete-MESA_screen_surface.patch<br>
new file mode 100644<br>
index 0000000..a2621ce<br>
--- /dev/null<br>
+++ b/meta/recipes-graphics/mesa/mesa-demos/0011-drop-demos-dependant-on-obsolete-MESA_screen_surface.patch<br>
@@ -0,0 +1,1592 @@<br>
+commit 74443c6ee79f3251f643ea05e94df58183e37d0d<br>
+Author: Matt Turner &lt;<a href="mailto:mattst88@gmail.com">mattst88@gmail.com</a>&gt;<br>
+Date:   Fri Aug 28 15:57:38 2015 -0700<br>
+<br>
+    egl: Remove demos using EGL_MESA_screen_surface.<br>
+<br>
+    The remnants of the extension were removed from Mesa in commit 7a58262e.<br>
+<br>
+    Reviewed-by: Andreas Boll &lt;<a href="mailto:andreas.boll.dev@gmail.com">andreas.boll.dev@gmail.com</a>&gt;<br>
+    Tested-by: Andreas Boll &lt;<a href="mailto:andreas.boll.dev@gmail.com">andreas.boll.dev@gmail.com</a>&gt;<br>
+    Reviewed-by: Marek Olšák &lt;<a href="mailto:marek.olsak@amd.com">marek.olsak@amd.com</a>&gt;<br>
+<br>
+Upstream-Status: Backport<br>
+<br>
+diff --git a/src/egl/eglut/Makefile.am b/src/egl/eglut/Makefile.am<br>
+index 2d2f2af..b765069 100644<br>
+--- a/src/egl/eglut/Makefile.am<br>
++++ b/src/egl/eglut/Makefile.am<br>
+@@ -33,17 +33,12 @@ if HAVE_WAYLAND<br>
+ eglut_wayland = <a href="http://libeglut_wayland.la" rel="noreferrer" target="_blank">libeglut_wayland.la</a><br>
+ endif<br>
+<br>
+-noinst_LTLIBRARIES = <a href="http://libeglut_screen.la" rel="noreferrer" target="_blank">libeglut_screen.la</a> $(eglut_x11) $(eglut_wayland)<br>
++noinst_LTLIBRARIES = $(eglut_x11) $(eglut_wayland)<br>
+ endif<br>
+<br>
+-libeglut_screen_la_SOURCES = \<br>
+-      eglut.c \<br>
+-      eglut.h \<br>
+-      eglutint.h \<br>
+-      eglut_screen.c<br>
+-<br>
+ libeglut_x11_la_SOURCES = \<br>
+       eglut.c \<br>
++      eglut.h \<br>
+       eglutint.h \<br>
+       eglut_x11.c<br>
+ libeglut_x11_la_CFLAGS = $(X11_CFLAGS) $(EGL_CFLAGS)<br>
+@@ -52,6 +47,7 @@ libeglut_x11_la_LIBADD = $(X11_LIBS) $(EGL_LIBS)<br>
+<br>
+ libeglut_wayland_la_SOURCES = \<br>
+       eglut.c \<br>
++      eglut.h \<br>
+       eglutint.h \<br>
+       eglut_wayland.c<br>
+<br>
+diff --git a/src/egl/eglut/eglut.c b/src/egl/eglut/eglut.c<br>
+index f6a2ad4..58b354a 100644<br>
+--- a/src/egl/eglut/eglut.c<br>
++++ b/src/egl/eglut/eglut.c<br>
+@@ -176,9 +176,6 @@ _eglutCreateWindow(const char *title, int x, int y, int w, int h)<br>
+             win-&gt;config, win-&gt;native.u.pixmap, NULL);<br>
+       break;<br>
+    case EGL_PBUFFER_BIT:<br>
+-#ifdef EGL_MESA_screen_surface<br>
+-   case EGL_SCREEN_BIT_MESA:<br>
+-#endif<br>
+       win-&gt;surface = win-&gt;native.u.surface;<br>
+       break;<br>
+    default:<br>
+@@ -292,11 +289,7 @@ eglutDestroyWindow(int win)<br>
+    if (window-&gt;index != win)<br>
+       return;<br>
+<br>
+-#ifdef EGL_MESA_screen_surface<br>
+-   /* XXX it causes some bug in st/egl KMS backend */<br>
+-   if ( _eglut-&gt;surface_type != EGL_SCREEN_BIT_MESA)<br>
+-#endif<br>
+-      eglMakeCurrent(_eglut-&gt;dpy, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT);<br>
++   eglMakeCurrent(_eglut-&gt;dpy, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT);<br>
+<br>
+    _eglutDestroyWindow(_eglut-&gt;current);<br>
+ }<br>
+diff --git a/src/egl/eglut/eglut_screen.c b/src/egl/eglut/eglut_screen.c<br>
+deleted file mode 100644<br>
+index 094a4e2..0000000<br>
+--- a/src/egl/eglut/eglut_screen.c<br>
++++ /dev/null<br>
+@@ -1,194 +0,0 @@<br>
+-/*<br>
+- * Copyright (C) 2010 LunarG Inc.<br>
+- *<br>
+- * Permission is hereby granted, free of charge, to any person obtaining a<br>
+- * copy of this software and associated documentation files (the &quot;Software&quot;),<br>
+- * to deal in the Software without restriction, including without limitation<br>
+- * the rights to use, copy, modify, merge, publish, distribute, sublicense,<br>
+- * and/or sell copies of the Software, and to permit persons to whom the<br>
+- * Software is furnished to do so, subject to the following conditions:<br>
+- *<br>
+- * The above copyright notice and this permission notice shall be included<br>
+- * in all copies or substantial portions of the Software.<br>
+- *<br>
+- * THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR<br>
+- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,<br>
+- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL<br>
+- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER<br>
+- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING<br>
+- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER<br>
+- * DEALINGS IN THE SOFTWARE.<br>
+- *<br>
+- * Authors:<br>
+- *    Chia-I Wu &lt;<a href="mailto:olv@lunarg.com">olv@lunarg.com</a>&gt;<br>
+- */<br>
+-<br>
+-#include &lt;stdio.h&gt;<br>
+-#include &lt;string.h&gt;<br>
+-#include &lt;sys/time.h&gt;<br>
+-<br>
+-#define EGL_EGLEXT_PROTOTYPES<br>
+-#include &quot;EGL/egl.h&quot;<br>
+-#include &quot;EGL/eglext.h&quot;<br>
+-<br>
+-#include &quot;eglutint.h&quot;<br>
+-<br>
+-#define MAX_MODES 100<br>
+-<br>
+-#ifdef EGL_MESA_screen_surface<br>
+-static EGLScreenMESA kms_screen;<br>
+-static EGLModeMESA kms_mode;<br>
+-static EGLint kms_width, kms_height;<br>
+-#endif<br>
+-<br>
+-void<br>
+-_eglutNativeInitDisplay(void)<br>
+-{<br>
+-#ifdef EGL_MESA_screen_surface<br>
+-   _eglut-&gt;native_dpy = EGL_DEFAULT_DISPLAY;<br>
+-   _eglut-&gt;surface_type = EGL_SCREEN_BIT_MESA;<br>
+-#endif<br>
+-}<br>
+-<br>
+-void<br>
+-_eglutNativeFiniDisplay(void)<br>
+-{<br>
+-#ifdef EGL_MESA_screen_surface<br>
+-   kms_screen = 0;<br>
+-   kms_mode = 0;<br>
+-   kms_width = 0;<br>
+-   kms_height = 0;<br>
+-#endif<br>
+-}<br>
+-<br>
+-#ifdef EGL_MESA_screen_surface<br>
+-static void<br>
+-init_kms(void)<br>
+-{<br>
+-   EGLModeMESA modes[MAX_MODES];<br>
+-   EGLint num_screens, num_modes;<br>
+-   EGLint width, height, best_mode;<br>
+-   EGLint i;<br>
+-<br>
+-   if (!eglGetScreensMESA(_eglut-&gt;dpy, &amp;kms_screen, 1, &amp;num_screens) ||<br>
+-         !num_screens)<br>
+-      _eglutFatal(&quot;eglGetScreensMESA failed\n&quot;);<br>
+-<br>
+-   if (!eglGetModesMESA(_eglut-&gt;dpy, kms_screen,<br>
+-            modes, MAX_MODES, &amp;num_modes) || !num_modes)<br>
+-      _eglutFatal(&quot;eglGetModesMESA failed!\n&quot;);<br>
+-<br>
+-   printf(&quot;Found %d modes:\n&quot;, num_modes);<br>
+-<br>
+-   best_mode = 0;<br>
+-   width = 0;<br>
+-   height = 0;<br>
+-   for (i = 0; i &lt; num_modes; i++) {<br>
+-      EGLint w, h;<br>
+-      eglGetModeAttribMESA(_eglut-&gt;dpy, modes[i], EGL_WIDTH, &amp;w);<br>
+-      eglGetModeAttribMESA(_eglut-&gt;dpy, modes[i], EGL_HEIGHT, &amp;h);<br>
+-      printf(&quot;%3d: %d x %d\n&quot;, i, w, h);<br>
+-      if (w &gt; width &amp;&amp; h &gt; height) {<br>
+-         width = w;<br>
+-         height = h;<br>
+-         best_mode = i;<br>
+-      }<br>
+-   }<br>
+-<br>
+-   printf(&quot;Will use screen size: %d x %d\n&quot;, width, height);<br>
+-<br>
+-   kms_mode = modes[best_mode];<br>
+-   kms_width = width;<br>
+-   kms_height = height;<br>
+-}<br>
+-#endif<br>
+-<br>
+-void<br>
+-_eglutNativeInitWindow(struct eglut_window *win, const char *title,<br>
+-                       int x, int y, int w, int h)<br>
+-{<br>
+-#ifdef EGL_MESA_screen_surface<br>
+-   EGLint surf_attribs[16];<br>
+-   EGLint i;<br>
+-#endif<br>
+-   const char *exts;<br>
+-<br>
+-   exts = eglQueryString(_eglut-&gt;dpy, EGL_EXTENSIONS);<br>
+-   if (!exts || !strstr(exts, &quot;EGL_MESA_screen_surface&quot;))<br>
+-      _eglutFatal(&quot;EGL_MESA_screen_surface is not supported\n&quot;);<br>
+-<br>
+-#ifdef EGL_MESA_screen_surface<br>
+-   init_kms();<br>
+-<br>
+-   i = 0;<br>
+-   surf_attribs[i++] = EGL_WIDTH;<br>
+-   surf_attribs[i++] = kms_width;<br>
+-   surf_attribs[i++] = EGL_HEIGHT;<br>
+-   surf_attribs[i++] = kms_height;<br>
+-   surf_attribs[i++] = EGL_NONE;<br>
+-<br>
+-   /* create surface */<br>
+-   win-&gt;native.u.surface = eglCreateScreenSurfaceMESA(_eglut-&gt;dpy,<br>
+-         win-&gt;config, surf_attribs);<br>
+-   if (win-&gt;native.u.surface == EGL_NO_SURFACE)<br>
+-      _eglutFatal(&quot;eglCreateScreenSurfaceMESA failed\n&quot;);<br>
+-<br>
+-   if (!eglShowScreenSurfaceMESA(_eglut-&gt;dpy, kms_screen,<br>
+-            win-&gt;native.u.surface, kms_mode))<br>
+-      _eglutFatal(&quot;eglShowScreenSurfaceMESA failed\n&quot;);<br>
+-<br>
+-   win-&gt;native.width = kms_width;<br>
+-   win-&gt;native.height = kms_height;<br>
+-#endif<br>
+-}<br>
+-<br>
+-void<br>
+-_eglutNativeFiniWindow(struct eglut_window *win)<br>
+-{<br>
+-#ifdef EGL_MESA_screen_surface<br>
+-   eglShowScreenSurfaceMESA(_eglut-&gt;dpy,<br>
+-         kms_screen, EGL_NO_SURFACE, 0);<br>
+-   eglDestroySurface(_eglut-&gt;dpy, win-&gt;native.u.surface);<br>
+-#endif<br>
+-}<br>
+-<br>
+-void<br>
+-_eglutNativeEventLoop(void)<br>
+-{<br>
+-   int start = _eglutNow();<br>
+-   int frames = 0;<br>
+-<br>
+-   _eglut-&gt;redisplay = 1;<br>
+-<br>
+-   while (1) {<br>
+-      struct eglut_window *win = _eglut-&gt;current;<br>
+-      int now = _eglutNow();<br>
+-<br>
+-      if (now - start &gt; 5000) {<br>
+-         double elapsed = (double) (now - start) / 1000.0;<br>
+-<br>
+-         printf(&quot;%d frames in %3.1f seconds = %6.3f FPS\n&quot;,<br>
+-               frames, elapsed, frames / elapsed);<br>
+-         fflush(stdout);<br>
+-<br>
+-         start = now;<br>
+-         frames = 0;<br>
+-<br>
+-         /* send escape */<br>
+-         if (win-&gt;keyboard_cb)<br>
+-            win-&gt;keyboard_cb(27);<br>
+-      }<br>
+-<br>
+-      if (_eglut-&gt;idle_cb)<br>
+-         _eglut-&gt;idle_cb();<br>
+-<br>
+-      if (_eglut-&gt;redisplay) {<br>
+-         _eglut-&gt;redisplay = 0;<br>
+-<br>
+-         if (win-&gt;display_cb)<br>
+-            win-&gt;display_cb();<br>
+-         eglSwapBuffers(_eglut-&gt;dpy, win-&gt;surface);<br>
+-         frames++;<br>
+-      }<br>
+-   }<br>
+-}<br>
+diff --git a/src/egl/opengl/Makefile.am b/src/egl/opengl/Makefile.am<br>
+index 87b2f1a..3e48141 100644<br>
+--- a/src/egl/opengl/Makefile.am<br>
++++ b/src/egl/opengl/Makefile.am<br>
+@@ -51,20 +51,12 @@ endif<br>
+<br>
+ if HAVE_EGL<br>
+ bin_PROGRAMS = \<br>
+-      demo1 \<br>
+-      demo2 \<br>
+-      demo3 \<br>
+       eglinfo \<br>
+-      eglgears_screen \<br>
+-      egltri_screen \<br>
+       peglgears \<br>
+       $(EGL_DRM_DEMOS) \<br>
+       $(EGL_X11_DEMOS)<br>
+ endif<br>
+<br>
+-egltri_screen_SOURCES = egltri.c<br>
+-eglgears_screen_SOURCES = eglgears.c<br>
+-<br>
+ egltri_x11_SOURCES = egltri.c<br>
+ eglgears_x11_SOURCES = eglgears.c<br>
+<br>
+@@ -73,9 +65,6 @@ egltri_x11_LDFLAGS = $(AM_LDFLAGS) $(X11_LIBS)<br>
+ xeglgears_LDFLAGS = $(AM_LDFLAGS) $(X11_LIBS)<br>
+ xeglthreads_LDFLAGS = $(AM_LDFLAGS) $(X11_LIBS) -pthread<br>
+<br>
+-eglgears_screen_LDADD = ../eglut/<a href="http://libeglut_screen.la" rel="noreferrer" target="_blank">libeglut_screen.la</a><br>
+-egltri_screen_LDADD = ../eglut/<a href="http://libeglut_screen.la" rel="noreferrer" target="_blank">libeglut_screen.la</a><br>
+-<br>
+ eglgears_x11_LDADD = ../eglut/<a href="http://libeglut_x11.la" rel="noreferrer" target="_blank">libeglut_x11.la</a><br>
+ egltri_x11_LDADD = ../eglut/<a href="http://libeglut_x11.la" rel="noreferrer" target="_blank">libeglut_x11.la</a><br>
+<br>
+diff --git a/src/egl/opengl/demo1.c b/src/egl/opengl/demo1.c<br>
+deleted file mode 100644<br>
+index 06e2138..0000000<br>
+--- a/src/egl/opengl/demo1.c<br>
++++ /dev/null<br>
+@@ -1,155 +0,0 @@<br>
+-/*<br>
+- * Exercise EGL API functions<br>
+- */<br>
+-<br>
+-#define EGL_EGLEXT_PROTOTYPES<br>
+-<br>
+-#include &lt;EGL/egl.h&gt;<br>
+-#include &lt;EGL/eglext.h&gt;<br>
+-#include &lt;assert.h&gt;<br>
+-#include &lt;stdio.h&gt;<br>
+-#include &lt;stdlib.h&gt;<br>
+-#include &lt;string.h&gt;<br>
+-<br>
+-<br>
+-/**<br>
+- * Test EGL_MESA_screen_surface functions<br>
+- */<br>
+-static void<br>
+-TestScreens(EGLDisplay dpy)<br>
+-{<br>
+-#ifdef EGL_MESA_screen_surface<br>
+-#define MAX 8<br>
+-   EGLScreenMESA screens[MAX];<br>
+-   EGLint numScreens;<br>
+-   EGLint i;<br>
+-<br>
+-   eglGetScreensMESA(dpy, screens, MAX, &amp;numScreens);<br>
+-   printf(&quot;Found %d screens\n&quot;, numScreens);<br>
+-   for (i = 0; i &lt; numScreens; i++) {<br>
+-      printf(&quot; Screen %d handle: %d\n&quot;, i, (int) screens[i]);<br>
+-   }<br>
+-#endif<br>
+-}<br>
+-<br>
+-/**<br>
+- * Print table of all available configurations.<br>
+- */<br>
+-static void<br>
+-PrintConfigs(EGLDisplay d, EGLConfig *configs, EGLint numConfigs)<br>
+-{<br>
+-   EGLint i;<br>
+-<br>
+-   printf(&quot;Configurations:\n&quot;);<br>
+-   printf(&quot;     bf lv d st colorbuffer dp st   supported \n&quot;);<br>
+-   printf(&quot;  id sz  l b ro  r  g  b  a th cl   surfaces  \n&quot;);<br>
+-   printf(&quot;----------------------------------------------\n&quot;);<br>
+-   for (i = 0; i &lt; numConfigs; i++) {<br>
+-      EGLint id, size, level;<br>
+-      EGLint red, green, blue, alpha;<br>
+-      EGLint depth, stencil;<br>
+-      EGLint surfaces;<br>
+-      EGLint doubleBuf = 1, stereo = 0;<br>
+-      char surfString[100] = &quot;&quot;;<br>
+-<br>
+-      eglGetConfigAttrib(d, configs[i], EGL_CONFIG_ID, &amp;id);<br>
+-      eglGetConfigAttrib(d, configs[i], EGL_BUFFER_SIZE, &amp;size);<br>
+-      eglGetConfigAttrib(d, configs[i], EGL_LEVEL, &amp;level);<br>
+-<br>
+-      eglGetConfigAttrib(d, configs[i], EGL_RED_SIZE, &amp;red);<br>
+-      eglGetConfigAttrib(d, configs[i], EGL_GREEN_SIZE, &amp;green);<br>
+-      eglGetConfigAttrib(d, configs[i], EGL_BLUE_SIZE, &amp;blue);<br>
+-      eglGetConfigAttrib(d, configs[i], EGL_ALPHA_SIZE, &amp;alpha);<br>
+-      eglGetConfigAttrib(d, configs[i], EGL_DEPTH_SIZE, &amp;depth);<br>
+-      eglGetConfigAttrib(d, configs[i], EGL_STENCIL_SIZE, &amp;stencil);<br>
+-      eglGetConfigAttrib(d, configs[i], EGL_SURFACE_TYPE, &amp;surfaces);<br>
+-<br>
+-      if (surfaces &amp; EGL_WINDOW_BIT)<br>
+-         strcat(surfString, &quot;win,&quot;);<br>
+-      if (surfaces &amp; EGL_PBUFFER_BIT)<br>
+-         strcat(surfString, &quot;pb,&quot;);<br>
+-      if (surfaces &amp; EGL_PIXMAP_BIT)<br>
+-         strcat(surfString, &quot;pix,&quot;);<br>
+-      if (strlen(surfString) &gt; 0)<br>
+-         surfString[strlen(surfString) - 1] = 0;<br>
+-<br>
+-      printf(&quot;0x%02x %2d %2d %c  %c %2d %2d %2d %2d %2d %2d   %-12s\n&quot;,<br>
+-             id, size, level,<br>
+-             doubleBuf ? &#39;y&#39; : &#39;.&#39;,<br>
+-             stereo ? &#39;y&#39; : &#39;.&#39;,<br>
+-             red, green, blue, alpha,<br>
+-             depth, stencil, surfString);<br>
+-   }<br>
+-}<br>
+-<br>
+-<br>
+-<br>
+-int<br>
+-main(int argc, char *argv[])<br>
+-{<br>
+-   int maj, min;<br>
+-   EGLContext ctx;<br>
+-   EGLSurface pbuffer;<br>
+-   EGLConfig *configs;<br>
+-   EGLint numConfigs;<br>
+-   EGLBoolean b;<br>
+-   const EGLint pbufAttribs[] = {<br>
+-      EGL_WIDTH, 500,<br>
+-      EGL_HEIGHT, 500,<br>
+-      EGL_NONE<br>
+-   };<br>
+-<br>
+-   EGLDisplay d = eglGetDisplay(EGL_DEFAULT_DISPLAY);<br>
+-   assert(d);<br>
+-<br>
+-   if (!eglInitialize(d, &amp;maj, &amp;min)) {<br>
+-      printf(&quot;demo: eglInitialize failed\n&quot;);<br>
+-      exit(1);<br>
+-   }<br>
+-<br>
+-   printf(&quot;EGL version = %d.%d\n&quot;, maj, min);<br>
+-   printf(&quot;EGL_VENDOR = %s\n&quot;, eglQueryString(d, EGL_VENDOR));<br>
+-<br>
+-   if (!strstr(eglQueryString(d, EGL_EXTENSIONS),<br>
+-               &quot;EGL_MESA_screen_surface&quot;)) {<br>
+-      printf(&quot;EGL_MESA_screen_surface is not supported\n&quot;);<br>
+-      exit(1);<br>
+-   }<br>
+-<br>
+-   eglGetConfigs(d, NULL, 0, &amp;numConfigs);<br>
+-   configs = malloc(sizeof(*configs) *numConfigs);<br>
+-   eglGetConfigs(d, configs, numConfigs, &amp;numConfigs);<br>
+-<br>
+-   PrintConfigs(d, configs, numConfigs);<br>
+-<br>
+-   eglBindAPI(EGL_OPENGL_API);<br>
+-   ctx = eglCreateContext(d, configs[0], EGL_NO_CONTEXT, NULL);<br>
+-   if (ctx == EGL_NO_CONTEXT) {<br>
+-      printf(&quot;failed to create context\n&quot;);<br>
+-      return 0;<br>
+-   }<br>
+-<br>
+-   pbuffer = eglCreatePbufferSurface(d, configs[0], pbufAttribs);<br>
+-   if (pbuffer == EGL_NO_SURFACE) {<br>
+-      printf(&quot;failed to create pbuffer\n&quot;);<br>
+-      return 0;<br>
+-   }<br>
+-<br>
+-   free(configs);<br>
+-<br>
+-   b = eglMakeCurrent(d, pbuffer, pbuffer, ctx);<br>
+-   if (!b) {<br>
+-      printf(&quot;make current failed\n&quot;);<br>
+-      return 0;<br>
+-   }<br>
+-<br>
+-   b = eglMakeCurrent(d, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT);<br>
+-<br>
+-   TestScreens(d);<br>
+-<br>
+-   eglDestroySurface(d, pbuffer);<br>
+-   eglDestroyContext(d, ctx);<br>
+-   eglTerminate(d);<br>
+-<br>
+-   return 0;<br>
+-}<br>
+diff --git a/src/egl/opengl/demo2.c b/src/egl/opengl/demo2.c<br>
+deleted file mode 100644<br>
+index bfef59e..0000000<br>
+--- a/src/egl/opengl/demo2.c<br>
++++ /dev/null<br>
+@@ -1,221 +0,0 @@<br>
+-/*<br>
+- * Exercise EGL API functions<br>
+- */<br>
+-<br>
+-#define EGL_EGLEXT_PROTOTYPES<br>
+-<br>
+-#include &lt;assert.h&gt;<br>
+-#include &lt;stdio.h&gt;<br>
+-#include &lt;stdlib.h&gt;<br>
+-#include &lt;string.h&gt;<br>
+-#include &lt;unistd.h&gt;<br>
+-<br>
+-#include &lt;EGL/egl.h&gt;<br>
+-#include &lt;EGL/eglext.h&gt;<br>
+-#include &quot;gl_wrap.h&quot;<br>
+-<br>
+-/*#define FRONTBUFFER*/<br>
+-<br>
+-#ifdef EGL_MESA_screen_surface<br>
+-static void _subset_Rectf(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2,<br>
+-                          GLfloat r, GLfloat g, GLfloat b)<br>
+-{<br>
+-   GLfloat v[4][2], c[4][4];<br>
+-   int i;<br>
+-<br>
+-   v[0][0] = x1;   v[0][1] = y1;<br>
+-   v[1][0] = x2;   v[1][1] = y1;<br>
+-   v[2][0] = x2;   v[2][1] = y2;<br>
+-   v[3][0] = x1;   v[3][1] = y2;<br>
+-<br>
+-   for (i = 0; i &lt; 4; i++) {<br>
+-      c[i][0] = r;<br>
+-      c[i][1] = g;<br>
+-      c[i][2] = b;<br>
+-      c[i][3] = 1.0;<br>
+-   }<br>
+-<br>
+-   glVertexPointer(2, GL_FLOAT, 0, v);<br>
+-   glColorPointer(4, GL_FLOAT, 0, c);<br>
+-   glEnableClientState(GL_VERTEX_ARRAY);<br>
+-   glEnableClientState(GL_COLOR_ARRAY);<br>
+-<br>
+-   glDrawArrays(GL_TRIANGLE_FAN, 0, 4);<br>
+-<br>
+-   glDisableClientState(GL_VERTEX_ARRAY);<br>
+-   glDisableClientState(GL_COLOR_ARRAY);<br>
+-}<br>
+-<br>
+-<br>
+-static void redraw(EGLDisplay dpy, EGLSurface surf, int rot)<br>
+-{<br>
+-   GLfloat r, g, b;<br>
+-<br>
+-   printf(&quot;Redraw event\n&quot;);<br>
+-<br>
+-   glClearColor( rand()/(float)RAND_MAX,<br>
+-               rand()/(float)RAND_MAX,<br>
+-               rand()/(float)RAND_MAX,<br>
+-               1);<br>
+-<br>
+-   glClear( GL_COLOR_BUFFER_BIT );<br>
+-<br>
+-   r = rand()/(float)RAND_MAX;<br>
+-   g = rand()/(float)RAND_MAX;<br>
+-   b = rand()/(float)RAND_MAX;<br>
+-<br>
+-   glPushMatrix();<br>
+-   glRotatef(rot, 0, 0, 1);<br>
+-   glScalef(.5, .5, .5);<br>
+-   _subset_Rectf( -1, -1, 1, 1, r, g, b );<br>
+-   glPopMatrix();<br>
+-<br>
+-#ifdef FRONTBUFFER<br>
+-   glFlush();<br>
+-#else<br>
+-   eglSwapBuffers( dpy, surf );<br>
+-#endif<br>
+-   glFinish();<br>
+-}<br>
+-<br>
+-<br>
+-/**<br>
+- * Test EGL_MESA_screen_surface functions<br>
+- */<br>
+-static void<br>
+-TestScreens(EGLDisplay dpy)<br>
+-{<br>
+-#define MAX 8<br>
+-   EGLScreenMESA screens[MAX];<br>
+-   EGLint numScreens;<br>
+-   EGLint i;<br>
+-<br>
+-   eglGetScreensMESA(dpy, screens, MAX, &amp;numScreens);<br>
+-   printf(&quot;Found %d screens\n&quot;, numScreens);<br>
+-   for (i = 0; i &lt; numScreens; i++) {<br>
+-      printf(&quot; Screen %d handle: %d\n&quot;, i, (int) screens[i]);<br>
+-   }<br>
+-}<br>
+-#endif<br>
+-<br>
+-int<br>
+-main(int argc, char *argv[])<br>
+-{<br>
+-   int maj, min;<br>
+-#ifdef EGL_MESA_screen_surface<br>
+-   EGLContext ctx;<br>
+-   EGLSurface pbuffer, screen_surf;<br>
+-   EGLConfig configs[10];<br>
+-   EGLint numConfigs, i;<br>
+-   EGLBoolean b;<br>
+-   const EGLint pbufAttribs[] = {<br>
+-      EGL_WIDTH, 500,<br>
+-      EGL_HEIGHT, 500,<br>
+-      EGL_NONE<br>
+-   };<br>
+-   EGLint screenAttribs[32];<br>
+-   EGLModeMESA mode;<br>
+-   EGLScreenMESA screen;<br>
+-   EGLint count;<br>
+-#endif<br>
+-<br>
+-   EGLDisplay d = eglGetDisplay(EGL_DEFAULT_DISPLAY);<br>
+-   assert(d);<br>
+-<br>
+-   if (!eglInitialize(d, &amp;maj, &amp;min)) {<br>
+-      printf(&quot;demo: eglInitialize failed\n&quot;);<br>
+-      exit(1);<br>
+-   }<br>
+-<br>
+-   printf(&quot;EGL version = %d.%d\n&quot;, maj, min);<br>
+-   printf(&quot;EGL_VENDOR = %s\n&quot;, eglQueryString(d, EGL_VENDOR));<br>
+-   if (!strstr(eglQueryString(d, EGL_EXTENSIONS),<br>
+-               &quot;EGL_MESA_screen_surface&quot;)) {<br>
+-      printf(&quot;EGL_MESA_screen_surface is not supported\n&quot;);<br>
+-      exit(1);<br>
+-   }<br>
+-<br>
+-#ifdef EGL_MESA_screen_surface<br>
+-   eglGetConfigs(d, configs, 10, &amp;numConfigs);<br>
+-   printf(&quot;Got %d EGL configs:\n&quot;, numConfigs);<br>
+-   for (i = 0; i &lt; numConfigs; i++) {<br>
+-      EGLint id, red, depth;<br>
+-      eglGetConfigAttrib(d, configs[i], EGL_CONFIG_ID, &amp;id);<br>
+-      eglGetConfigAttrib(d, configs[i], EGL_RED_SIZE, &amp;red);<br>
+-      eglGetConfigAttrib(d, configs[i], EGL_DEPTH_SIZE, &amp;depth);<br>
+-      printf(&quot;%2d:  Red Size = %d  Depth Size = %d\n&quot;, id, red, depth);<br>
+-   }<br>
+-<br>
+-   eglGetScreensMESA(d, &amp;screen, 1, &amp;count);<br>
+-   eglGetModesMESA(d, screen, &amp;mode, 1, &amp;count);<br>
+-<br>
+-   eglBindAPI(EGL_OPENGL_API);<br>
+-   ctx = eglCreateContext(d, configs[0], EGL_NO_CONTEXT, NULL);<br>
+-   if (ctx == EGL_NO_CONTEXT) {<br>
+-      printf(&quot;failed to create context\n&quot;);<br>
+-      return 0;<br>
+-   }<br>
+-<br>
+-   pbuffer = eglCreatePbufferSurface(d, configs[0], pbufAttribs);<br>
+-   if (pbuffer == EGL_NO_SURFACE) {<br>
+-      printf(&quot;failed to create pbuffer\n&quot;);<br>
+-      return 0;<br>
+-   }<br>
+-<br>
+-   b = eglMakeCurrent(d, pbuffer, pbuffer, ctx);<br>
+-   if (!b) {<br>
+-      printf(&quot;make current failed\n&quot;);<br>
+-      return 0;<br>
+-   }<br>
+-<br>
+-   b = eglMakeCurrent(d, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT);<br>
+-<br>
+-   i = 0;<br>
+-   screenAttribs[i++] = EGL_WIDTH;<br>
+-   eglGetModeAttribMESA(d, mode, EGL_WIDTH, &amp;screenAttribs[i++]);<br>
+-   screenAttribs[i++] = EGL_HEIGHT;<br>
+-   eglGetModeAttribMESA(d, mode, EGL_HEIGHT, &amp;screenAttribs[i++]);<br>
+-   screenAttribs[i] = EGL_NONE;<br>
+-<br>
+-   screen_surf = eglCreateScreenSurfaceMESA(d, configs[0], screenAttribs);<br>
+-   if (screen_surf == EGL_NO_SURFACE) {<br>
+-      printf(&quot;failed to create screen surface\n&quot;);<br>
+-      return 0;<br>
+-   }<br>
+-<br>
+-   eglShowScreenSurfaceMESA(d, screen, screen_surf, mode);<br>
+-<br>
+-   b = eglMakeCurrent(d, screen_surf, screen_surf, ctx);<br>
+-   if (!b) {<br>
+-      printf(&quot;make current failed\n&quot;);<br>
+-      return 0;<br>
+-   }<br>
+-<br>
+-   glViewport(0, 0, 1024, 768);<br>
+-<br>
+-   glClearColor( 0,<br>
+-               1.0,<br>
+-               0,<br>
+-               1);<br>
+-<br>
+-   glClear( GL_COLOR_BUFFER_BIT );<br>
+-<br>
+-<br>
+-   TestScreens(d);<br>
+-<br>
+-   glShadeModel( GL_FLAT );<br>
+-<br>
+-   for (i = 0; i &lt; 6; i++) {<br>
+-      redraw(d, screen_surf, i*10 );<br>
+-<br>
+-      printf(&quot;sleep(1)\n&quot;);<br>
+-      sleep(1);<br>
+-   }<br>
+-<br>
+-   eglDestroySurface(d, pbuffer);<br>
+-   eglDestroyContext(d, ctx);<br>
+-   eglTerminate(d);<br>
+-#endif<br>
+-<br>
+-   return 0;<br>
+-}<br>
+diff --git a/src/egl/opengl/demo3.c b/src/egl/opengl/demo3.c<br>
+deleted file mode 100644<br>
+index 31b5d8b..0000000<br>
+--- a/src/egl/opengl/demo3.c<br>
++++ /dev/null<br>
+@@ -1,652 +0,0 @@<br>
+-/*<br>
+- * Exercise EGL API functions<br>
+- */<br>
+-<br>
+-#define EGL_EGLEXT_PROTOTYPES<br>
+-<br>
+-#include &lt;EGL/egl.h&gt;<br>
+-#include &lt;EGL/eglext.h&gt;<br>
+-#include &quot;gl_wrap.h&quot;<br>
+-#include &lt;assert.h&gt;<br>
+-#include &lt;stdio.h&gt;<br>
+-#include &lt;stdlib.h&gt;<br>
+-#include &lt;string.h&gt;<br>
+-#include &lt;unistd.h&gt;<br>
+-<br>
+-<br>
+-<br>
+-#define PIXEL_CENTER(x) ((long)(x) + 0.5)<br>
+-<br>
+-#define GAP 10<br>
+-#define ROWS 3<br>
+-#define COLS 4<br>
+-<br>
+-#define OPENGL_WIDTH 48<br>
+-#define OPENGL_HEIGHT 13<br>
+-<br>
+-<br>
+-GLenum rgb, doubleBuffer, windType;<br>
+-GLint windW, windH;<br>
+-<br>
+-GLenum mode1, mode2;<br>
+-GLint boxW, boxH;<br>
+-GLubyte OpenGL_bits[] = {<br>
+-   0x00, 0x03, 0x00, 0x00, 0x00, 0x00,<br>
+-   0x7f, 0xfb, 0xff, 0xff, 0xff, 0x01,<br>
+-   0x7f, 0xfb, 0xff, 0xff, 0xff, 0x01,<br>
+-   0x00, 0x03, 0x00, 0x00, 0x00, 0x00,<br>
+-   0x3e, 0x8f, 0xb7, 0xf9, 0xfc, 0x01,<br>
+-   0x63, 0xdb, 0xb0, 0x8d, 0x0d, 0x00,<br>
+-   0x63, 0xdb, 0xb7, 0x8d, 0x0d, 0x00,<br>
+-   0x63, 0xdb, 0xb6, 0x8d, 0x0d, 0x00,<br>
+-   0x63, 0x8f, 0xf3, 0xcc, 0x0d, 0x00,<br>
+-   0x63, 0x00, 0x00, 0x0c, 0x4c, 0x0a,<br>
+-   0x63, 0x00, 0x00, 0x0c, 0x4c, 0x0e,<br>
+-   0x63, 0x00, 0x00, 0x8c, 0xed, 0x0e,<br>
+-   0x3e, 0x00, 0x00, 0xf8, 0x0c, 0x00,<br>
+-};<br>
+-<br>
+-#ifdef EGL_MESA_screen_surface<br>
+-static void Init(void)<br>
+-{<br>
+-<br>
+-    mode1 = GL_TRUE;<br>
+-    mode2 = GL_TRUE;<br>
+-}<br>
+-<br>
+-static void Reshape(int width, int height)<br>
+-{<br>
+-<br>
+-    windW = (GLint)width;<br>
+-    windH = (GLint)height;<br>
+-}<br>
+-<br>
+-#if 0<br>
+-static void RotateColorMask(void)<br>
+-{<br>
+-    static GLint rotation = 0;<br>
+-<br>
+-    rotation = (rotation + 1) &amp; 0x3;<br>
+-    switch (rotation) {<br>
+-      case 0:<br>
+-      glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE);<br>
+-      glIndexMask( 0xff );<br>
+-      break;<br>
+-      case 1:<br>
+-      glColorMask(GL_FALSE, GL_TRUE, GL_TRUE, GL_TRUE);<br>
+-      glIndexMask(0xFE);<br>
+-      break;<br>
+-      case 2:<br>
+-      glColorMask(GL_TRUE, GL_FALSE, GL_TRUE, GL_TRUE);<br>
+-      glIndexMask(0xFD);<br>
+-      break;<br>
+-      case 3:<br>
+-      glColorMask(GL_TRUE, GL_TRUE, GL_FALSE, GL_TRUE);<br>
+-      glIndexMask(0xFB);<br>
+-      break;<br>
+-    }<br>
+-}<br>
+-#endif<br>
+-<br>
+-static void Viewport(GLint row, GLint column)<br>
+-{<br>
+-    GLint x, y;<br>
+-<br>
+-    boxW = (windW - (COLS + 1) * GAP) / COLS;<br>
+-    boxH = (windH - (ROWS + 1) * GAP) / ROWS;<br>
+-<br>
+-    x = GAP + column * (boxW + GAP);<br>
+-    y = GAP + row * (boxH + GAP);<br>
+-<br>
+-    glViewport(x, y, boxW, boxH);<br>
+-<br>
+-    glMatrixMode(GL_PROJECTION);<br>
+-    glLoadIdentity();<br>
+-    glOrtho(-boxW/2, boxW/2, -boxH/2, boxH/2, 0.0, 1.0);<br>
+-    glMatrixMode(GL_MODELVIEW);<br>
+-<br>
+-    glEnable(GL_SCISSOR_TEST);<br>
+-    glScissor(x, y, boxW, boxH);<br>
+-}<br>
+-<br>
+-enum {<br>
+-    COLOR_BLACK = 0,<br>
+-    COLOR_RED,<br>
+-    COLOR_GREEN,<br>
+-    COLOR_YELLOW,<br>
+-    COLOR_BLUE,<br>
+-    COLOR_MAGENTA,<br>
+-    COLOR_CYAN,<br>
+-    COLOR_WHITE<br>
+-};<br>
+-<br>
+-static float RGBMap[9][3] = {<br>
+-    {0, 0, 0},<br>
+-    {1, 0, 0},<br>
+-    {0, 1, 0},<br>
+-    {1, 1, 0},<br>
+-    {0, 0, 1},<br>
+-    {1, 0, 1},<br>
+-    {0, 1, 1},<br>
+-    {1, 1, 1},<br>
+-    {0.5, 0.5, 0.5}<br>
+-};<br>
+-<br>
+-static void SetColor(int c)<br>
+-{<br>
+-     glColor3fv(RGBMap[c]);<br>
+-}<br>
+-<br>
+-static void Point(void)<br>
+-{<br>
+-    GLint i;<br>
+-<br>
+-    glBegin(GL_POINTS);<br>
+-      SetColor(COLOR_WHITE);<br>
+-      glVertex2i(0, 0);<br>
+-      for (i = 1; i &lt; 8; i++) {<br>
+-          GLint j = i * 2;<br>
+-          SetColor(COLOR_BLACK+i);<br>
+-          glVertex2i(-j, -j);<br>
+-          glVertex2i(-j, 0);<br>
+-          glVertex2i(-j, j);<br>
+-          glVertex2i(0, j);<br>
+-          glVertex2i(j, j);<br>
+-          glVertex2i(j, 0);<br>
+-          glVertex2i(j, -j);<br>
+-          glVertex2i(0, -j);<br>
+-      }<br>
+-    glEnd();<br>
+-}<br>
+-<br>
+-static void Lines(void)<br>
+-{<br>
+-    GLint i;<br>
+-<br>
+-    glPushMatrix();<br>
+-<br>
+-    glTranslatef(-12, 0, 0);<br>
+-    for (i = 1; i &lt; 8; i++) {<br>
+-      SetColor(COLOR_BLACK+i);<br>
+-      glBegin(GL_LINES);<br>
+-          glVertex2i(-boxW/4, -boxH/4);<br>
+-          glVertex2i(boxW/4, boxH/4);<br>
+-      glEnd();<br>
+-      glTranslatef(4, 0, 0);<br>
+-    }<br>
+-<br>
+-    glPopMatrix();<br>
+-<br>
+-    glBegin(GL_LINES);<br>
+-      glVertex2i(0, 0);<br>
+-    glEnd();<br>
+-}<br>
+-<br>
+-static void LineStrip(void)<br>
+-{<br>
+-<br>
+-    glBegin(GL_LINE_STRIP);<br>
+-      SetColor(COLOR_RED);<br>
+-      glVertex2f(PIXEL_CENTER(-boxW/4), PIXEL_CENTER(-boxH/4));<br>
+-      SetColor(COLOR_GREEN);<br>
+-      glVertex2f(PIXEL_CENTER(-boxW/4), PIXEL_CENTER(boxH/4));<br>
+-      SetColor(COLOR_BLUE);<br>
+-      glVertex2f(PIXEL_CENTER(boxW/4), PIXEL_CENTER(boxH/4));<br>
+-      SetColor(COLOR_WHITE);<br>
+-      glVertex2f(PIXEL_CENTER(boxW/4), PIXEL_CENTER(-boxH/4));<br>
+-    glEnd();<br>
+-<br>
+-    glBegin(GL_LINE_STRIP);<br>
+-      glVertex2i(0, 0);<br>
+-    glEnd();<br>
+-}<br>
+-<br>
+-static void LineLoop(void)<br>
+-{<br>
+-<br>
+-    glBegin(GL_LINE_LOOP);<br>
+-      SetColor(COLOR_RED);<br>
+-      glVertex2f(PIXEL_CENTER(-boxW/4), PIXEL_CENTER(-boxH/4));<br>
+-      SetColor(COLOR_GREEN);<br>
+-      glVertex2f(PIXEL_CENTER(-boxW/4), PIXEL_CENTER(boxH/4));<br>
+-      SetColor(COLOR_BLUE);<br>
+-      glVertex2f(PIXEL_CENTER(boxW/4), PIXEL_CENTER(boxH/4));<br>
+-      SetColor(COLOR_WHITE);<br>
+-      glVertex2f(PIXEL_CENTER(boxW/4), PIXEL_CENTER(-boxH/4));<br>
+-    glEnd();<br>
+-<br>
+-    glEnable(GL_LOGIC_OP);<br>
+-    glLogicOp(GL_XOR);<br>
+-<br>
+-    glEnable(GL_BLEND);<br>
+-    glBlendFunc(GL_ONE, GL_ONE);<br>
+-<br>
+-    SetColor(COLOR_MAGENTA);<br>
+-    glBegin(GL_LINE_LOOP);<br>
+-      glVertex2f(PIXEL_CENTER(-boxW/8), PIXEL_CENTER(-boxH/8));<br>
+-      glVertex2f(PIXEL_CENTER(-boxW/8), PIXEL_CENTER(boxH/8));<br>
+-    glEnd();<br>
+-    glBegin(GL_LINE_LOOP);<br>
+-      glVertex2f(PIXEL_CENTER(-boxW/8), PIXEL_CENTER(boxH/8+5));<br>
+-      glVertex2f(PIXEL_CENTER(boxW/8), PIXEL_CENTER(boxH/8+5));<br>
+-    glEnd();<br>
+-    glDisable(GL_LOGIC_OP);<br>
+-    glDisable(GL_BLEND);<br>
+-<br>
+-    SetColor(COLOR_GREEN);<br>
+-    glBegin(GL_POINTS);<br>
+-      glVertex2i(0, 0);<br>
+-    glEnd();<br>
+-<br>
+-    glBegin(GL_LINE_LOOP);<br>
+-      glVertex2i(0, 0);<br>
+-    glEnd();<br>
+-}<br>
+-<br>
+-static void Bitmap(void)<br>
+-{<br>
+-<br>
+-    glBegin(GL_LINES);<br>
+-      SetColor(COLOR_GREEN);<br>
+-      glVertex2i(-boxW/2, 0);<br>
+-      glVertex2i(boxW/2, 0);<br>
+-      glVertex2i(0, -boxH/2);<br>
+-      glVertex2i(0, boxH/2);<br>
+-      SetColor(COLOR_RED);<br>
+-      glVertex2i(0, -3);<br>
+-      glVertex2i(0, -3+OPENGL_HEIGHT);<br>
+-      SetColor(COLOR_BLUE);<br>
+-      glVertex2i(0, -3);<br>
+-      glVertex2i(OPENGL_WIDTH, -3);<br>
+-    glEnd();<br>
+-<br>
+-    SetColor(COLOR_GREEN);<br>
+-<br>
+-    glPixelStorei(GL_UNPACK_LSB_FIRST, GL_TRUE);<br>
+-    glPixelStorei(GL_UNPACK_ALIGNMENT, 1);<br>
+-<br>
+-    glRasterPos2i(0, 0);<br>
+-    glBitmap(OPENGL_WIDTH, OPENGL_HEIGHT, 0, 3, 0.0, 0.0, OpenGL_bits);<br>
+-}<br>
+-<br>
+-static void Triangles(void)<br>
+-{<br>
+-<br>
+-    glBegin(GL_TRIANGLES);<br>
+-      SetColor(COLOR_GREEN);<br>
+-      glVertex2i(-boxW/4, -boxH/4);<br>
+-      SetColor(COLOR_RED);<br>
+-      glVertex2i(-boxW/8, -boxH/16);<br>
+-      SetColor(COLOR_BLUE);<br>
+-      glVertex2i(boxW/8, -boxH/16);<br>
+-<br>
+-      SetColor(COLOR_GREEN);<br>
+-      glVertex2i(-boxW/4, boxH/4);<br>
+-      SetColor(COLOR_RED);<br>
+-      glVertex2i(-boxW/8, boxH/16);<br>
+-      SetColor(COLOR_BLUE);<br>
+-      glVertex2i(boxW/8, boxH/16);<br>
+-    glEnd();<br>
+-<br>
+-    glBegin(GL_TRIANGLES);<br>
+-      glVertex2i(0, 0);<br>
+-      glVertex2i(-100, 100);<br>
+-    glEnd();<br>
+-}<br>
+-<br>
+-static void TriangleStrip(void)<br>
+-{<br>
+-<br>
+-    glBegin(GL_TRIANGLE_STRIP);<br>
+-      SetColor(COLOR_GREEN);<br>
+-      glVertex2i(-boxW/4, -boxH/4);<br>
+-      SetColor(COLOR_RED);<br>
+-      glVertex2i(-boxW/4, boxH/4);<br>
+-      SetColor(COLOR_BLUE);<br>
+-      glVertex2i(0, -boxH/4);<br>
+-      SetColor(COLOR_WHITE);<br>
+-      glVertex2i(0, boxH/4);<br>
+-      SetColor(COLOR_CYAN);<br>
+-      glVertex2i(boxW/4, -boxH/4);<br>
+-      SetColor(COLOR_YELLOW);<br>
+-      glVertex2i(boxW/4, boxH/4);<br>
+-    glEnd();<br>
+-<br>
+-    glBegin(GL_TRIANGLE_STRIP);<br>
+-      glVertex2i(0, 0);<br>
+-      glVertex2i(-100, 100);<br>
+-    glEnd();<br>
+-}<br>
+-<br>
+-static void TriangleFan(void)<br>
+-{<br>
+-    GLint vx[8][2];<br>
+-    GLint x0, y0, x1, y1, x2, y2, x3, y3;<br>
+-    GLint i;<br>
+-<br>
+-    y0 = -boxH/4;<br>
+-    y1 = y0 + boxH/2/3;<br>
+-    y2 = y1 + boxH/2/3;<br>
+-    y3 = boxH/4;<br>
+-    x0 = -boxW/4;<br>
+-    x1 = x0 + boxW/2/3;<br>
+-    x2 = x1 + boxW/2/3;<br>
+-    x3 = boxW/4;<br>
+-<br>
+-    vx[0][0] = x0; vx[0][1] = y1;<br>
+-    vx[1][0] = x0; vx[1][1] = y2;<br>
+-    vx[2][0] = x1; vx[2][1] = y3;<br>
+-    vx[3][0] = x2; vx[3][1] = y3;<br>
+-    vx[4][0] = x3; vx[4][1] = y2;<br>
+-    vx[5][0] = x3; vx[5][1] = y1;<br>
+-    vx[6][0] = x2; vx[6][1] = y0;<br>
+-    vx[7][0] = x1; vx[7][1] = y0;<br>
+-<br>
+-    glBegin(GL_TRIANGLE_FAN);<br>
+-      SetColor(COLOR_WHITE);<br>
+-      glVertex2i(0, 0);<br>
+-      for (i = 0; i &lt; 8; i++) {<br>
+-          SetColor(COLOR_WHITE-i);<br>
+-          glVertex2iv(vx[i]);<br>
+-      }<br>
+-    glEnd();<br>
+-<br>
+-    glBegin(GL_TRIANGLE_FAN);<br>
+-      glVertex2i(0, 0);<br>
+-      glVertex2i(-100, 100);<br>
+-    glEnd();<br>
+-}<br>
+-<br>
+-static void Rect(void)<br>
+-{<br>
+-<br>
+-    SetColor(COLOR_GREEN);<br>
+-    glRecti(-boxW/4, -boxH/4, boxW/4, boxH/4);<br>
+-}<br>
+-<br>
+-static void PolygonFunc(void)<br>
+-{<br>
+-    GLint vx[8][2];<br>
+-    GLint x0, y0, x1, y1, x2, y2, x3, y3;<br>
+-    GLint i;<br>
+-<br>
+-    y0 = -boxH/4;<br>
+-    y1 = y0 + boxH/2/3;<br>
+-    y2 = y1 + boxH/2/3;<br>
+-    y3 = boxH/4;<br>
+-    x0 = -boxW/4;<br>
+-    x1 = x0 + boxW/2/3;<br>
+-    x2 = x1 + boxW/2/3;<br>
+-    x3 = boxW/4;<br>
+-<br>
+-    vx[0][0] = x0; vx[0][1] = y1;<br>
+-    vx[1][0] = x0; vx[1][1] = y2;<br>
+-    vx[2][0] = x1; vx[2][1] = y3;<br>
+-    vx[3][0] = x2; vx[3][1] = y3;<br>
+-    vx[4][0] = x3; vx[4][1] = y2;<br>
+-    vx[5][0] = x3; vx[5][1] = y1;<br>
+-    vx[6][0] = x2; vx[6][1] = y0;<br>
+-    vx[7][0] = x1; vx[7][1] = y0;<br>
+-<br>
+-    glBegin(GL_POLYGON);<br>
+-      for (i = 0; i &lt; 8; i++) {<br>
+-          SetColor(COLOR_WHITE-i);<br>
+-          glVertex2iv(vx[i]);<br>
+-      }<br>
+-    glEnd();<br>
+-<br>
+-    glBegin(GL_POLYGON);<br>
+-      glVertex2i(0, 0);<br>
+-      glVertex2i(100, 100);<br>
+-    glEnd();<br>
+-}<br>
+-<br>
+-static void Quads(void)<br>
+-{<br>
+-<br>
+-    glBegin(GL_QUADS);<br>
+-      SetColor(COLOR_GREEN);<br>
+-      glVertex2i(-boxW/4, -boxH/4);<br>
+-      SetColor(COLOR_RED);<br>
+-      glVertex2i(-boxW/8, -boxH/16);<br>
+-      SetColor(COLOR_BLUE);<br>
+-      glVertex2i(boxW/8, -boxH/16);<br>
+-      SetColor(COLOR_WHITE);<br>
+-      glVertex2i(boxW/4, -boxH/4);<br>
+-<br>
+-      SetColor(COLOR_GREEN);<br>
+-      glVertex2i(-boxW/4, boxH/4);<br>
+-      SetColor(COLOR_RED);<br>
+-      glVertex2i(-boxW/8, boxH/16);<br>
+-      SetColor(COLOR_BLUE);<br>
+-      glVertex2i(boxW/8, boxH/16);<br>
+-      SetColor(COLOR_WHITE);<br>
+-      glVertex2i(boxW/4, boxH/4);<br>
+-    glEnd();<br>
+-<br>
+-    glBegin(GL_QUADS);<br>
+-      glVertex2i(0, 0);<br>
+-      glVertex2i(100, 100);<br>
+-      glVertex2i(-100, 100);<br>
+-    glEnd();<br>
+-}<br>
+-<br>
+-static void QuadStrip(void)<br>
+-{<br>
+-<br>
+-    glBegin(GL_QUAD_STRIP);<br>
+-      SetColor(COLOR_GREEN);<br>
+-      glVertex2i(-boxW/4, -boxH/4);<br>
+-      SetColor(COLOR_RED);<br>
+-      glVertex2i(-boxW/4, boxH/4);<br>
+-      SetColor(COLOR_BLUE);<br>
+-      glVertex2i(0, -boxH/4);<br>
+-      SetColor(COLOR_WHITE);<br>
+-      glVertex2i(0, boxH/4);<br>
+-      SetColor(COLOR_CYAN);<br>
+-      glVertex2i(boxW/4, -boxH/4);<br>
+-      SetColor(COLOR_YELLOW);<br>
+-      glVertex2i(boxW/4, boxH/4);<br>
+-    glEnd();<br>
+-<br>
+-    glBegin(GL_QUAD_STRIP);<br>
+-      glVertex2i(0, 0);<br>
+-      glVertex2i(100, 100);<br>
+-      glVertex2i(-100, 100);<br>
+-    glEnd();<br>
+-}<br>
+-<br>
+-static void Draw(EGLDisplay dpy, EGLSurface surf)<br>
+-{<br>
+-<br>
+-    glViewport(0, 0, windW, windH);<br>
+-    glDisable(GL_SCISSOR_TEST);<br>
+-<br>
+-    glPushAttrib(GL_COLOR_BUFFER_BIT);<br>
+-<br>
+-    glColorMask(1, 1, 1, 1);<br>
+-    glIndexMask(~0);<br>
+-<br>
+-    glClearColor(0.0, 0.0, 0.0, 0.0);<br>
+-    glClear(GL_COLOR_BUFFER_BIT);<br>
+-<br>
+-    glPopAttrib();<br>
+-<br>
+-    if (mode1) {<br>
+-      glShadeModel(GL_SMOOTH);<br>
+-    } else {<br>
+-      glShadeModel(GL_FLAT);<br>
+-    }<br>
+-<br>
+-    if (mode2) {<br>
+-      glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);<br>
+-    } else {<br>
+-      glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);<br>
+-    }<br>
+-<br>
+-    Viewport(0, 0); Point();<br>
+-    Viewport(0, 1); Lines();<br>
+-    Viewport(0, 2); LineStrip();<br>
+-    Viewport(0, 3); LineLoop();<br>
+-<br>
+-    Viewport(1, 0); Bitmap();<br>
+-<br>
+-    Viewport(1, 1); TriangleFan();<br>
+-    Viewport(1, 2); Triangles();<br>
+-    Viewport(1, 3); TriangleStrip();<br>
+-<br>
+-    Viewport(2, 0); Rect();<br>
+-    Viewport(2, 1); PolygonFunc();<br>
+-    Viewport(2, 2); Quads();<br>
+-    Viewport(2, 3); QuadStrip();<br>
+-<br>
+-    glFlush();<br>
+-<br>
+-    if (doubleBuffer) {<br>
+-      eglSwapBuffers(dpy, surf);<br>
+-    }<br>
+-}<br>
+-<br>
+-static void<br>
+-write_ppm(const char *filename, const GLubyte *buffer, int width, int height)<br>
+-{<br>
+-   const int binary = 0;<br>
+-   FILE *f = fopen( filename, &quot;w&quot; );<br>
+-   if (f) {<br>
+-      int i, x, y;<br>
+-      const GLubyte *ptr = buffer;<br>
+-      if (binary) {<br>
+-         fprintf(f,&quot;P6\n&quot;);<br>
+-         fprintf(f,&quot;# ppm-file created by osdemo.c\n&quot;);<br>
+-         fprintf(f,&quot;%i %i\n&quot;, width,height);<br>
+-         fprintf(f,&quot;255\n&quot;);<br>
+-         fclose(f);<br>
+-         f = fopen( filename, &quot;ab&quot; );  /* reopen in binary append mode */<br>
+-         for (y=height-1; y&gt;=0; y--) {<br>
+-            for (x=0; x&lt;width; x++) {<br>
+-               i = (y*width + x) * 4;<br>
+-               fputc(ptr[i], f);   /* write red */<br>
+-               fputc(ptr[i+1], f); /* write green */<br>
+-               fputc(ptr[i+2], f); /* write blue */<br>
+-            }<br>
+-         }<br>
+-      }<br>
+-      else {<br>
+-         /*ASCII*/<br>
+-         int counter = 0;<br>
+-         fprintf(f,&quot;P3\n&quot;);<br>
+-         fprintf(f,&quot;# ascii ppm file created by osdemo.c\n&quot;);<br>
+-         fprintf(f,&quot;%i %i\n&quot;, width, height);<br>
+-         fprintf(f,&quot;255\n&quot;);<br>
+-         for (y=height-1; y&gt;=0; y--) {<br>
+-            for (x=0; x&lt;width; x++) {<br>
+-               i = (y*width + x) * 4;<br>
+-               fprintf(f, &quot; %3d %3d %3d&quot;, ptr[i], ptr[i+1], ptr[i+2]);<br>
+-               counter++;<br>
+-               if (counter % 5 == 0)<br>
+-                  fprintf(f, &quot;\n&quot;);<br>
+-            }<br>
+-         }<br>
+-      }<br>
+-      fclose(f);<br>
+-   }<br>
+-}<br>
+-#endif<br>
+-<br>
+-int<br>
+-main(int argc, char *argv[])<br>
+-{<br>
+-   int maj, min;<br>
+-#ifdef EGL_MESA_screen_surface<br>
+-   EGLContext ctx;<br>
+-   EGLSurface screen_surf;<br>
+-   EGLConfig configs[10];<br>
+-   EGLScreenMESA screen;<br>
+-   EGLModeMESA mode;<br>
+-   EGLint numConfigs, count;<br>
+-   EGLBoolean b;<br>
+-   const GLubyte *bitmap;<br>
+-   EGLint screenAttribs[32];<br>
+-   EGLint i;<br>
+-#endif<br>
+-<br>
+-   EGLDisplay d = eglGetDisplay(EGL_DEFAULT_DISPLAY);<br>
+-   assert(d);<br>
+-<br>
+-   if (!eglInitialize(d, &amp;maj, &amp;min)) {<br>
+-      printf(&quot;demo: eglInitialize failed\n&quot;);<br>
+-      exit(1);<br>
+-   }<br>
+-<br>
+-   printf(&quot;EGL version = %d.%d\n&quot;, maj, min);<br>
+-   printf(&quot;EGL_VENDOR = %s\n&quot;, eglQueryString(d, EGL_VENDOR));<br>
+-   if (!strstr(eglQueryString(d, EGL_EXTENSIONS),<br>
+-               &quot;EGL_MESA_screen_surface&quot;)) {<br>
+-      printf(&quot;EGL_MESA_screen_surface is not supported\n&quot;);<br>
+-      exit(1);<br>
+-   }<br>
+-<br>
+-#ifdef EGL_MESA_screen_surface<br>
+-   eglGetConfigs(d, configs, 10, &amp;numConfigs);<br>
+-   eglGetScreensMESA(d, &amp;screen, 1, &amp;count);<br>
+-   eglGetModesMESA(d, screen, &amp;mode, 1, &amp;count);<br>
+-<br>
+-   eglBindAPI(EGL_OPENGL_API);<br>
+-   ctx = eglCreateContext(d, configs[0], EGL_NO_CONTEXT, NULL);<br>
+-   if (ctx == EGL_NO_CONTEXT) {<br>
+-      printf(&quot;failed to create context\n&quot;);<br>
+-      return 0;<br>
+-   }<br>
+-<br>
+-   i = 0;<br>
+-   screenAttribs[i++] = EGL_WIDTH;<br>
+-   eglGetModeAttribMESA(d, mode, EGL_WIDTH, &amp;screenAttribs[i++]);<br>
+-   screenAttribs[i++] = EGL_HEIGHT;<br>
+-   eglGetModeAttribMESA(d, mode, EGL_HEIGHT, &amp;screenAttribs[i++]);<br>
+-   screenAttribs[i] = EGL_NONE;<br>
+-<br>
+-   screen_surf = eglCreateScreenSurfaceMESA(d, configs[0], screenAttribs);<br>
+-   if (screen_surf == EGL_NO_SURFACE) {<br>
+-      printf(&quot;failed to create screen surface\n&quot;);<br>
+-      return 0;<br>
+-   }<br>
+-<br>
+-   eglShowScreenSurfaceMESA(d, screen, screen_surf, mode);<br>
+-<br>
+-   b = eglMakeCurrent(d, screen_surf, screen_surf, ctx);<br>
+-   if (!b) {<br>
+-      printf(&quot;make current failed\n&quot;);<br>
+-      return 0;<br>
+-   }<br>
+-   glViewport(0, 0, 1024, 768);<br>
+-<br>
+-<br>
+-   Init();<br>
+-   Reshape(1024, 768);<br>
+-<br>
+-   /* some drivers crash when rendering to front buffer */<br>
+-#if 0<br>
+-   glDrawBuffer( GL_FRONT );<br>
+-   glClearColor( 0, 1.0, 0, 1);<br>
+-<br>
+-   glClear( GL_COLOR_BUFFER_BIT );<br>
+-#endif<br>
+-<br>
+-   doubleBuffer = 1;<br>
+-   glDrawBuffer( GL_BACK );<br>
+-<br>
+-   Draw(d, screen_surf);<br>
+-   sleep(2);<br>
+-<br>
+-   /* TODO EGL_KHR_lock_surface */<br>
+-   bitmap = NULL;<br>
+-   if (bitmap)<br>
+-      write_ppm(&quot;dump.ppm&quot;, bitmap, 1024, 768);<br>
+-<br>
+-   eglDestroySurface(d, screen_surf);<br>
+-   eglDestroyContext(d, ctx);<br>
+-   eglTerminate(d);<br>
+-#endif<br>
+-<br>
+-   return 0;<br>
+-}<br>
+diff --git a/src/egl/opengl/eglinfo.c b/src/egl/opengl/eglinfo.c<br>
+index 8e82e73..1f79fef 100644<br>
+--- a/src/egl/opengl/eglinfo.c<br>
++++ b/src/egl/opengl/eglinfo.c<br>
+@@ -93,10 +93,6 @@ PrintConfigs(EGLDisplay d)<br>
+          strcat(surfString, &quot;pb,&quot;);<br>
+       if (surfaces &amp; EGL_PIXMAP_BIT)<br>
+          strcat(surfString, &quot;pix,&quot;);<br>
+-#ifdef EGL_MESA_screen_surface<br>
+-      if (surfaces &amp; EGL_SCREEN_BIT_MESA)<br>
+-         strcat(surfString, &quot;scrn,&quot;);<br>
+-#endif<br>
+       if (strlen(surfString) &gt; 0)<br>
+          surfString[strlen(surfString) - 1] = 0;<br>
+<br>
+@@ -117,45 +113,6 @@ PrintConfigs(EGLDisplay d)<br>
+ }<br>
+<br>
+<br>
+-/**<br>
+- * Print table of all available configurations.<br>
+- */<br>
+-static void<br>
+-PrintModes(EGLDisplay d)<br>
+-{<br>
+-#ifdef EGL_MESA_screen_surface<br>
+-   const char *extensions = eglQueryString(d, EGL_EXTENSIONS);<br>
+-   if (strstr(extensions, &quot;EGL_MESA_screen_surface&quot;)) {<br>
+-      EGLScreenMESA screens[MAX_SCREENS];<br>
+-      EGLint numScreens = 1, scrn;<br>
+-      EGLModeMESA modes[MAX_MODES];<br>
+-<br>
+-      eglGetScreensMESA(d, screens, MAX_SCREENS, &amp;numScreens);<br>
+-      printf(&quot;Number of Screens: %d\n\n&quot;, numScreens);<br>
+-<br>
+-      for (scrn = 0; scrn &lt; numScreens; scrn++) {<br>
+-         EGLint numModes, i;<br>
+-<br>
+-         eglGetModesMESA(d, screens[scrn], modes, MAX_MODES, &amp;numModes);<br>
+-<br>
+-         printf(&quot;Screen %d Modes:\n&quot;, scrn);<br>
+-         printf(&quot;  id  width height refresh  name\n&quot;);<br>
+-         printf(&quot;-----------------------------------------\n&quot;);<br>
+-         for (i = 0; i &lt; numModes; i++) {<br>
+-            EGLint id, w, h, r;<br>
+-            const char *str;<br>
+-            eglGetModeAttribMESA(d, modes[i], EGL_MODE_ID_MESA, &amp;id);<br>
+-            eglGetModeAttribMESA(d, modes[i], EGL_WIDTH, &amp;w);<br>
+-            eglGetModeAttribMESA(d, modes[i], EGL_HEIGHT, &amp;h);<br>
+-            eglGetModeAttribMESA(d, modes[i], EGL_REFRESH_RATE_MESA, &amp;r);<br>
+-            str = eglQueryModeStringMESA(d, modes[i]);<br>
+-            printf(&quot;0x%02x %5d  %5d   %.3f  %s\n&quot;, id, w, h, r / 1000.0, str);<br>
+-         }<br>
+-      }<br>
+-   }<br>
+-#endif<br>
+-}<br>
+-<br>
+ static void<br>
+ PrintExtensions(EGLDisplay d)<br>
+ {<br>
+@@ -215,8 +172,6 @@ main(int argc, char *argv[])<br>
+<br>
+    PrintConfigs(d);<br>
+<br>
+-   PrintModes(d);<br>
+-<br>
+    eglTerminate(d);<br>
+<br>
+    return 0;<br>
+diff --git a/src/egl/opengles1/Makefile.am b/src/egl/opengles1/Makefile.am<br>
+index 516e516..1cc2e1f 100644<br>
+--- a/src/egl/opengles1/Makefile.am<br>
++++ b/src/egl/opengles1/Makefile.am<br>
+@@ -38,24 +38,6 @@ AM_LDFLAGS = \<br>
+<br>
+ bin_PROGRAMS =<br>
+<br>
+-if HAVE_EGL<br>
+-if HAVE_GLESV1<br>
+-bin_PROGRAMS += \<br>
+-      drawtex_screen \<br>
+-      gears_screen \<br>
+-      torus_screen \<br>
+-      tri_screen<br>
+-<br>
+-drawtex_screen_SOURCES = drawtex.c<br>
+-gears_screen_SOURCES = gears.c<br>
+-torus_screen_SOURCES = torus.c<br>
+-tri_screen_SOURCES = tri.c<br>
+-<br>
+-drawtex_screen_LDADD = ../eglut/<a href="http://libeglut_screen.la" rel="noreferrer" target="_blank">libeglut_screen.la</a><br>
+-gears_screen_LDADD = ../eglut/<a href="http://libeglut_screen.la" rel="noreferrer" target="_blank">libeglut_screen.la</a><br>
+-torus_screen_LDADD = ../eglut/<a href="http://libeglut_screen.la" rel="noreferrer" target="_blank">libeglut_screen.la</a><br>
+-tri_screen_LDADD = ../eglut/<a href="http://libeglut_screen.la" rel="noreferrer" target="_blank">libeglut_screen.la</a><br>
+-<br>
+ if HAVE_X11<br>
+ bin_PROGRAMS += \<br>
+       clear \<br>
+@@ -94,5 +76,3 @@ gears_x11_LDADD = ../eglut/<a href="http://libeglut_x11.la" rel="noreferrer" target="_blank">libeglut_x11.la</a><br>
+ torus_x11_LDADD = ../eglut/<a href="http://libeglut_x11.la" rel="noreferrer" target="_blank">libeglut_x11.la</a><br>
+ tri_x11_LDADD = ../eglut/<a href="http://libeglut_x11.la" rel="noreferrer" target="_blank">libeglut_x11.la</a><br>
+ endif<br>
+-endif<br>
+-endif<br>
+diff --git a/src/egl/opengles2/Makefile.am b/src/egl/opengles2/Makefile.am<br>
+index 74af460..422cb03 100644<br>
+--- a/src/egl/opengles2/Makefile.am<br>
++++ b/src/egl/opengles2/Makefile.am<br>
+@@ -33,13 +33,7 @@ AM_LDFLAGS = \<br>
+       $(EGL_LIBS) \<br>
+       -lm<br>
+<br>
+-if HAVE_EGL<br>
+-if HAVE_GLESV2<br>
+-bin_PROGRAMS = \<br>
+-      es2gears_screen<br>
+-<br>
+-es2gears_screen_SOURCES = es2gears.c<br>
+-es2gears_screen_LDADD = ../eglut/<a href="http://libeglut_screen.la" rel="noreferrer" target="_blank">libeglut_screen.la</a><br>
++bin_PROGRAMS =<br>
+<br>
+ if HAVE_WAYLAND<br>
+ bin_PROGRAMS += es2gears_wayland<br>
+@@ -59,6 +53,4 @@ es2gears_x11_SOURCES = es2gears.c<br>
+ es2gears_x11_LDADD = ../eglut/<a href="http://libeglut_x11.la" rel="noreferrer" target="_blank">libeglut_x11.la</a><br>
+ es2tri_LDADD = $(X11_LIBS)<br>
+ endif<br>
+-endif<br>
+-endif<br>
+<br>
+diff --git a/src/egl/openvg/Makefile.am b/src/egl/openvg/Makefile.am<br>
+index b545225..5fd1cf8 100644<br>
+--- a/src/egl/openvg/Makefile.am<br>
++++ b/src/egl/openvg/Makefile.am<br>
+@@ -50,21 +50,13 @@ endif<br>
+ if HAVE_EGL<br>
+ if HAVE_VG<br>
+ bin_PROGRAMS = \<br>
+-      lion_screen \<br>
+-      sp_screen \<br>
+       $(EGL_X11_DEMOS)<br>
+ endif<br>
+ endif<br>
+<br>
+-lion_screen_SOURCES = lion.c lion-render.c lion-render.h<br>
+-sp_screen_SOURCES = sp.c<br>
+-<br>
+ lion_x11_SOURCES = lion.c lion-render.c lion-render.h<br>
+ sp_x11_SOURCES = sp.c<br>
+<br>
+-lion_screen_LDADD = ../eglut/<a href="http://libeglut_screen.la" rel="noreferrer" target="_blank">libeglut_screen.la</a><br>
+-sp_screen_LDADD = ../eglut/<a href="http://libeglut_screen.la" rel="noreferrer" target="_blank">libeglut_screen.la</a><br>
+-<br>
+ lion_x11_LDADD = ../eglut/<a href="http://libeglut_x11.la" rel="noreferrer" target="_blank">libeglut_x11.la</a><br>
+ sp_x11_LDADD = ../eglut/<a href="http://libeglut_x11.la" rel="noreferrer" target="_blank">libeglut_x11.la</a><br>
+<br>
+diff --git a/src/egl/openvg/Makefile.in b/src/egl/openvg/Makefile.in<br>
+index 99e9288..3652fbb 100644<br>
+--- a/src/egl/openvg/Makefile.in<br>
++++ b/src/egl/openvg/Makefile.in<br>
+@@ -108,8 +108,6 @@ host_triplet = @host@<br>
+ @HAVE_FREETYPE2_TRUE@@HAVE_X11_TRUE@am__append_1 = \<br>
+ @HAVE_FREETYPE2_TRUE@@HAVE_X11_TRUE@  text<br>
+<br>
+-@HAVE_EGL_TRUE@@HAVE_VG_TRUE@noinst_PROGRAMS = lion_screen$(EXEEXT) \<br>
+-@HAVE_EGL_TRUE@@HAVE_VG_TRUE@ sp_screen$(EXEEXT) \<br>
+ @HAVE_EGL_TRUE@@HAVE_VG_TRUE@ $(am__EXEEXT_2)<br>
+ subdir = src/egl/openvg<br>
+ DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \<br>
+@@ -128,9 +126,6 @@ CONFIG_CLEAN_VPATH_FILES =<br>
+ @HAVE_X11_TRUE@am__EXEEXT_2 = lion_x11$(EXEEXT) sp_x11$(EXEEXT) \<br>
+ @HAVE_X11_TRUE@       $(am__EXEEXT_1)<br>
+ PROGRAMS = $(noinst_PROGRAMS)<br>
+-am_lion_screen_OBJECTS = lion.$(OBJEXT) lion-render.$(OBJEXT)<br>
+-lion_screen_OBJECTS = $(am_lion_screen_OBJECTS)<br>
+-lion_screen_DEPENDENCIES = ../eglut/<a href="http://libeglut_screen.la" rel="noreferrer" target="_blank">libeglut_screen.la</a><br>
+ AM_V_lt = $(am__v_lt_@AM_V@)<br>
+ am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)<br>
+ am__v_lt_0 = --silent<br>
+@@ -138,9 +133,6 @@ am__v_lt_1 =<br>
+ am_lion_x11_OBJECTS = lion.$(OBJEXT) lion-render.$(OBJEXT)<br>
+ lion_x11_OBJECTS = $(am_lion_x11_OBJECTS)<br>
+ lion_x11_DEPENDENCIES = ../eglut/<a href="http://libeglut_x11.la" rel="noreferrer" target="_blank">libeglut_x11.la</a><br>
+-am_sp_screen_OBJECTS = sp.$(OBJEXT)<br>
+-sp_screen_OBJECTS = $(am_sp_screen_OBJECTS)<br>
+-sp_screen_DEPENDENCIES = ../eglut/<a href="http://libeglut_screen.la" rel="noreferrer" target="_blank">libeglut_screen.la</a><br>
+ am_sp_x11_OBJECTS = sp.$(OBJEXT)<br>
+ sp_x11_OBJECTS = $(am_sp_x11_OBJECTS)<br>
+ sp_x11_DEPENDENCIES = ../eglut/<a href="http://libeglut_x11.la" rel="noreferrer" target="_blank">libeglut_x11.la</a><br>
+@@ -184,10 +176,10 @@ AM_V_CCLD = $(am__v_CCLD_@AM_V@)<br>
+ am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)<br>
+ am__v_CCLD_0 = @echo &quot;  CCLD    &quot; $@;<br>
+ am__v_CCLD_1 =<br>
+-SOURCES = $(lion_screen_SOURCES) $(lion_x11_SOURCES) \<br>
+-      $(sp_screen_SOURCES) $(sp_x11_SOURCES) $(text_SOURCES)<br>
+-DIST_SOURCES = $(lion_screen_SOURCES) $(lion_x11_SOURCES) \<br>
+-      $(sp_screen_SOURCES) $(sp_x11_SOURCES) $(text_SOURCES)<br>
++SOURCES = $(lion_x11_SOURCES) \<br>
++      $(sp_x11_SOURCES) $(text_SOURCES)<br>
++DIST_SOURCES = $(lion_x11_SOURCES) \<br>
++      $(sp_x11_SOURCES) $(text_SOURCES)<br>
+ RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \<br>
+       ctags-recursive dvi-recursive html-recursive info-recursive \<br>
+       install-data-recursive install-dvi-recursive \<br>
+@@ -423,12 +415,8 @@ AM_LDFLAGS = \<br>
+       -lm<br>
+<br>
+ @HAVE_X11_TRUE@EGL_X11_DEMOS = lion_x11 sp_x11 $(am__append_1)<br>
+-lion_screen_SOURCES = lion.c lion-render.c lion-render.h<br>
+-sp_screen_SOURCES = sp.c<br>
+ lion_x11_SOURCES = lion.c lion-render.c lion-render.h<br>
+ sp_x11_SOURCES = sp.c<br>
+-lion_screen_LDADD = ../eglut/<a href="http://libeglut_screen.la" rel="noreferrer" target="_blank">libeglut_screen.la</a><br>
+-sp_screen_LDADD = ../eglut/<a href="http://libeglut_screen.la" rel="noreferrer" target="_blank">libeglut_screen.la</a><br>
+ lion_x11_LDADD = ../eglut/<a href="http://libeglut_x11.la" rel="noreferrer" target="_blank">libeglut_x11.la</a><br>
+ sp_x11_LDADD = ../eglut/<a href="http://libeglut_x11.la" rel="noreferrer" target="_blank">libeglut_x11.la</a><br>
+ text_SOURCES = text.c<br>
+@@ -481,18 +469,10 @@ clean-noinstPROGRAMS:<br>
+       echo &quot; rm -f&quot; $$list; \<br>
+       rm -f $$list<br>
+<br>
+-lion_screen$(EXEEXT): $(lion_screen_OBJECTS) $(lion_screen_DEPENDENCIES) $(EXTRA_lion_screen_DEPENDENCIES)<br>
+-      @rm -f lion_screen$(EXEEXT)<br>
+-      $(AM_V_CCLD)$(LINK) $(lion_screen_OBJECTS) $(lion_screen_LDADD) $(LIBS)<br>
+-<br>
+ lion_x11$(EXEEXT): $(lion_x11_OBJECTS) $(lion_x11_DEPENDENCIES) $(EXTRA_lion_x11_DEPENDENCIES)<br>
+       @rm -f lion_x11$(EXEEXT)<br>
+       $(AM_V_CCLD)$(LINK) $(lion_x11_OBJECTS) $(lion_x11_LDADD) $(LIBS)<br>
+<br>
+-sp_screen$(EXEEXT): $(sp_screen_OBJECTS) $(sp_screen_DEPENDENCIES) $(EXTRA_sp_screen_DEPENDENCIES)<br>
+-      @rm -f sp_screen$(EXEEXT)<br>
+-      $(AM_V_CCLD)$(LINK) $(sp_screen_OBJECTS) $(sp_screen_LDADD) $(LIBS)<br>
+-<br>
+ sp_x11$(EXEEXT): $(sp_x11_OBJECTS) $(sp_x11_DEPENDENCIES) $(EXTRA_sp_x11_DEPENDENCIES)<br>
+       @rm -f sp_x11$(EXEEXT)<br>
+       $(AM_V_CCLD)$(LINK) $(sp_x11_OBJECTS) $(sp_x11_LDADD) $(LIBS)<br>
+<br>
diff --git a/meta/recipes-graphics/mesa/<a href="http://mesa-demos_8.2.0.bb" rel="noreferrer" target="_blank">mesa-demos_8.2.0.bb</a> b/meta/recipes-graphics/mesa/<a href="http://mesa-demos_8.2.0.bb" rel="noreferrer" target="_blank">mesa-demos_8.2.0.bb</a><br>
index 557b8c6..2df9bba 100644<br>
--- a/meta/recipes-graphics/mesa/<a href="http://mesa-demos_8.2.0.bb" rel="noreferrer" target="_blank">mesa-demos_8.2.0.bb</a><br>
+++ b/meta/recipes-graphics/mesa/<a href="http://mesa-demos_8.2.0.bb" rel="noreferrer" target="_blank">mesa-demos_8.2.0.bb</a><br>
@@ -20,6 +20,7 @@ SRC_URI = &quot;<a href="ftp://ftp.freedesktop.org/pub/mesa/demos/${PV}/${BPN}-${PV}.tar.bz2" rel="noreferrer" target="_blank">ftp://ftp.freedesktop.org/pub/mesa/demos/${PV}/${BPN}-${PV}.tar.bz2</a> \<br>
     file://0008-glsl-perf-Add-few-missing-.glsl-.vert-.frag-files-to.patch \<br>
     file://0009-glsl-perf-Install-.glsl-.vert-.frag-files.patch \<br>
     file://0010-sharedtex_mt-fix-rendering-thread-hang.patch \<br>
+    file://0011-drop-demos-dependant-on-obsolete-MESA_screen_surface.patch \<br>
 &quot;<br>
 SRC_URI[md5sum] = &quot;72613a2c8c013716db02e3ff59d29061&quot;<br>
 SRC_URI[sha256sum] = &quot;e4bfecb5816ddd4b7b37c1bc876b63f1f7f06fda5879221a9774d0952f90ba92&quot;<br>
<span class="HOEnZb"><font color="#888888">--<br>
1.9.1<br>
<br>
</font></span><br>--<br>
_______________________________________________<br>
Openembedded-core mailing list<br>
<a href="mailto:Openembedded-core@lists.openembedded.org">Openembedded-core@lists.openembedded.org</a><br>
<a href="http://lists.openembedded.org/mailman/listinfo/openembedded-core" rel="noreferrer" target="_blank">http://lists.openembedded.org/mailman/listinfo/openembedded-core</a><br>
<br></blockquote></div><br></div>