<html dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
<style id="owaParaStyle" type="text/css">
<!--
p
        {margin-top:0;
        margin-bottom:0}
-->
P {margin-top:0;margin-bottom:0;}</style>
</head>
<body ocsi="0" fpstyle="1">
<div style="direction: ltr;font-family: Tahoma;color: #000000;font-size: 10pt;">Hi Ross,<br>
<br>
I believe you missed the second patch of this batch as I can only see this one incorporated. The other patch is: http://patchwork.openembedded.org/patch/121519/<br>
<div><br>
<div style="font-family:Tahoma; font-size:13px"><font face="Tahoma"></font>
<div style="font-size:13px">
<div><font face="Tahoma" size="2"><span lang="en-US">
<div style="margin:0">BR,</div>
<div style="margin:0"><i>Awais</i></div>
</span></font></div>
</div>
<font face="Tahoma"></font></div>
</div>
<div style="font-family: Times New Roman; color: #000000; font-size: 16px">
<hr tabindex="-1">
<div style="direction: ltr;" id="divRpF590051"><font color="#000000" face="Tahoma" size="2"><b>From:</b> openembedded-core-bounces@lists.openembedded.org [openembedded-core-bounces@lists.openembedded.org] on behalf of Belal, Awais<br>
<b>Sent:</b> Friday, May 06, 2016 3:07 PM<br>
<b>To:</b> Burton, Ross<br>
<b>Cc:</b> OE-core<br>
<b>Subject:</b> Re: [OE-core] [[PATCH v2 1/2] mesa-demos: remove demos using obsolete screen surface<br>
</font><br>
</div>
<div></div>
<div>
<div style="direction:ltr; font-family:Tahoma; color:#000000; font-size:10pt">Hi Ross,<br>
<br>
These can be found at: https://github.com/abelal/openembedded-core/tree/mesa_updates<br>
<div><br>
<div style="font-family:Tahoma; font-size:13px"><font face="Tahoma"></font>
<div style="font-size:13px">
<div><font face="Tahoma" size="2"><span lang="en-US">
<div style="margin:0">BR,</div>
<div style="margin:0"><i>Awais</i></div>
</span></font></div>
</div>
<font face="Tahoma"></font></div>
</div>
<div style="font-family:Times New Roman; color:#000000; font-size:16px">
<hr tabindex="-1">
<div id="divRpF490895" style="direction:ltr"><font color="#000000" face="Tahoma" size="2"><b>From:</b> Burton, Ross [ross.burton@intel.com]<br>
<b>Sent:</b> Wednesday, May 04, 2016 7:40 PM<br>
<b>To:</b> Belal, Awais<br>
<b>Cc:</b> OE-core<br>
<b>Subject:</b> Re: [OE-core] [[PATCH v2 1/2] mesa-demos: remove demos using obsolete screen surface<br>
</font><br>
</div>
<div></div>
<div>
<div dir="ltr">Can you push these patches to a branch? For some reason git-am isn'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"><<a href="mailto:awais_belal@mentor.com" target="_blank">awais_belal@mentor.com</a>></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 <<a href="mailto:awais_belal@mentor.com" target="_blank">awais_belal@mentor.com</a>><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 <<a href="mailto:mattst88@gmail.com" target="_blank">mattst88@gmail.com</a>><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 <<a href="mailto:andreas.boll.dev@gmail.com" target="_blank">andreas.boll.dev@gmail.com</a>><br>
+ Tested-by: Andreas Boll <<a href="mailto:andreas.boll.dev@gmail.com" target="_blank">andreas.boll.dev@gmail.com</a>><br>
+ Reviewed-by: Marek Olšák <<a href="mailto:marek.olsak@amd.com" target="_blank">marek.olsak@amd.com</a>><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->config, win->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->surface = win->native.u.surface;<br>
+ break;<br>
+ default:<br>
+@@ -292,11 +289,7 @@ eglutDestroyWindow(int win)<br>
+ if (window->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->surface_type != EGL_SCREEN_BIT_MESA)<br>
+-#endif<br>
+- eglMakeCurrent(_eglut->dpy, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT);<br>
++ eglMakeCurrent(_eglut->dpy, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT);<br>
+<br>
+ _eglutDestroyWindow(_eglut->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 "Software"),<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 "AS IS", 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 <<a href="mailto:olv@lunarg.com" target="_blank">olv@lunarg.com</a>><br>
+- */<br>
+-<br>
+-#include <stdio.h><br>
+-#include <string.h><br>
+-#include <sys/time.h><br>
+-<br>
+-#define EGL_EGLEXT_PROTOTYPES<br>
+-#include "EGL/egl.h"<br>
+-#include "EGL/eglext.h"<br>
+-<br>
+-#include "eglutint.h"<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->native_dpy = EGL_DEFAULT_DISPLAY;<br>
+- _eglut->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->dpy, &kms_screen, 1, &num_screens) ||<br>
+- !num_screens)<br>
+- _eglutFatal("eglGetScreensMESA failed\n");<br>
+-<br>
+- if (!eglGetModesMESA(_eglut->dpy, kms_screen,<br>
+- modes, MAX_MODES, &num_modes) || !num_modes)<br>
+- _eglutFatal("eglGetModesMESA failed!\n");<br>
+-<br>
+- printf("Found %d modes:\n", num_modes);<br>
+-<br>
+- best_mode = 0;<br>
+- width = 0;<br>
+- height = 0;<br>
+- for (i = 0; i < num_modes; i++) {<br>
+- EGLint w, h;<br>
+- eglGetModeAttribMESA(_eglut->dpy, modes[i], EGL_WIDTH, &w);<br>
+- eglGetModeAttribMESA(_eglut->dpy, modes[i], EGL_HEIGHT, &h);<br>
+- printf("%3d: %d x %d\n", i, w, h);<br>
+- if (w > width && h > height) {<br>
+- width = w;<br>
+- height = h;<br>
+- best_mode = i;<br>
+- }<br>
+- }<br>
+-<br>
+- printf("Will use screen size: %d x %d\n", 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->dpy, EGL_EXTENSIONS);<br>
+- if (!exts || !strstr(exts, "EGL_MESA_screen_surface"))<br>
+- _eglutFatal("EGL_MESA_screen_surface is not supported\n");<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->native.u.surface = eglCreateScreenSurfaceMESA(_eglut->dpy,<br>
+- win->config, surf_attribs);<br>
+- if (win->native.u.surface == EGL_NO_SURFACE)<br>
+- _eglutFatal("eglCreateScreenSurfaceMESA failed\n");<br>
+-<br>
+- if (!eglShowScreenSurfaceMESA(_eglut->dpy, kms_screen,<br>
+- win->native.u.surface, kms_mode))<br>
+- _eglutFatal("eglShowScreenSurfaceMESA failed\n");<br>
+-<br>
+- win->native.width = kms_width;<br>
+- win->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->dpy,<br>
+- kms_screen, EGL_NO_SURFACE, 0);<br>
+- eglDestroySurface(_eglut->dpy, win->native.u.surface);<br>
+-#endif<br>
+-}<br>
+-<br>
+-void<br>
+-_eglutNativeEventLoop(void)<br>
+-{<br>
+- int start = _eglutNow();<br>
+- int frames = 0;<br>
+-<br>
+- _eglut->redisplay = 1;<br>
+-<br>
+- while (1) {<br>
+- struct eglut_window *win = _eglut->current;<br>
+- int now = _eglutNow();<br>
+-<br>
+- if (now - start > 5000) {<br>
+- double elapsed = (double) (now - start) / 1000.0;<br>
+-<br>
+- printf("%d frames in %3.1f seconds = %6.3f FPS\n",<br>
+- frames, elapsed, frames / elapsed);<br>
+- fflush(stdout);<br>
+-<br>
+- start = now;<br>
+- frames = 0;<br>
+-<br>
+- /* send escape */<br>
+- if (win->keyboard_cb)<br>
+- win->keyboard_cb(27);<br>
+- }<br>
+-<br>
+- if (_eglut->idle_cb)<br>
+- _eglut->idle_cb();<br>
+-<br>
+- if (_eglut->redisplay) {<br>
+- _eglut->redisplay = 0;<br>
+-<br>
+- if (win->display_cb)<br>
+- win->display_cb();<br>
+- eglSwapBuffers(_eglut->dpy, win->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 <EGL/egl.h><br>
+-#include <EGL/eglext.h><br>
+-#include <assert.h><br>
+-#include <stdio.h><br>
+-#include <stdlib.h><br>
+-#include <string.h><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, &numScreens);<br>
+- printf("Found %d screens\n", numScreens);<br>
+- for (i = 0; i < numScreens; i++) {<br>
+- printf(" Screen %d handle: %d\n", 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("Configurations:\n");<br>
+- printf(" bf lv d st colorbuffer dp st supported \n");<br>
+- printf(" id sz l b ro r g b a th cl surfaces \n");<br>
+- printf("----------------------------------------------\n");<br>
+- for (i = 0; i < 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] = "";<br>
+-<br>
+- eglGetConfigAttrib(d, configs[i], EGL_CONFIG_ID, &id);<br>
+- eglGetConfigAttrib(d, configs[i], EGL_BUFFER_SIZE, &size);<br>
+- eglGetConfigAttrib(d, configs[i], EGL_LEVEL, &level);<br>
+-<br>
+- eglGetConfigAttrib(d, configs[i], EGL_RED_SIZE, &red);<br>
+- eglGetConfigAttrib(d, configs[i], EGL_GREEN_SIZE, &green);<br>
+- eglGetConfigAttrib(d, configs[i], EGL_BLUE_SIZE, &blue);<br>
+- eglGetConfigAttrib(d, configs[i], EGL_ALPHA_SIZE, &alpha);<br>
+- eglGetConfigAttrib(d, configs[i], EGL_DEPTH_SIZE, &depth);<br>
+- eglGetConfigAttrib(d, configs[i], EGL_STENCIL_SIZE, &stencil);<br>
+- eglGetConfigAttrib(d, configs[i], EGL_SURFACE_TYPE, &surfaces);<br>
+-<br>
+- if (surfaces & EGL_WINDOW_BIT)<br>
+- strcat(surfString, "win,");<br>
+- if (surfaces & EGL_PBUFFER_BIT)<br>
+- strcat(surfString, "pb,");<br>
+- if (surfaces & EGL_PIXMAP_BIT)<br>
+- strcat(surfString, "pix,");<br>
+- if (strlen(surfString) > 0)<br>
+- surfString[strlen(surfString) - 1] = 0;<br>
+-<br>
+- printf("0x%02x %2d %2d %c %c %2d %2d %2d %2d %2d %2d %-12s\n",<br>
+- id, size, level,<br>
+- doubleBuf ? 'y' : '.',<br>
+- stereo ? 'y' : '.',<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, &maj, &min)) {<br>
+- printf("demo: eglInitialize failed\n");<br>
+- exit(1);<br>
+- }<br>
+-<br>
+- printf("EGL version = %d.%d\n", maj, min);<br>
+- printf("EGL_VENDOR = %s\n", eglQueryString(d, EGL_VENDOR));<br>
+-<br>
+- if (!strstr(eglQueryString(d, EGL_EXTENSIONS),<br>
+- "EGL_MESA_screen_surface")) {<br>
+- printf("EGL_MESA_screen_surface is not supported\n");<br>
+- exit(1);<br>
+- }<br>
+-<br>
+- eglGetConfigs(d, NULL, 0, &numConfigs);<br>
+- configs = malloc(sizeof(*configs) *numConfigs);<br>
+- eglGetConfigs(d, configs, numConfigs, &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("failed to create context\n");<br>
+- return 0;<br>
+- }<br>
+-<br>
+- pbuffer = eglCreatePbufferSurface(d, configs[0], pbufAttribs);<br>
+- if (pbuffer == EGL_NO_SURFACE) {<br>
+- printf("failed to create pbuffer\n");<br>
+- return 0;<br>
+- }<br>
+-<br>
+- free(configs);<br>
+-<br>
+- b = eglMakeCurrent(d, pbuffer, pbuffer, ctx);<br>
+- if (!b) {<br>
+- printf("make current failed\n");<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 <assert.h><br>
+-#include <stdio.h><br>
+-#include <stdlib.h><br>
+-#include <string.h><br>
+-#include <unistd.h><br>
+-<br>
+-#include <EGL/egl.h><br>
+-#include <EGL/eglext.h><br>
+-#include "gl_wrap.h"<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 < 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("Redraw event\n");<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, &numScreens);<br>
+- printf("Found %d screens\n", numScreens);<br>
+- for (i = 0; i < numScreens; i++) {<br>
+- printf(" Screen %d handle: %d\n", 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, &maj, &min)) {<br>
+- printf("demo: eglInitialize failed\n");<br>
+- exit(1);<br>
+- }<br>
+-<br>
+- printf("EGL version = %d.%d\n", maj, min);<br>
+- printf("EGL_VENDOR = %s\n", eglQueryString(d, EGL_VENDOR));<br>
+- if (!strstr(eglQueryString(d, EGL_EXTENSIONS),<br>
+- "EGL_MESA_screen_surface")) {<br>
+- printf("EGL_MESA_screen_surface is not supported\n");<br>
+- exit(1);<br>
+- }<br>
+-<br>
+-#ifdef EGL_MESA_screen_surface<br>
+- eglGetConfigs(d, configs, 10, &numConfigs);<br>
+- printf("Got %d EGL configs:\n", numConfigs);<br>
+- for (i = 0; i < numConfigs; i++) {<br>
+- EGLint id, red, depth;<br>
+- eglGetConfigAttrib(d, configs[i], EGL_CONFIG_ID, &id);<br>
+- eglGetConfigAttrib(d, configs[i], EGL_RED_SIZE, &red);<br>
+- eglGetConfigAttrib(d, configs[i], EGL_DEPTH_SIZE, &depth);<br>
+- printf("%2d: Red Size = %d Depth Size = %d\n", id, red, depth);<br>
+- }<br>
+-<br>
+- eglGetScreensMESA(d, &screen, 1, &count);<br>
+- eglGetModesMESA(d, screen, &mode, 1, &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("failed to create context\n");<br>
+- return 0;<br>
+- }<br>
+-<br>
+- pbuffer = eglCreatePbufferSurface(d, configs[0], pbufAttribs);<br>
+- if (pbuffer == EGL_NO_SURFACE) {<br>
+- printf("failed to create pbuffer\n");<br>
+- return 0;<br>
+- }<br>
+-<br>
+- b = eglMakeCurrent(d, pbuffer, pbuffer, ctx);<br>
+- if (!b) {<br>
+- printf("make current failed\n");<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, &screenAttribs[i++]);<br>
+- screenAttribs[i++] = EGL_HEIGHT;<br>
+- eglGetModeAttribMESA(d, mode, EGL_HEIGHT, &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("failed to create screen surface\n");<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("make current failed\n");<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 < 6; i++) {<br>
+- redraw(d, screen_surf, i*10 );<br>
+-<br>
+- printf("sleep(1)\n");<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 <EGL/egl.h><br>
+-#include <EGL/eglext.h><br>
+-#include "gl_wrap.h"<br>
+-#include <assert.h><br>
+-#include <stdio.h><br>
+-#include <stdlib.h><br>
+-#include <string.h><br>
+-#include <unistd.h><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) & 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 < 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 < 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 < 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 < 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, "w" );<br>
+- if (f) {<br>
+- int i, x, y;<br>
+- const GLubyte *ptr = buffer;<br>
+- if (binary) {<br>
+- fprintf(f,"P6\n");<br>
+- fprintf(f,"# ppm-file created by osdemo.c\n");<br>
+- fprintf(f,"%i %i\n", width,height);<br>
+- fprintf(f,"255\n");<br>
+- fclose(f);<br>
+- f = fopen( filename, "ab" ); /* reopen in binary append mode */<br>
+- for (y=height-1; y>=0; y--) {<br>
+- for (x=0; x<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,"P3\n");<br>
+- fprintf(f,"# ascii ppm file created by osdemo.c\n");<br>
+- fprintf(f,"%i %i\n", width, height);<br>
+- fprintf(f,"255\n");<br>
+- for (y=height-1; y>=0; y--) {<br>
+- for (x=0; x<width; x++) {<br>
+- i = (y*width + x) * 4;<br>
+- fprintf(f, " %3d %3d %3d", ptr[i], ptr[i+1], ptr[i+2]);<br>
+- counter++;<br>
+- if (counter % 5 == 0)<br>
+- fprintf(f, "\n");<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, &maj, &min)) {<br>
+- printf("demo: eglInitialize failed\n");<br>
+- exit(1);<br>
+- }<br>
+-<br>
+- printf("EGL version = %d.%d\n", maj, min);<br>
+- printf("EGL_VENDOR = %s\n", eglQueryString(d, EGL_VENDOR));<br>
+- if (!strstr(eglQueryString(d, EGL_EXTENSIONS),<br>
+- "EGL_MESA_screen_surface")) {<br>
+- printf("EGL_MESA_screen_surface is not supported\n");<br>
+- exit(1);<br>
+- }<br>
+-<br>
+-#ifdef EGL_MESA_screen_surface<br>
+- eglGetConfigs(d, configs, 10, &numConfigs);<br>
+- eglGetScreensMESA(d, &screen, 1, &count);<br>
+- eglGetModesMESA(d, screen, &mode, 1, &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("failed to create context\n");<br>
+- return 0;<br>
+- }<br>
+-<br>
+- i = 0;<br>
+- screenAttribs[i++] = EGL_WIDTH;<br>
+- eglGetModeAttribMESA(d, mode, EGL_WIDTH, &screenAttribs[i++]);<br>
+- screenAttribs[i++] = EGL_HEIGHT;<br>
+- eglGetModeAttribMESA(d, mode, EGL_HEIGHT, &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("failed to create screen surface\n");<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("make current failed\n");<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("dump.ppm", 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, "pb,");<br>
+ if (surfaces & EGL_PIXMAP_BIT)<br>
+ strcat(surfString, "pix,");<br>
+-#ifdef EGL_MESA_screen_surface<br>
+- if (surfaces & EGL_SCREEN_BIT_MESA)<br>
+- strcat(surfString, "scrn,");<br>
+-#endif<br>
+ if (strlen(surfString) > 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, "EGL_MESA_screen_surface")) {<br>
+- EGLScreenMESA screens[MAX_SCREENS];<br>
+- EGLint numScreens = 1, scrn;<br>
+- EGLModeMESA modes[MAX_MODES];<br>
+-<br>
+- eglGetScreensMESA(d, screens, MAX_SCREENS, &numScreens);<br>
+- printf("Number of Screens: %d\n\n", numScreens);<br>
+-<br>
+- for (scrn = 0; scrn < numScreens; scrn++) {<br>
+- EGLint numModes, i;<br>
+-<br>
+- eglGetModesMESA(d, screens[scrn], modes, MAX_MODES, &numModes);<br>
+-<br>
+- printf("Screen %d Modes:\n", scrn);<br>
+- printf(" id width height refresh name\n");<br>
+- printf("-----------------------------------------\n");<br>
+- for (i = 0; i < numModes; i++) {<br>
+- EGLint id, w, h, r;<br>
+- const char *str;<br>
+- eglGetModeAttribMESA(d, modes[i], EGL_MODE_ID_MESA, &id);<br>
+- eglGetModeAttribMESA(d, modes[i], EGL_WIDTH, &w);<br>
+- eglGetModeAttribMESA(d, modes[i], EGL_HEIGHT, &h);<br>
+- eglGetModeAttribMESA(d, modes[i], EGL_REFRESH_RATE_MESA, &r);<br>
+- str = eglQueryModeStringMESA(d, modes[i]);<br>
+- printf("0x%02x %5d %5d %.3f %s\n", 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 " CCLD " $@;<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 " rm -f" $$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 = "<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>
"<br>
SRC_URI[md5sum] = "72613a2c8c013716db02e3ff59d29061"<br>
SRC_URI[sha256sum] = "e4bfecb5816ddd4b7b37c1bc876b63f1f7f06fda5879221a9774d0952f90ba92"<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" target="_blank">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>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>