+++ /dev/null
-This makes it possible to build the demos against opengl
-implementations other than Mesa
-
-Signed-off-by: Spenser Gilliland <spenser@gillilanding.com>
----
-Index: mesa3d-demos-8.1.0/src/egl/eglut/eglut.c
-===================================================================
---- mesa3d-demos-8.1.0.orig/src/egl/eglut/eglut.c
-+++ mesa3d-demos-8.1.0/src/egl/eglut/eglut.c
-@@ -76,8 +76,9 @@ _eglutNow(void)
- static void
- _eglutDestroyWindow(struct eglut_window *win)
- {
-- if (_eglut->surface_type != EGL_PBUFFER_BIT &&
-- _eglut->surface_type != EGL_SCREEN_BIT_MESA)
-+
-+ if (_eglut->surface_type == EGL_WINDOW_BIT ||
-+ _eglut->surface_type == EGL_PIXMAP_BIT)
- eglDestroySurface(_eglut->dpy, win->surface);
-
- _eglutNativeFiniWindow(win);
-@@ -175,7 +176,9 @@ _eglutCreateWindow(const char *title, in
- win->config, win->native.u.pixmap, NULL);
- break;
- case EGL_PBUFFER_BIT:
-+#ifdef EGL_MESA_screen_surface
- case EGL_SCREEN_BIT_MESA:
-+#endif
- win->surface = win->native.u.surface;
- break;
- default:
-@@ -289,8 +292,10 @@ eglutDestroyWindow(int win)
- if (window->index != win)
- return;
-
-+#ifdef EGL_MESA_screen_surface
- /* XXX it causes some bug in st/egl KMS backend */
- if ( _eglut->surface_type != EGL_SCREEN_BIT_MESA)
-+#endif
- eglMakeCurrent(_eglut->dpy, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT);
-
- _eglutDestroyWindow(_eglut->current);
-Index: mesa3d-demos-8.1.0/src/egl/eglut/eglut_screen.c
-===================================================================
---- mesa3d-demos-8.1.0.orig/src/egl/eglut/eglut_screen.c
-+++ mesa3d-demos-8.1.0/src/egl/eglut/eglut_screen.c
-@@ -35,26 +35,33 @@
-
- #define MAX_MODES 100
-
-+#ifdef EGL_MESA_screen_surface
- static EGLScreenMESA kms_screen;
- static EGLModeMESA kms_mode;
- static EGLint kms_width, kms_height;
-+#endif
-
- void
- _eglutNativeInitDisplay(void)
- {
-+#ifdef EGL_MESA_screen_surface
- _eglut->native_dpy = EGL_DEFAULT_DISPLAY;
- _eglut->surface_type = EGL_SCREEN_BIT_MESA;
-+#endif
- }
-
- void
- _eglutNativeFiniDisplay(void)
- {
-+#ifdef EGL_MESA_screen_surface
- kms_screen = 0;
- kms_mode = 0;
- kms_width = 0;
- kms_height = 0;
-+#endif
- }
-
-+#ifdef EGL_MESA_screen_surface
- static void
- init_kms(void)
- {
-@@ -94,19 +101,23 @@ init_kms(void)
- kms_width = width;
- kms_height = height;
- }
-+#endif
-
- void
- _eglutNativeInitWindow(struct eglut_window *win, const char *title,
- int x, int y, int w, int h)
- {
-+#ifdef EGL_MESA_screen_surface
- EGLint surf_attribs[16];
- EGLint i;
-+#endif
- const char *exts;
-
- exts = eglQueryString(_eglut->dpy, EGL_EXTENSIONS);
- if (!exts || !strstr(exts, "EGL_MESA_screen_surface"))
- _eglutFatal("EGL_MESA_screen_surface is not supported\n");
-
-+#ifdef EGL_MESA_screen_surface
- init_kms();
-
- i = 0;
-@@ -128,14 +139,17 @@ _eglutNativeInitWindow(struct eglut_wind
-
- win->native.width = kms_width;
- win->native.height = kms_height;
-+#endif
- }
-
- void
- _eglutNativeFiniWindow(struct eglut_window *win)
- {
-+#ifdef EGL_MESA_screen_surface
- eglShowScreenSurfaceMESA(_eglut->dpy,
- kms_screen, EGL_NO_SURFACE, 0);
- eglDestroySurface(_eglut->dpy, win->native.u.surface);
-+#endif
- }
-
- void
-Index: mesa3d-demos-8.1.0/src/egl/opengl/demo1.c
-===================================================================
---- mesa3d-demos-8.1.0.orig/src/egl/opengl/demo1.c
-+++ mesa3d-demos-8.1.0/src/egl/opengl/demo1.c
-@@ -18,6 +18,7 @@
- static void
- TestScreens(EGLDisplay dpy)
- {
-+#ifdef EGL_MESA_screen_surface
- #define MAX 8
- EGLScreenMESA screens[MAX];
- EGLint numScreens;
-@@ -28,6 +29,7 @@ TestScreens(EGLDisplay dpy)
- for (i = 0; i < numScreens; i++) {
- printf(" Screen %d handle: %d\n", i, (int) screens[i]);
- }
-+#endif
- }
-
- /**
-Index: mesa3d-demos-8.1.0/src/egl/opengl/demo2.c
-===================================================================
---- mesa3d-demos-8.1.0.orig/src/egl/opengl/demo2.c
-+++ mesa3d-demos-8.1.0/src/egl/opengl/demo2.c
-@@ -16,6 +16,7 @@
-
- /*#define FRONTBUFFER*/
-
-+#ifdef EGL_MESA_screen_surface
- static void _subset_Rectf(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2,
- GLfloat r, GLfloat g, GLfloat b)
- {
-@@ -95,12 +96,13 @@ TestScreens(EGLDisplay dpy)
- printf(" Screen %d handle: %d\n", i, (int) screens[i]);
- }
- }
--
-+#endif
-
- int
- main(int argc, char *argv[])
- {
- int maj, min;
-+#ifdef EGL_MESA_screen_surface
- EGLContext ctx;
- EGLSurface pbuffer, screen_surf;
- EGLConfig configs[10];
-@@ -115,6 +117,7 @@ main(int argc, char *argv[])
- EGLModeMESA mode;
- EGLScreenMESA screen;
- EGLint count;
-+#endif
-
- EGLDisplay d = eglGetDisplay(EGL_DEFAULT_DISPLAY);
- assert(d);
-@@ -132,6 +135,7 @@ main(int argc, char *argv[])
- exit(1);
- }
-
-+#ifdef EGL_MESA_screen_surface
- eglGetConfigs(d, configs, 10, &numConfigs);
- printf("Got %d EGL configs:\n", numConfigs);
- for (i = 0; i < numConfigs; i++) {
-@@ -211,6 +215,7 @@ main(int argc, char *argv[])
- eglDestroySurface(d, pbuffer);
- eglDestroyContext(d, ctx);
- eglTerminate(d);
-+#endif
-
- return 0;
- }
-Index: mesa3d-demos-8.1.0/src/egl/opengl/demo3.c
-===================================================================
---- mesa3d-demos-8.1.0.orig/src/egl/opengl/demo3.c
-+++ mesa3d-demos-8.1.0/src/egl/opengl/demo3.c
-@@ -46,7 +46,7 @@ GLubyte OpenGL_bits[] = {
- 0x3e, 0x00, 0x00, 0xf8, 0x0c, 0x00,
- };
-
--
-+#ifdef EGL_MESA_screen_surface
- static void Init(void)
- {
-
-@@ -551,11 +551,13 @@ write_ppm(const char *filename, const GL
- fclose(f);
- }
- }
-+#endif
-
- int
- main(int argc, char *argv[])
- {
- int maj, min;
-+#ifdef EGL_MESA_screen_surface
- EGLContext ctx;
- EGLSurface screen_surf;
- EGLConfig configs[10];
-@@ -566,6 +568,7 @@ main(int argc, char *argv[])
- const GLubyte *bitmap;
- EGLint screenAttribs[32];
- EGLint i;
-+#endif
-
- EGLDisplay d = eglGetDisplay(EGL_DEFAULT_DISPLAY);
- assert(d);
-@@ -583,6 +586,7 @@ main(int argc, char *argv[])
- exit(1);
- }
-
-+#ifdef EGL_MESA_screen_surface
- eglGetConfigs(d, configs, 10, &numConfigs);
- eglGetScreensMESA(d, &screen, 1, &count);
- eglGetModesMESA(d, screen, &mode, 1, &count);
-@@ -642,6 +646,7 @@ main(int argc, char *argv[])
- eglDestroySurface(d, screen_surf);
- eglDestroyContext(d, ctx);
- eglTerminate(d);
-+#endif
-
- return 0;
- }
--- /dev/null
+This patches makes opengl an optional component.
+
+Signed-off-by: Spenser Gilliland <spenser@gillilanding.com>
+---
+Index: mesa3d-demos-8.1.0/configure.ac
+===================================================================
+--- mesa3d-demos-8.1.0.orig/configure.ac
++++ mesa3d-demos-8.1.0/configure.ac
+@@ -51,6 +51,14 @@
+ ACLOCAL="aclocal -I/other/macro/dir" before running autoreconf.])])
+ PKG_PROG_PKG_CONFIG()
+
++AC_ARG_ENABLE([gl],
++ [AS_HELP_STRING([--enable-gl],
++ [enable GL library @<:@default=no@:>@])],
++ [gl_enabled="$enableval"],
++ [gl_enabled=auto])
++
++if test "x$gl_enabled" != "xno"; then
++
+ dnl Get the pkg-config definitions for libGL. We include a fallback
+ dnl path for GL implementation that don't provide a .pc file
+ PKG_CHECK_MODULES(GL, [gl], [], [
+@@ -113,6 +121,8 @@
+ DEMO_CFLAGS="$DEMO_CFLAGS $GLU_CFLAGS"
+ DEMO_LIBS="$DEMO_LIBS $GLU_LIBS"
+
++fi
++
+ AC_ARG_ENABLE([egl],
+ [AS_HELP_STRING([--enable-egl],
+ [enable EGL library @<:@default=auto@:>@])],
+@@ -303,7 +313,7 @@
+ AC_SUBST([WAYLAND_CFLAGS])
+ AC_SUBST([WAYLAND_LIBS])
+
+-
++AM_CONDITIONAL(HAVE_GL, test "x$gl_enabled" = "xyes")
+ AM_CONDITIONAL(HAVE_EGL, test "x$egl_enabled" = "xyes")
+ AM_CONDITIONAL(HAVE_GLESV1, test "x$glesv1_enabled" = "xyes")
+ AM_CONDITIONAL(HAVE_GLESV2, test "x$glesv2_enabled" = "xyes")
+Index: mesa3d-demos-8.1.0/src/egl/opengl/Makefile.am
+===================================================================
+--- mesa3d-demos-8.1.0.orig/src/egl/opengl/Makefile.am
++++ mesa3d-demos-8.1.0/src/egl/opengl/Makefile.am
+@@ -50,12 +50,14 @@
+ endif
+
+ if HAVE_EGL
++if HAVE_GL
+ noinst_PROGRAMS = \
+ eglinfo \
+ peglgears \
+ $(EGL_DRM_DEMOS) \
+ $(EGL_X11_DEMOS)
+ endif
++endif
+
+ egltri_x11_SOURCES = egltri.c
+ eglgears_x11_SOURCES = eglgears.c
+Index: mesa3d-demos-8.1.0/src/util/Makefile.am
+===================================================================
+--- mesa3d-demos-8.1.0.orig/src/util/Makefile.am
++++ mesa3d-demos-8.1.0/src/util/Makefile.am
+@@ -27,7 +27,9 @@ AM_CFLAGS = \
+ AM_LDFLAGS = \
+ $(DEMO_LIBS)
+
++if HAVE_GL
+ noinst_LTLIBRARIES = libutil.la
++endif
+
+ if HAVE_GLUT
+ AM_CFLAGS += \
+diff -uNr mesa-demos-8.3.0.org/configure.ac mesa-demos-8.3.0/configure.ac
+--- mesa-demos-8.3.0.org/configure.ac 2015-12-09 22:06:44.000000000 +0100
++++ mesa-demos-8.3.0/configure.ac 2015-12-12 17:06:10.484295811 +0100
+++ /dev/null
-This patches makes opengl an optional component.
-
-Signed-off-by: Spenser Gilliland <spenser@gillilanding.com>
----
-Index: mesa3d-demos-8.1.0/configure.ac
-===================================================================
---- mesa3d-demos-8.1.0.orig/configure.ac
-+++ mesa3d-demos-8.1.0/configure.ac
-@@ -51,6 +51,14 @@ m4_ifndef([PKG_PROG_PKG_CONFIG],
- ACLOCAL="aclocal -I/other/macro/dir" before running autoreconf.])])
- PKG_PROG_PKG_CONFIG()
-
-+AC_ARG_ENABLE([gl],
-+ [AS_HELP_STRING([--enable-gl],
-+ [enable GL library @<:@default=no@:>@])],
-+ [gl_enabled="$enableval"],
-+ [gl_enabled=auto])
-+
-+if test "x$gl_enabled" != "xno"; then
-+
- dnl Get the pkg-config definitions for libGL. We include a fallback
- dnl path for GL implementation that don't provide a .pc file
- PKG_CHECK_MODULES(GL, [gl], [], [
-@@ -103,6 +111,8 @@ PKG_CHECK_MODULES(GLU, [glu], [],
- DEMO_CFLAGS="$DEMO_CFLAGS $GLU_CFLAGS"
- DEMO_LIBS="$DEMO_LIBS $GLU_LIBS"
-
-+fi
-+
- AC_ARG_ENABLE([egl],
- [AS_HELP_STRING([--enable-egl],
- [enable EGL library @<:@default=no@:>@])],
-@@ -287,7 +297,7 @@ AC_SUBST([MESA_GLAPI])
- AC_SUBST([WAYLAND_CFLAGS])
- AC_SUBST([WAYLAND_LIBS])
-
--
-+AM_CONDITIONAL(HAVE_GL, test "x$gl_enabled" = "xyes")
- AM_CONDITIONAL(HAVE_EGL, test "x$egl_enabled" = "xyes")
- AM_CONDITIONAL(HAVE_GLESV1, test "x$glesv1_enabled" = "xyes")
- AM_CONDITIONAL(HAVE_GLESV2, test "x$glesv2_enabled" = "xyes")
-Index: mesa3d-demos-8.1.0/src/egl/opengl/Makefile.am
-===================================================================
---- mesa3d-demos-8.1.0.orig/src/egl/opengl/Makefile.am
-+++ mesa3d-demos-8.1.0/src/egl/opengl/Makefile.am
-@@ -50,6 +50,7 @@ endif
- endif
-
- if HAVE_EGL
-+if HAVE_GL
- noinst_PROGRAMS = \
- demo1 \
- demo2 \
-@@ -61,6 +62,7 @@ noinst_PROGRAMS = \
- $(EGL_DRM_DEMOS) \
- $(EGL_X11_DEMOS)
- endif
-+endif
-
- egltri_screen_SOURCES = egltri.c
- eglgears_screen_SOURCES = eglgears.c
-Index: mesa3d-demos-8.1.0/src/util/Makefile.am
-===================================================================
---- mesa3d-demos-8.1.0.orig/src/util/Makefile.am
-+++ mesa3d-demos-8.1.0/src/util/Makefile.am
-@@ -27,7 +27,9 @@ AM_CFLAGS = \
- AM_LDFLAGS = \
- $(DEMO_LIBS)
-
-+if HAVE_GL
- noinst_LTLIBRARIES = libutil.la
-+endif
-
- if HAVE_GLUT
- AM_CFLAGS += \