From 747762233ee21eaaf480f19b85cd1d6543c7ca51 Mon Sep 17 00:00:00 2001 From: Jussi Kukkonen Date: Mon, 23 May 2016 15:44:07 +0300 Subject: mesa-demos: Upgrade 8.2.0 -> 8.3.0 Drop patches included in upstream and the EGL_MESA_screen_surface extension fixes as the relevant code was removed. Rebase other patches. Signed-off-by: Jussi Kukkonen Signed-off-by: Richard Purdie --- ...mplement-with-AC_WITH-glut-so-that-withou.patch | 57 - ...llow-to-disable-demos-which-require-GLEW-.patch | 119 +- ...hen-EGL_MESA_screen_surface-extension-isn.patch | 267 ---- ...ay-for-EGL_MESA_screen_surface-extension-.patch | 41 - .../0007-Install-few-more-test-programs.patch | 53 +- ...10-sharedtex_mt-fix-rendering-thread-hang.patch | 43 - ...dependant-on-obsolete-MESA_screen_surface.patch | 1592 -------------------- meta/recipes-graphics/mesa/mesa-demos_8.2.0.bb | 64 - meta/recipes-graphics/mesa/mesa-demos_8.3.0.bb | 59 + 9 files changed, 107 insertions(+), 2188 deletions(-) delete mode 100644 meta/recipes-graphics/mesa/mesa-demos/0002-Correctly-implement-with-AC_WITH-glut-so-that-withou.patch delete mode 100644 meta/recipes-graphics/mesa/mesa-demos/0005-Fix-build-when-EGL_MESA_screen_surface-extension-isn.patch delete mode 100644 meta/recipes-graphics/mesa/mesa-demos/0006-Query-display-for-EGL_MESA_screen_surface-extension-.patch delete mode 100644 meta/recipes-graphics/mesa/mesa-demos/0010-sharedtex_mt-fix-rendering-thread-hang.patch delete mode 100644 meta/recipes-graphics/mesa/mesa-demos/0011-drop-demos-dependant-on-obsolete-MESA_screen_surface.patch delete mode 100644 meta/recipes-graphics/mesa/mesa-demos_8.2.0.bb create mode 100644 meta/recipes-graphics/mesa/mesa-demos_8.3.0.bb diff --git a/meta/recipes-graphics/mesa/mesa-demos/0002-Correctly-implement-with-AC_WITH-glut-so-that-withou.patch b/meta/recipes-graphics/mesa/mesa-demos/0002-Correctly-implement-with-AC_WITH-glut-so-that-withou.patch deleted file mode 100644 index 09054cb756..0000000000 --- a/meta/recipes-graphics/mesa/mesa-demos/0002-Correctly-implement-with-AC_WITH-glut-so-that-withou.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 36829a8d7ad2888515fbee95c2a70b3d636d7538 Mon Sep 17 00:00:00 2001 -From: Ross Burton -Date: Wed, 9 Jul 2014 14:30:33 +0200 -Subject: [PATCH 2/9] Correctly implement with AC_WITH(glut) so that - --without-glut works. - -Signed-off-by: Ross Burton -Upstream-Status: Submitted (https://patchwork.freedesktop.org/patch/64417/) - ---- - configure.ac | 26 +++++++++++++++----------- - 1 file changed, 15 insertions(+), 11 deletions(-) - -diff --git a/configure.ac b/configure.ac -index c4ee12b..9445424 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -67,21 +67,25 @@ DEMO_CFLAGS="$DEMO_CFLAGS $GL_CFLAGS" - DEMO_LIBS="$DEMO_LIBS $GL_LIBS" - - dnl Check for GLUT --GLUT_CFLAGS="" --GLUT_LIBS=-lglut --glut_enabled=yes -+glut_enabled=no - AC_ARG_WITH([glut], - [AS_HELP_STRING([--with-glut=DIR], - [glut install directory])], - [GLUT_CFLAGS="-I$withval/include" -- GLUT_LIBS="-L$withval/lib -lglut"]) --AC_CHECK_HEADER([GL/glut.h], -- [], -- [glut_enabled=no]) --AC_CHECK_LIB([glut], -- [glutInit], -- [], -- [glut_enabled=no]) -+ GLUT_LIBS="-L$withval/lib -lglut"], -+ [GLUT_CFLAGS="" -+ GLUT_LIBS="-lglut"] -+ ) -+AS_IF([test "x$with_glut" != xno], -+ [AC_CHECK_HEADER([GL/glut.h], -+ [], -+ [glut_enabled=no]) -+ AC_CHECK_LIB([glut], -+ [glutInit], -+ [], -+ [glut_enabled=no]) -+ glut_enabled=yes -+]) - - dnl Check for FreeGLUT 2.6 or later - AC_EGREP_HEADER([glutInitContextProfile], --- -2.0.0 - diff --git a/meta/recipes-graphics/mesa/mesa-demos/0003-configure-Allow-to-disable-demos-which-require-GLEW-.patch b/meta/recipes-graphics/mesa/mesa-demos/0003-configure-Allow-to-disable-demos-which-require-GLEW-.patch index 6b58c2b776..f6b59a11fe 100644 --- a/meta/recipes-graphics/mesa/mesa-demos/0003-configure-Allow-to-disable-demos-which-require-GLEW-.patch +++ b/meta/recipes-graphics/mesa/mesa-demos/0003-configure-Allow-to-disable-demos-which-require-GLEW-.patch @@ -1,8 +1,7 @@ -From b25e9c675cf560b8b037dc855c6b3b1d09957867 Mon Sep 17 00:00:00 2001 +From 779438770bedf3d53e6ad8f7cd6889b7f50daf3b Mon Sep 17 00:00:00 2001 From: Martin Jansa Date: Wed, 9 Jul 2014 14:23:41 +0200 -Subject: [PATCH 3/9] configure: Allow to disable demos which require GLEW or - GLU +Subject: [PATCH] configure: Allow to disable demos which require GLEW or GLU * in some systems without X11 support we don't have GLEW, but mesa-demos are still useful @@ -10,17 +9,20 @@ Subject: [PATCH 3/9] configure: Allow to disable demos which require GLEW or Upstream-Status: Pending Signed-off-by: Martin Jansa + +Port to 8.3.0 +Signed-off-by: Jussi Kukkonen --- configure.ac | 49 ++++++++++++++++++++--------- - src/Makefile.am | 14 ++++++--- + src/Makefile.am | 18 ++++++++--- src/demos/Makefile.am | 73 ++++++++++++++++++++++++------------------- src/egl/Makefile.am | 8 +++-- - src/egl/opengles1/Makefile.am | 44 +++++++++++++++----------- - src/egl/opengles2/Makefile.am | 33 ++++++++++--------- - 6 files changed, 135 insertions(+), 86 deletions(-) + src/egl/opengles1/Makefile.am | 10 ++++-- + src/egl/opengles2/Makefile.am | 29 ++++++++--------- + 6 files changed, 117 insertions(+), 70 deletions(-) diff --git a/configure.ac b/configure.ac -index 9445424..bc4c8d1 100644 +index 0525b09..28834cd 100644 --- a/configure.ac +++ b/configure.ac @@ -93,25 +93,44 @@ AC_EGREP_HEADER([glutInitContextProfile], @@ -92,10 +94,11 @@ index 9445424..bc4c8d1 100644 AM_CONDITIONAL(HAVE_GLESV1, test "x$glesv1_enabled" = "xyes") AM_CONDITIONAL(HAVE_GLESV2, test "x$glesv2_enabled" = "xyes") diff --git a/src/Makefile.am b/src/Makefile.am -index 1647d64..754c47c 100644 +index 1647d64..8b89dee 100644 --- a/src/Makefile.am +++ b/src/Makefile.am -@@ -23,14 +23,18 @@ +@@ -22,15 +22,19 @@ + # Authors: # Eric Anholt +if HAVE_GLEW @@ -116,7 +119,7 @@ index 1647d64..754c47c 100644 objviewer \ osdemos \ perf \ -@@ -40,8 +39,12 @@ SUBDIRS = \ +@@ -40,8 +44,12 @@ SUBDIRS = \ slang \ tests \ tools \ @@ -289,10 +292,10 @@ index d64a49e..4fe1ca8 100644 + openvg +endif diff --git a/src/egl/opengles1/Makefile.am b/src/egl/opengles1/Makefile.am -index 7a9828d..3455e75 100644 +index fa397c2..21853e8 100644 --- a/src/egl/opengles1/Makefile.am +++ b/src/egl/opengles1/Makefile.am -@@ -36,28 +36,43 @@ AM_LDFLAGS = \ +@@ -36,9 +36,12 @@ AM_LDFLAGS = \ $(EGL_LIBS) \ -lm @@ -301,42 +304,13 @@ index 7a9828d..3455e75 100644 if HAVE_EGL if HAVE_GLESV1 -noinst_PROGRAMS = \ -- bindtex \ -- clear \ -+noinst_PROGRAMS += \ - drawtex_screen \ -+ gears_screen \ -+ torus_screen \ -+ tri_screen -+ -+drawtex_screen_SOURCES = drawtex.c -+gears_screen_SOURCES = gears.c -+torus_screen_SOURCES = torus.c -+tri_screen_SOURCES = tri.c -+ -+drawtex_screen_LDADD = ../eglut/libeglut_screen.la -+gears_screen_LDADD = ../eglut/libeglut_screen.la -+torus_screen_LDADD = ../eglut/libeglut_screen.la -+tri_screen_LDADD = ../eglut/libeglut_screen.la -+ +if HAVE_X11 -+noinst_PROGRAMS += \ -+ clear -+ +bin_PROGRAMS = \ -+ bindtex \ + bindtex \ + clear \ drawtex_x11 \ - eglfbdev \ - es1_info \ -- gears_screen \ - gears_x11 \ - msaa \ - pbuffer\ - render_tex \ - texture_from_pixmap \ -- torus_screen \ +@@ -52,8 +55,6 @@ noinst_PROGRAMS = \ torus_x11 \ -- tri_screen \ tri_x11 \ two_win -endif @@ -344,26 +318,7 @@ index 7a9828d..3455e75 100644 bindtex_LDADD = $(X11_LIBS) es1_info_LDADD = $(X11_LIBS) -@@ -71,22 +86,15 @@ two_win_LDADD = $(X11_LIBS) - clear_LDADD = ../eglut/libeglut_x11.la $(EGL_LIBS) $(X11_LIBS) - clear_LDFLAGS = - --drawtex_screen_SOURCES = drawtex.c --gears_screen_SOURCES = gears.c --torus_screen_SOURCES = torus.c --tri_screen_SOURCES = tri.c -- - drawtex_x11_SOURCES = drawtex.c - gears_x11_SOURCES = gears.c - torus_x11_SOURCES = torus.c - tri_x11_SOURCES = tri.c - --drawtex_screen_LDADD = ../eglut/libeglut_screen.la --gears_screen_LDADD = ../eglut/libeglut_screen.la --torus_screen_LDADD = ../eglut/libeglut_screen.la --tri_screen_LDADD = ../eglut/libeglut_screen.la -- - drawtex_x11_LDADD = ../eglut/libeglut_x11.la +@@ -76,3 +77,6 @@ drawtex_x11_LDADD = ../eglut/libeglut_x11.la gears_x11_LDADD = ../eglut/libeglut_x11.la torus_x11_LDADD = ../eglut/libeglut_x11.la tri_x11_LDADD = ../eglut/libeglut_x11.la @@ -371,35 +326,35 @@ index 7a9828d..3455e75 100644 +endif +endif diff --git a/src/egl/opengles2/Makefile.am b/src/egl/opengles2/Makefile.am -index 41c1b80..74af460 100644 +index b80ba50..17f8d49 100644 --- a/src/egl/opengles2/Makefile.am +++ b/src/egl/opengles2/Makefile.am -@@ -36,26 +36,29 @@ AM_LDFLAGS = \ +@@ -33,27 +33,28 @@ AM_LDFLAGS = \ + $(EGL_LIBS) \ + -lm + ++bin_PROGRAMS = ++ if HAVE_EGL if HAVE_GLESV2 - bin_PROGRAMS = \ +-bin_PROGRAMS = +-if HAVE_X11 +-bin_PROGRAMS += \ - es2_info \ -- es2gears_screen \ - es2gears_x11 \ - es2tri -+ es2gears_screen -+ -+es2gears_screen_SOURCES = es2gears.c -+es2gears_screen_LDADD = ../eglut/libeglut_screen.la -+ +-endif if HAVE_WAYLAND bin_PROGRAMS += es2gears_wayland -endif -endif --endif - --es2_info_LDADD = $(X11_LIBS) --es2tri_LDADD = $(X11_LIBS) ++ +es2gears_wayland_SOURCES = es2gears.c +es2gears_wayland_LDADD = ../eglut/libeglut_wayland.la -+endif + endif --es2gears_screen_SOURCES = es2gears.c +-es2_info_LDADD = $(X11_LIBS) +-es2tri_LDADD = $(X11_LIBS) +if HAVE_X11 +bin_PROGRAMS += \ + es2tri \ @@ -408,8 +363,6 @@ index 41c1b80..74af460 100644 +es2_info_LDADD = $(X11_LIBS) es2gears_x11_SOURCES = es2gears.c -- --es2gears_screen_LDADD = ../eglut/libeglut_screen.la - es2gears_x11_LDADD = ../eglut/libeglut_x11.la +es2tri_LDADD = $(X11_LIBS) @@ -420,5 +373,5 @@ index 41c1b80..74af460 100644 -es2gears_wayland_SOURCES = es2gears.c -es2gears_wayland_LDADD = ../eglut/libeglut_wayland.la -- -2.0.0 +2.1.4 diff --git a/meta/recipes-graphics/mesa/mesa-demos/0005-Fix-build-when-EGL_MESA_screen_surface-extension-isn.patch b/meta/recipes-graphics/mesa/mesa-demos/0005-Fix-build-when-EGL_MESA_screen_surface-extension-isn.patch deleted file mode 100644 index aac2a37294..0000000000 --- a/meta/recipes-graphics/mesa/mesa-demos/0005-Fix-build-when-EGL_MESA_screen_surface-extension-isn.patch +++ /dev/null @@ -1,267 +0,0 @@ -From 453353a221de9c64479f4372565d2cd8591b36cc Mon Sep 17 00:00:00 2001 -From: Frank Binns -Date: Fri, 29 Jun 2012 11:26:04 +0100 -Subject: [PATCH 5/9] Fix build when EGL_MESA_screen_surface extension isn't - present - -The EGL demos won't build against EGL implementations that don't support -the EGL_MESA_screen_surface extension. Fix this, in most cases, by -wrapping relevant bits of code in #ifdef EGL_MESA_screen_surface. - -Signed-off-by: Frank Binns - -Applied and fixed up in Yocto by... - -Integrated-by: Tom Zanussi - -Upstream-Status: Pending ---- - src/egl/eglut/eglut.c | 9 +++++++-- - src/egl/eglut/eglut_screen.c | 14 ++++++++++++++ - src/egl/opengl/demo1.c | 2 ++ - src/egl/opengl/demo2.c | 7 ++++++- - src/egl/opengl/demo3.c | 7 ++++++- - 5 files changed, 35 insertions(+), 4 deletions(-) - -diff --git a/src/egl/eglut/eglut.c b/src/egl/eglut/eglut.c -index 2ee6f15..f6a2ad4 100644 ---- a/src/egl/eglut/eglut.c -+++ b/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, int x, int y, int w, int h) - 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); -diff --git a/src/egl/eglut/eglut_screen.c b/src/egl/eglut/eglut_screen.c -index 021a8f1..094a4e2 100644 ---- a/src/egl/eglut/eglut_screen.c -+++ b/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_window *win, const char *title, - - 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 -diff --git a/src/egl/opengl/demo1.c b/src/egl/opengl/demo1.c -index d892734..3a3564c 100644 ---- a/src/egl/opengl/demo1.c -+++ b/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 - } - - /** -diff --git a/src/egl/opengl/demo2.c b/src/egl/opengl/demo2.c -index 505b474..bfef59e 100644 ---- a/src/egl/opengl/demo2.c -+++ b/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; - } -diff --git a/src/egl/opengl/demo3.c b/src/egl/opengl/demo3.c -index f84ca23..31b5d8b 100644 ---- a/src/egl/opengl/demo3.c -+++ b/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 GLubyte *buffer, int width, int height) - 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; - } --- -2.0.0 - diff --git a/meta/recipes-graphics/mesa/mesa-demos/0006-Query-display-for-EGL_MESA_screen_surface-extension-.patch b/meta/recipes-graphics/mesa/mesa-demos/0006-Query-display-for-EGL_MESA_screen_surface-extension-.patch deleted file mode 100644 index 12e0805f15..0000000000 --- a/meta/recipes-graphics/mesa/mesa-demos/0006-Query-display-for-EGL_MESA_screen_surface-extension-.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 6a19dba1d275579c73e7763b0554410ff4e1e650 Mon Sep 17 00:00:00 2001 -From: Frank Binns -Date: Fri, 29 Jun 2012 12:00:26 +0100 -Subject: [PATCH 6/9] Query display for EGL_MESA_screen_surface extension - before using it - -This code makes heavy use of the EGL_MESA_screen_surface extension so -check the display to determine if it's supported by the underlying EGL -implementation. If it doesn't then bail. - -Signed-off-by: Frank Binns - -Applied and fixed up in Yocto by... - -Integrated-by: Tom Zanussi - -Upstream-Status: Pending ---- - src/egl/opengl/demo1.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/src/egl/opengl/demo1.c b/src/egl/opengl/demo1.c -index 3a3564c..06e2138 100644 ---- a/src/egl/opengl/demo1.c -+++ b/src/egl/opengl/demo1.c -@@ -110,6 +110,12 @@ main(int argc, char *argv[]) - printf("EGL version = %d.%d\n", maj, min); - printf("EGL_VENDOR = %s\n", eglQueryString(d, EGL_VENDOR)); - -+ if (!strstr(eglQueryString(d, EGL_EXTENSIONS), -+ "EGL_MESA_screen_surface")) { -+ printf("EGL_MESA_screen_surface is not supported\n"); -+ exit(1); -+ } -+ - eglGetConfigs(d, NULL, 0, &numConfigs); - configs = malloc(sizeof(*configs) *numConfigs); - eglGetConfigs(d, configs, numConfigs, &numConfigs); --- -2.0.0 - diff --git a/meta/recipes-graphics/mesa/mesa-demos/0007-Install-few-more-test-programs.patch b/meta/recipes-graphics/mesa/mesa-demos/0007-Install-few-more-test-programs.patch index 89d2fac4fd..6b676cdd20 100644 --- a/meta/recipes-graphics/mesa/mesa-demos/0007-Install-few-more-test-programs.patch +++ b/meta/recipes-graphics/mesa/mesa-demos/0007-Install-few-more-test-programs.patch @@ -1,11 +1,13 @@ -From d930b2da57f7c9efb80c8cef8f8adad15bbbc0d3 Mon Sep 17 00:00:00 2001 +From c59e286fa4e818ca015dd40e4725636309970ea8 Mon Sep 17 00:00:00 2001 From: Martin Jansa Date: Thu, 10 Jul 2014 14:30:52 +0200 -Subject: [PATCH 7/9] Install few more test programs +Subject: [PATCH] Install few more test programs Upstream-Status: Pending Signed-off-by: Martin Jansa + +Signed-off-by: Jussi Kukkonen --- src/egl/opengl/Makefile.am | 2 +- src/egl/opengles1/Makefile.am | 10 ++++------ @@ -13,7 +15,7 @@ Signed-off-by: Martin Jansa 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/src/egl/opengl/Makefile.am b/src/egl/opengl/Makefile.am -index 0c7228f..87b2f1a 100644 +index fe7faa9..3e48141 100644 --- a/src/egl/opengl/Makefile.am +++ b/src/egl/opengl/Makefile.am @@ -50,7 +50,7 @@ endif @@ -22,42 +24,11 @@ index 0c7228f..87b2f1a 100644 if HAVE_EGL -noinst_PROGRAMS = \ +bin_PROGRAMS = \ - demo1 \ - demo2 \ - demo3 \ -diff --git a/src/egl/opengles1/Makefile.am b/src/egl/opengles1/Makefile.am -index 3455e75..516e516 100644 ---- a/src/egl/opengles1/Makefile.am -+++ b/src/egl/opengles1/Makefile.am -@@ -36,11 +36,11 @@ AM_LDFLAGS = \ - $(EGL_LIBS) \ - -lm - --noinst_PROGRAMS = -+bin_PROGRAMS = - - if HAVE_EGL - if HAVE_GLESV1 --noinst_PROGRAMS += \ -+bin_PROGRAMS += \ - drawtex_screen \ - gears_screen \ - torus_screen \ -@@ -57,10 +57,8 @@ torus_screen_LDADD = ../eglut/libeglut_screen.la - tri_screen_LDADD = ../eglut/libeglut_screen.la - - if HAVE_X11 --noinst_PROGRAMS += \ -- clear -- --bin_PROGRAMS = \ -+bin_PROGRAMS += \ -+ clear \ - bindtex \ - drawtex_x11 \ - eglfbdev \ + eglinfo \ + peglgears \ + $(EGL_DRM_DEMOS) \ diff --git a/src/egl/openvg/Makefile.am b/src/egl/openvg/Makefile.am -index 7318a43..b545225 100644 +index b0f1212..5fd1cf8 100644 --- a/src/egl/openvg/Makefile.am +++ b/src/egl/openvg/Makefile.am @@ -49,7 +49,7 @@ endif @@ -66,9 +37,9 @@ index 7318a43..b545225 100644 if HAVE_VG -noinst_PROGRAMS = \ +bin_PROGRAMS = \ - lion_screen \ - sp_screen \ $(EGL_X11_DEMOS) + endif + endif -- -2.0.0 +2.1.4 diff --git a/meta/recipes-graphics/mesa/mesa-demos/0010-sharedtex_mt-fix-rendering-thread-hang.patch b/meta/recipes-graphics/mesa/mesa-demos/0010-sharedtex_mt-fix-rendering-thread-hang.patch deleted file mode 100644 index 04e1b446f3..0000000000 --- a/meta/recipes-graphics/mesa/mesa-demos/0010-sharedtex_mt-fix-rendering-thread-hang.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 525fa9ded72d22b53c5eb366f61e2ac1d407a2db Mon Sep 17 00:00:00 2001 -From: Awais Belal -Date: Thu, 8 Oct 2015 13:49:31 +0500 -Subject: [PATCH] sharedtex_mt: fix rendering thread hang - -XNextEvent is a blocking call which locks up the display mutex -this causes the rendering threads to hang when they try call -glXSwapBuffers() as that tries to take the same mutex in -underlying calls through XCopyArea(). -So we only go to XNextEvent when it has at least one event -and we wouldn't lock indefinitely. - -Signed-off-by: Awais Belal -Upstream-Status: Backport (2b304e765695d385fd3bf414e6e444020bedb0a8) - ---- - src/xdemos/sharedtex_mt.c | 9 +++++++-- - 1 file changed, 7 insertions(+), 2 deletions(-) - -diff --git a/src/xdemos/sharedtex_mt.c b/src/xdemos/sharedtex_mt.c -index a90903a..1d503c4 100644 ---- a/src/xdemos/sharedtex_mt.c -+++ b/src/xdemos/sharedtex_mt.c -@@ -420,9 +420,14 @@ Resize(struct window *h, unsigned int width, unsigned int height) - static void - EventLoop(void) - { -+ int i; -+ XEvent event; - while (1) { -- int i; -- XEvent event; -+ /* Do we have an event? */ -+ if (XPending(gDpy) == 0) { -+ usleep(10000); -+ continue; -+ } - XNextEvent(gDpy, &event); - for (i = 0; i < NumWindows; i++) { - struct window *h = &Windows[i]; --- -1.9.1 - 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 deleted file mode 100644 index a2621ce732..0000000000 --- a/meta/recipes-graphics/mesa/mesa-demos/0011-drop-demos-dependant-on-obsolete-MESA_screen_surface.patch +++ /dev/null @@ -1,1592 +0,0 @@ -commit 74443c6ee79f3251f643ea05e94df58183e37d0d -Author: Matt Turner -Date: Fri Aug 28 15:57:38 2015 -0700 - - egl: Remove demos using EGL_MESA_screen_surface. - - The remnants of the extension were removed from Mesa in commit 7a58262e. - - Reviewed-by: Andreas Boll - Tested-by: Andreas Boll - Reviewed-by: Marek Olšák - -Upstream-Status: Backport - -diff --git a/src/egl/eglut/Makefile.am b/src/egl/eglut/Makefile.am -index 2d2f2af..b765069 100644 ---- a/src/egl/eglut/Makefile.am -+++ b/src/egl/eglut/Makefile.am -@@ -33,17 +33,12 @@ if HAVE_WAYLAND - eglut_wayland = libeglut_wayland.la - endif - --noinst_LTLIBRARIES = libeglut_screen.la $(eglut_x11) $(eglut_wayland) -+noinst_LTLIBRARIES = $(eglut_x11) $(eglut_wayland) - endif - --libeglut_screen_la_SOURCES = \ -- eglut.c \ -- eglut.h \ -- eglutint.h \ -- eglut_screen.c -- - libeglut_x11_la_SOURCES = \ - eglut.c \ -+ eglut.h \ - eglutint.h \ - eglut_x11.c - libeglut_x11_la_CFLAGS = $(X11_CFLAGS) $(EGL_CFLAGS) -@@ -52,6 +47,7 @@ libeglut_x11_la_LIBADD = $(X11_LIBS) $(EGL_LIBS) - - libeglut_wayland_la_SOURCES = \ - eglut.c \ -+ eglut.h \ - eglutint.h \ - eglut_wayland.c - -diff --git a/src/egl/eglut/eglut.c b/src/egl/eglut/eglut.c -index f6a2ad4..58b354a 100644 ---- a/src/egl/eglut/eglut.c -+++ b/src/egl/eglut/eglut.c -@@ -176,9 +176,6 @@ _eglutCreateWindow(const char *title, int x, int y, int w, int h) - 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: -@@ -292,11 +289,7 @@ 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); -+ eglMakeCurrent(_eglut->dpy, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT); - - _eglutDestroyWindow(_eglut->current); - } -diff --git a/src/egl/eglut/eglut_screen.c b/src/egl/eglut/eglut_screen.c -deleted file mode 100644 -index 094a4e2..0000000 ---- a/src/egl/eglut/eglut_screen.c -+++ /dev/null -@@ -1,194 +0,0 @@ --/* -- * Copyright (C) 2010 LunarG Inc. -- * -- * Permission is hereby granted, free of charge, to any person obtaining a -- * copy of this software and associated documentation files (the "Software"), -- * to deal in the Software without restriction, including without limitation -- * the rights to use, copy, modify, merge, publish, distribute, sublicense, -- * and/or sell copies of the Software, and to permit persons to whom the -- * Software is furnished to do so, subject to the following conditions: -- * -- * The above copyright notice and this permission notice shall be included -- * in all copies or substantial portions of the Software. -- * -- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -- * DEALINGS IN THE SOFTWARE. -- * -- * Authors: -- * Chia-I Wu -- */ -- --#include --#include --#include -- --#define EGL_EGLEXT_PROTOTYPES --#include "EGL/egl.h" --#include "EGL/eglext.h" -- --#include "eglutint.h" -- --#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) --{ -- EGLModeMESA modes[MAX_MODES]; -- EGLint num_screens, num_modes; -- EGLint width, height, best_mode; -- EGLint i; -- -- if (!eglGetScreensMESA(_eglut->dpy, &kms_screen, 1, &num_screens) || -- !num_screens) -- _eglutFatal("eglGetScreensMESA failed\n"); -- -- if (!eglGetModesMESA(_eglut->dpy, kms_screen, -- modes, MAX_MODES, &num_modes) || !num_modes) -- _eglutFatal("eglGetModesMESA failed!\n"); -- -- printf("Found %d modes:\n", num_modes); -- -- best_mode = 0; -- width = 0; -- height = 0; -- for (i = 0; i < num_modes; i++) { -- EGLint w, h; -- eglGetModeAttribMESA(_eglut->dpy, modes[i], EGL_WIDTH, &w); -- eglGetModeAttribMESA(_eglut->dpy, modes[i], EGL_HEIGHT, &h); -- printf("%3d: %d x %d\n", i, w, h); -- if (w > width && h > height) { -- width = w; -- height = h; -- best_mode = i; -- } -- } -- -- printf("Will use screen size: %d x %d\n", width, height); -- -- kms_mode = modes[best_mode]; -- 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; -- surf_attribs[i++] = EGL_WIDTH; -- surf_attribs[i++] = kms_width; -- surf_attribs[i++] = EGL_HEIGHT; -- surf_attribs[i++] = kms_height; -- surf_attribs[i++] = EGL_NONE; -- -- /* create surface */ -- win->native.u.surface = eglCreateScreenSurfaceMESA(_eglut->dpy, -- win->config, surf_attribs); -- if (win->native.u.surface == EGL_NO_SURFACE) -- _eglutFatal("eglCreateScreenSurfaceMESA failed\n"); -- -- if (!eglShowScreenSurfaceMESA(_eglut->dpy, kms_screen, -- win->native.u.surface, kms_mode)) -- _eglutFatal("eglShowScreenSurfaceMESA failed\n"); -- -- 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 --_eglutNativeEventLoop(void) --{ -- int start = _eglutNow(); -- int frames = 0; -- -- _eglut->redisplay = 1; -- -- while (1) { -- struct eglut_window *win = _eglut->current; -- int now = _eglutNow(); -- -- if (now - start > 5000) { -- double elapsed = (double) (now - start) / 1000.0; -- -- printf("%d frames in %3.1f seconds = %6.3f FPS\n", -- frames, elapsed, frames / elapsed); -- fflush(stdout); -- -- start = now; -- frames = 0; -- -- /* send escape */ -- if (win->keyboard_cb) -- win->keyboard_cb(27); -- } -- -- if (_eglut->idle_cb) -- _eglut->idle_cb(); -- -- if (_eglut->redisplay) { -- _eglut->redisplay = 0; -- -- if (win->display_cb) -- win->display_cb(); -- eglSwapBuffers(_eglut->dpy, win->surface); -- frames++; -- } -- } --} -diff --git a/src/egl/opengl/Makefile.am b/src/egl/opengl/Makefile.am -index 87b2f1a..3e48141 100644 ---- a/src/egl/opengl/Makefile.am -+++ b/src/egl/opengl/Makefile.am -@@ -51,20 +51,12 @@ endif - - if HAVE_EGL - bin_PROGRAMS = \ -- demo1 \ -- demo2 \ -- demo3 \ - eglinfo \ -- eglgears_screen \ -- egltri_screen \ - peglgears \ - $(EGL_DRM_DEMOS) \ - $(EGL_X11_DEMOS) - endif - --egltri_screen_SOURCES = egltri.c --eglgears_screen_SOURCES = eglgears.c -- - egltri_x11_SOURCES = egltri.c - eglgears_x11_SOURCES = eglgears.c - -@@ -73,9 +65,6 @@ egltri_x11_LDFLAGS = $(AM_LDFLAGS) $(X11_LIBS) - xeglgears_LDFLAGS = $(AM_LDFLAGS) $(X11_LIBS) - xeglthreads_LDFLAGS = $(AM_LDFLAGS) $(X11_LIBS) -pthread - --eglgears_screen_LDADD = ../eglut/libeglut_screen.la --egltri_screen_LDADD = ../eglut/libeglut_screen.la -- - eglgears_x11_LDADD = ../eglut/libeglut_x11.la - egltri_x11_LDADD = ../eglut/libeglut_x11.la - -diff --git a/src/egl/opengl/demo1.c b/src/egl/opengl/demo1.c -deleted file mode 100644 -index 06e2138..0000000 ---- a/src/egl/opengl/demo1.c -+++ /dev/null -@@ -1,155 +0,0 @@ --/* -- * Exercise EGL API functions -- */ -- --#define EGL_EGLEXT_PROTOTYPES -- --#include --#include --#include --#include --#include --#include -- -- --/** -- * Test EGL_MESA_screen_surface functions -- */ --static void --TestScreens(EGLDisplay dpy) --{ --#ifdef EGL_MESA_screen_surface --#define MAX 8 -- EGLScreenMESA screens[MAX]; -- EGLint numScreens; -- EGLint i; -- -- eglGetScreensMESA(dpy, screens, MAX, &numScreens); -- printf("Found %d screens\n", numScreens); -- for (i = 0; i < numScreens; i++) { -- printf(" Screen %d handle: %d\n", i, (int) screens[i]); -- } --#endif --} -- --/** -- * Print table of all available configurations. -- */ --static void --PrintConfigs(EGLDisplay d, EGLConfig *configs, EGLint numConfigs) --{ -- EGLint i; -- -- printf("Configurations:\n"); -- printf(" bf lv d st colorbuffer dp st supported \n"); -- printf(" id sz l b ro r g b a th cl surfaces \n"); -- printf("----------------------------------------------\n"); -- for (i = 0; i < numConfigs; i++) { -- EGLint id, size, level; -- EGLint red, green, blue, alpha; -- EGLint depth, stencil; -- EGLint surfaces; -- EGLint doubleBuf = 1, stereo = 0; -- char surfString[100] = ""; -- -- eglGetConfigAttrib(d, configs[i], EGL_CONFIG_ID, &id); -- eglGetConfigAttrib(d, configs[i], EGL_BUFFER_SIZE, &size); -- eglGetConfigAttrib(d, configs[i], EGL_LEVEL, &level); -- -- eglGetConfigAttrib(d, configs[i], EGL_RED_SIZE, &red); -- eglGetConfigAttrib(d, configs[i], EGL_GREEN_SIZE, &green); -- eglGetConfigAttrib(d, configs[i], EGL_BLUE_SIZE, &blue); -- eglGetConfigAttrib(d, configs[i], EGL_ALPHA_SIZE, &alpha); -- eglGetConfigAttrib(d, configs[i], EGL_DEPTH_SIZE, &depth); -- eglGetConfigAttrib(d, configs[i], EGL_STENCIL_SIZE, &stencil); -- eglGetConfigAttrib(d, configs[i], EGL_SURFACE_TYPE, &surfaces); -- -- if (surfaces & EGL_WINDOW_BIT) -- strcat(surfString, "win,"); -- if (surfaces & EGL_PBUFFER_BIT) -- strcat(surfString, "pb,"); -- if (surfaces & EGL_PIXMAP_BIT) -- strcat(surfString, "pix,"); -- if (strlen(surfString) > 0) -- surfString[strlen(surfString) - 1] = 0; -- -- printf("0x%02x %2d %2d %c %c %2d %2d %2d %2d %2d %2d %-12s\n", -- id, size, level, -- doubleBuf ? 'y' : '.', -- stereo ? 'y' : '.', -- red, green, blue, alpha, -- depth, stencil, surfString); -- } --} -- -- -- --int --main(int argc, char *argv[]) --{ -- int maj, min; -- EGLContext ctx; -- EGLSurface pbuffer; -- EGLConfig *configs; -- EGLint numConfigs; -- EGLBoolean b; -- const EGLint pbufAttribs[] = { -- EGL_WIDTH, 500, -- EGL_HEIGHT, 500, -- EGL_NONE -- }; -- -- EGLDisplay d = eglGetDisplay(EGL_DEFAULT_DISPLAY); -- assert(d); -- -- if (!eglInitialize(d, &maj, &min)) { -- printf("demo: eglInitialize failed\n"); -- exit(1); -- } -- -- printf("EGL version = %d.%d\n", maj, min); -- printf("EGL_VENDOR = %s\n", eglQueryString(d, EGL_VENDOR)); -- -- if (!strstr(eglQueryString(d, EGL_EXTENSIONS), -- "EGL_MESA_screen_surface")) { -- printf("EGL_MESA_screen_surface is not supported\n"); -- exit(1); -- } -- -- eglGetConfigs(d, NULL, 0, &numConfigs); -- configs = malloc(sizeof(*configs) *numConfigs); -- eglGetConfigs(d, configs, numConfigs, &numConfigs); -- -- PrintConfigs(d, configs, numConfigs); -- -- eglBindAPI(EGL_OPENGL_API); -- ctx = eglCreateContext(d, configs[0], EGL_NO_CONTEXT, NULL); -- if (ctx == EGL_NO_CONTEXT) { -- printf("failed to create context\n"); -- return 0; -- } -- -- pbuffer = eglCreatePbufferSurface(d, configs[0], pbufAttribs); -- if (pbuffer == EGL_NO_SURFACE) { -- printf("failed to create pbuffer\n"); -- return 0; -- } -- -- free(configs); -- -- b = eglMakeCurrent(d, pbuffer, pbuffer, ctx); -- if (!b) { -- printf("make current failed\n"); -- return 0; -- } -- -- b = eglMakeCurrent(d, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT); -- -- TestScreens(d); -- -- eglDestroySurface(d, pbuffer); -- eglDestroyContext(d, ctx); -- eglTerminate(d); -- -- return 0; --} -diff --git a/src/egl/opengl/demo2.c b/src/egl/opengl/demo2.c -deleted file mode 100644 -index bfef59e..0000000 ---- a/src/egl/opengl/demo2.c -+++ /dev/null -@@ -1,221 +0,0 @@ --/* -- * Exercise EGL API functions -- */ -- --#define EGL_EGLEXT_PROTOTYPES -- --#include --#include --#include --#include --#include -- --#include --#include --#include "gl_wrap.h" -- --/*#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) --{ -- GLfloat v[4][2], c[4][4]; -- int i; -- -- v[0][0] = x1; v[0][1] = y1; -- v[1][0] = x2; v[1][1] = y1; -- v[2][0] = x2; v[2][1] = y2; -- v[3][0] = x1; v[3][1] = y2; -- -- for (i = 0; i < 4; i++) { -- c[i][0] = r; -- c[i][1] = g; -- c[i][2] = b; -- c[i][3] = 1.0; -- } -- -- glVertexPointer(2, GL_FLOAT, 0, v); -- glColorPointer(4, GL_FLOAT, 0, c); -- glEnableClientState(GL_VERTEX_ARRAY); -- glEnableClientState(GL_COLOR_ARRAY); -- -- glDrawArrays(GL_TRIANGLE_FAN, 0, 4); -- -- glDisableClientState(GL_VERTEX_ARRAY); -- glDisableClientState(GL_COLOR_ARRAY); --} -- -- --static void redraw(EGLDisplay dpy, EGLSurface surf, int rot) --{ -- GLfloat r, g, b; -- -- printf("Redraw event\n"); -- -- glClearColor( rand()/(float)RAND_MAX, -- rand()/(float)RAND_MAX, -- rand()/(float)RAND_MAX, -- 1); -- -- glClear( GL_COLOR_BUFFER_BIT ); -- -- r = rand()/(float)RAND_MAX; -- g = rand()/(float)RAND_MAX; -- b = rand()/(float)RAND_MAX; -- -- glPushMatrix(); -- glRotatef(rot, 0, 0, 1); -- glScalef(.5, .5, .5); -- _subset_Rectf( -1, -1, 1, 1, r, g, b ); -- glPopMatrix(); -- --#ifdef FRONTBUFFER -- glFlush(); --#else -- eglSwapBuffers( dpy, surf ); --#endif -- glFinish(); --} -- -- --/** -- * Test EGL_MESA_screen_surface functions -- */ --static void --TestScreens(EGLDisplay dpy) --{ --#define MAX 8 -- EGLScreenMESA screens[MAX]; -- EGLint numScreens; -- EGLint i; -- -- eglGetScreensMESA(dpy, screens, MAX, &numScreens); -- printf("Found %d screens\n", numScreens); -- for (i = 0; i < numScreens; i++) { -- 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]; -- EGLint numConfigs, i; -- EGLBoolean b; -- const EGLint pbufAttribs[] = { -- EGL_WIDTH, 500, -- EGL_HEIGHT, 500, -- EGL_NONE -- }; -- EGLint screenAttribs[32]; -- EGLModeMESA mode; -- EGLScreenMESA screen; -- EGLint count; --#endif -- -- EGLDisplay d = eglGetDisplay(EGL_DEFAULT_DISPLAY); -- assert(d); -- -- if (!eglInitialize(d, &maj, &min)) { -- printf("demo: eglInitialize failed\n"); -- exit(1); -- } -- -- printf("EGL version = %d.%d\n", maj, min); -- printf("EGL_VENDOR = %s\n", eglQueryString(d, EGL_VENDOR)); -- if (!strstr(eglQueryString(d, EGL_EXTENSIONS), -- "EGL_MESA_screen_surface")) { -- printf("EGL_MESA_screen_surface is not supported\n"); -- 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++) { -- EGLint id, red, depth; -- eglGetConfigAttrib(d, configs[i], EGL_CONFIG_ID, &id); -- eglGetConfigAttrib(d, configs[i], EGL_RED_SIZE, &red); -- eglGetConfigAttrib(d, configs[i], EGL_DEPTH_SIZE, &depth); -- printf("%2d: Red Size = %d Depth Size = %d\n", id, red, depth); -- } -- -- eglGetScreensMESA(d, &screen, 1, &count); -- eglGetModesMESA(d, screen, &mode, 1, &count); -- -- eglBindAPI(EGL_OPENGL_API); -- ctx = eglCreateContext(d, configs[0], EGL_NO_CONTEXT, NULL); -- if (ctx == EGL_NO_CONTEXT) { -- printf("failed to create context\n"); -- return 0; -- } -- -- pbuffer = eglCreatePbufferSurface(d, configs[0], pbufAttribs); -- if (pbuffer == EGL_NO_SURFACE) { -- printf("failed to create pbuffer\n"); -- return 0; -- } -- -- b = eglMakeCurrent(d, pbuffer, pbuffer, ctx); -- if (!b) { -- printf("make current failed\n"); -- return 0; -- } -- -- b = eglMakeCurrent(d, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT); -- -- i = 0; -- screenAttribs[i++] = EGL_WIDTH; -- eglGetModeAttribMESA(d, mode, EGL_WIDTH, &screenAttribs[i++]); -- screenAttribs[i++] = EGL_HEIGHT; -- eglGetModeAttribMESA(d, mode, EGL_HEIGHT, &screenAttribs[i++]); -- screenAttribs[i] = EGL_NONE; -- -- screen_surf = eglCreateScreenSurfaceMESA(d, configs[0], screenAttribs); -- if (screen_surf == EGL_NO_SURFACE) { -- printf("failed to create screen surface\n"); -- return 0; -- } -- -- eglShowScreenSurfaceMESA(d, screen, screen_surf, mode); -- -- b = eglMakeCurrent(d, screen_surf, screen_surf, ctx); -- if (!b) { -- printf("make current failed\n"); -- return 0; -- } -- -- glViewport(0, 0, 1024, 768); -- -- glClearColor( 0, -- 1.0, -- 0, -- 1); -- -- glClear( GL_COLOR_BUFFER_BIT ); -- -- -- TestScreens(d); -- -- glShadeModel( GL_FLAT ); -- -- for (i = 0; i < 6; i++) { -- redraw(d, screen_surf, i*10 ); -- -- printf("sleep(1)\n"); -- sleep(1); -- } -- -- eglDestroySurface(d, pbuffer); -- eglDestroyContext(d, ctx); -- eglTerminate(d); --#endif -- -- return 0; --} -diff --git a/src/egl/opengl/demo3.c b/src/egl/opengl/demo3.c -deleted file mode 100644 -index 31b5d8b..0000000 ---- a/src/egl/opengl/demo3.c -+++ /dev/null -@@ -1,652 +0,0 @@ --/* -- * Exercise EGL API functions -- */ -- --#define EGL_EGLEXT_PROTOTYPES -- --#include --#include --#include "gl_wrap.h" --#include --#include --#include --#include --#include -- -- -- --#define PIXEL_CENTER(x) ((long)(x) + 0.5) -- --#define GAP 10 --#define ROWS 3 --#define COLS 4 -- --#define OPENGL_WIDTH 48 --#define OPENGL_HEIGHT 13 -- -- --GLenum rgb, doubleBuffer, windType; --GLint windW, windH; -- --GLenum mode1, mode2; --GLint boxW, boxH; --GLubyte OpenGL_bits[] = { -- 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, -- 0x7f, 0xfb, 0xff, 0xff, 0xff, 0x01, -- 0x7f, 0xfb, 0xff, 0xff, 0xff, 0x01, -- 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, -- 0x3e, 0x8f, 0xb7, 0xf9, 0xfc, 0x01, -- 0x63, 0xdb, 0xb0, 0x8d, 0x0d, 0x00, -- 0x63, 0xdb, 0xb7, 0x8d, 0x0d, 0x00, -- 0x63, 0xdb, 0xb6, 0x8d, 0x0d, 0x00, -- 0x63, 0x8f, 0xf3, 0xcc, 0x0d, 0x00, -- 0x63, 0x00, 0x00, 0x0c, 0x4c, 0x0a, -- 0x63, 0x00, 0x00, 0x0c, 0x4c, 0x0e, -- 0x63, 0x00, 0x00, 0x8c, 0xed, 0x0e, -- 0x3e, 0x00, 0x00, 0xf8, 0x0c, 0x00, --}; -- --#ifdef EGL_MESA_screen_surface --static void Init(void) --{ -- -- mode1 = GL_TRUE; -- mode2 = GL_TRUE; --} -- --static void Reshape(int width, int height) --{ -- -- windW = (GLint)width; -- windH = (GLint)height; --} -- --#if 0 --static void RotateColorMask(void) --{ -- static GLint rotation = 0; -- -- rotation = (rotation + 1) & 0x3; -- switch (rotation) { -- case 0: -- glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE); -- glIndexMask( 0xff ); -- break; -- case 1: -- glColorMask(GL_FALSE, GL_TRUE, GL_TRUE, GL_TRUE); -- glIndexMask(0xFE); -- break; -- case 2: -- glColorMask(GL_TRUE, GL_FALSE, GL_TRUE, GL_TRUE); -- glIndexMask(0xFD); -- break; -- case 3: -- glColorMask(GL_TRUE, GL_TRUE, GL_FALSE, GL_TRUE); -- glIndexMask(0xFB); -- break; -- } --} --#endif -- --static void Viewport(GLint row, GLint column) --{ -- GLint x, y; -- -- boxW = (windW - (COLS + 1) * GAP) / COLS; -- boxH = (windH - (ROWS + 1) * GAP) / ROWS; -- -- x = GAP + column * (boxW + GAP); -- y = GAP + row * (boxH + GAP); -- -- glViewport(x, y, boxW, boxH); -- -- glMatrixMode(GL_PROJECTION); -- glLoadIdentity(); -- glOrtho(-boxW/2, boxW/2, -boxH/2, boxH/2, 0.0, 1.0); -- glMatrixMode(GL_MODELVIEW); -- -- glEnable(GL_SCISSOR_TEST); -- glScissor(x, y, boxW, boxH); --} -- --enum { -- COLOR_BLACK = 0, -- COLOR_RED, -- COLOR_GREEN, -- COLOR_YELLOW, -- COLOR_BLUE, -- COLOR_MAGENTA, -- COLOR_CYAN, -- COLOR_WHITE --}; -- --static float RGBMap[9][3] = { -- {0, 0, 0}, -- {1, 0, 0}, -- {0, 1, 0}, -- {1, 1, 0}, -- {0, 0, 1}, -- {1, 0, 1}, -- {0, 1, 1}, -- {1, 1, 1}, -- {0.5, 0.5, 0.5} --}; -- --static void SetColor(int c) --{ -- glColor3fv(RGBMap[c]); --} -- --static void Point(void) --{ -- GLint i; -- -- glBegin(GL_POINTS); -- SetColor(COLOR_WHITE); -- glVertex2i(0, 0); -- for (i = 1; i < 8; i++) { -- GLint j = i * 2; -- SetColor(COLOR_BLACK+i); -- glVertex2i(-j, -j); -- glVertex2i(-j, 0); -- glVertex2i(-j, j); -- glVertex2i(0, j); -- glVertex2i(j, j); -- glVertex2i(j, 0); -- glVertex2i(j, -j); -- glVertex2i(0, -j); -- } -- glEnd(); --} -- --static void Lines(void) --{ -- GLint i; -- -- glPushMatrix(); -- -- glTranslatef(-12, 0, 0); -- for (i = 1; i < 8; i++) { -- SetColor(COLOR_BLACK+i); -- glBegin(GL_LINES); -- glVertex2i(-boxW/4, -boxH/4); -- glVertex2i(boxW/4, boxH/4); -- glEnd(); -- glTranslatef(4, 0, 0); -- } -- -- glPopMatrix(); -- -- glBegin(GL_LINES); -- glVertex2i(0, 0); -- glEnd(); --} -- --static void LineStrip(void) --{ -- -- glBegin(GL_LINE_STRIP); -- SetColor(COLOR_RED); -- glVertex2f(PIXEL_CENTER(-boxW/4), PIXEL_CENTER(-boxH/4)); -- SetColor(COLOR_GREEN); -- glVertex2f(PIXEL_CENTER(-boxW/4), PIXEL_CENTER(boxH/4)); -- SetColor(COLOR_BLUE); -- glVertex2f(PIXEL_CENTER(boxW/4), PIXEL_CENTER(boxH/4)); -- SetColor(COLOR_WHITE); -- glVertex2f(PIXEL_CENTER(boxW/4), PIXEL_CENTER(-boxH/4)); -- glEnd(); -- -- glBegin(GL_LINE_STRIP); -- glVertex2i(0, 0); -- glEnd(); --} -- --static void LineLoop(void) --{ -- -- glBegin(GL_LINE_LOOP); -- SetColor(COLOR_RED); -- glVertex2f(PIXEL_CENTER(-boxW/4), PIXEL_CENTER(-boxH/4)); -- SetColor(COLOR_GREEN); -- glVertex2f(PIXEL_CENTER(-boxW/4), PIXEL_CENTER(boxH/4)); -- SetColor(COLOR_BLUE); -- glVertex2f(PIXEL_CENTER(boxW/4), PIXEL_CENTER(boxH/4)); -- SetColor(COLOR_WHITE); -- glVertex2f(PIXEL_CENTER(boxW/4), PIXEL_CENTER(-boxH/4)); -- glEnd(); -- -- glEnable(GL_LOGIC_OP); -- glLogicOp(GL_XOR); -- -- glEnable(GL_BLEND); -- glBlendFunc(GL_ONE, GL_ONE); -- -- SetColor(COLOR_MAGENTA); -- glBegin(GL_LINE_LOOP); -- glVertex2f(PIXEL_CENTER(-boxW/8), PIXEL_CENTER(-boxH/8)); -- glVertex2f(PIXEL_CENTER(-boxW/8), PIXEL_CENTER(boxH/8)); -- glEnd(); -- glBegin(GL_LINE_LOOP); -- glVertex2f(PIXEL_CENTER(-boxW/8), PIXEL_CENTER(boxH/8+5)); -- glVertex2f(PIXEL_CENTER(boxW/8), PIXEL_CENTER(boxH/8+5)); -- glEnd(); -- glDisable(GL_LOGIC_OP); -- glDisable(GL_BLEND); -- -- SetColor(COLOR_GREEN); -- glBegin(GL_POINTS); -- glVertex2i(0, 0); -- glEnd(); -- -- glBegin(GL_LINE_LOOP); -- glVertex2i(0, 0); -- glEnd(); --} -- --static void Bitmap(void) --{ -- -- glBegin(GL_LINES); -- SetColor(COLOR_GREEN); -- glVertex2i(-boxW/2, 0); -- glVertex2i(boxW/2, 0); -- glVertex2i(0, -boxH/2); -- glVertex2i(0, boxH/2); -- SetColor(COLOR_RED); -- glVertex2i(0, -3); -- glVertex2i(0, -3+OPENGL_HEIGHT); -- SetColor(COLOR_BLUE); -- glVertex2i(0, -3); -- glVertex2i(OPENGL_WIDTH, -3); -- glEnd(); -- -- SetColor(COLOR_GREEN); -- -- glPixelStorei(GL_UNPACK_LSB_FIRST, GL_TRUE); -- glPixelStorei(GL_UNPACK_ALIGNMENT, 1); -- -- glRasterPos2i(0, 0); -- glBitmap(OPENGL_WIDTH, OPENGL_HEIGHT, 0, 3, 0.0, 0.0, OpenGL_bits); --} -- --static void Triangles(void) --{ -- -- glBegin(GL_TRIANGLES); -- SetColor(COLOR_GREEN); -- glVertex2i(-boxW/4, -boxH/4); -- SetColor(COLOR_RED); -- glVertex2i(-boxW/8, -boxH/16); -- SetColor(COLOR_BLUE); -- glVertex2i(boxW/8, -boxH/16); -- -- SetColor(COLOR_GREEN); -- glVertex2i(-boxW/4, boxH/4); -- SetColor(COLOR_RED); -- glVertex2i(-boxW/8, boxH/16); -- SetColor(COLOR_BLUE); -- glVertex2i(boxW/8, boxH/16); -- glEnd(); -- -- glBegin(GL_TRIANGLES); -- glVertex2i(0, 0); -- glVertex2i(-100, 100); -- glEnd(); --} -- --static void TriangleStrip(void) --{ -- -- glBegin(GL_TRIANGLE_STRIP); -- SetColor(COLOR_GREEN); -- glVertex2i(-boxW/4, -boxH/4); -- SetColor(COLOR_RED); -- glVertex2i(-boxW/4, boxH/4); -- SetColor(COLOR_BLUE); -- glVertex2i(0, -boxH/4); -- SetColor(COLOR_WHITE); -- glVertex2i(0, boxH/4); -- SetColor(COLOR_CYAN); -- glVertex2i(boxW/4, -boxH/4); -- SetColor(COLOR_YELLOW); -- glVertex2i(boxW/4, boxH/4); -- glEnd(); -- -- glBegin(GL_TRIANGLE_STRIP); -- glVertex2i(0, 0); -- glVertex2i(-100, 100); -- glEnd(); --} -- --static void TriangleFan(void) --{ -- GLint vx[8][2]; -- GLint x0, y0, x1, y1, x2, y2, x3, y3; -- GLint i; -- -- y0 = -boxH/4; -- y1 = y0 + boxH/2/3; -- y2 = y1 + boxH/2/3; -- y3 = boxH/4; -- x0 = -boxW/4; -- x1 = x0 + boxW/2/3; -- x2 = x1 + boxW/2/3; -- x3 = boxW/4; -- -- vx[0][0] = x0; vx[0][1] = y1; -- vx[1][0] = x0; vx[1][1] = y2; -- vx[2][0] = x1; vx[2][1] = y3; -- vx[3][0] = x2; vx[3][1] = y3; -- vx[4][0] = x3; vx[4][1] = y2; -- vx[5][0] = x3; vx[5][1] = y1; -- vx[6][0] = x2; vx[6][1] = y0; -- vx[7][0] = x1; vx[7][1] = y0; -- -- glBegin(GL_TRIANGLE_FAN); -- SetColor(COLOR_WHITE); -- glVertex2i(0, 0); -- for (i = 0; i < 8; i++) { -- SetColor(COLOR_WHITE-i); -- glVertex2iv(vx[i]); -- } -- glEnd(); -- -- glBegin(GL_TRIANGLE_FAN); -- glVertex2i(0, 0); -- glVertex2i(-100, 100); -- glEnd(); --} -- --static void Rect(void) --{ -- -- SetColor(COLOR_GREEN); -- glRecti(-boxW/4, -boxH/4, boxW/4, boxH/4); --} -- --static void PolygonFunc(void) --{ -- GLint vx[8][2]; -- GLint x0, y0, x1, y1, x2, y2, x3, y3; -- GLint i; -- -- y0 = -boxH/4; -- y1 = y0 + boxH/2/3; -- y2 = y1 + boxH/2/3; -- y3 = boxH/4; -- x0 = -boxW/4; -- x1 = x0 + boxW/2/3; -- x2 = x1 + boxW/2/3; -- x3 = boxW/4; -- -- vx[0][0] = x0; vx[0][1] = y1; -- vx[1][0] = x0; vx[1][1] = y2; -- vx[2][0] = x1; vx[2][1] = y3; -- vx[3][0] = x2; vx[3][1] = y3; -- vx[4][0] = x3; vx[4][1] = y2; -- vx[5][0] = x3; vx[5][1] = y1; -- vx[6][0] = x2; vx[6][1] = y0; -- vx[7][0] = x1; vx[7][1] = y0; -- -- glBegin(GL_POLYGON); -- for (i = 0; i < 8; i++) { -- SetColor(COLOR_WHITE-i); -- glVertex2iv(vx[i]); -- } -- glEnd(); -- -- glBegin(GL_POLYGON); -- glVertex2i(0, 0); -- glVertex2i(100, 100); -- glEnd(); --} -- --static void Quads(void) --{ -- -- glBegin(GL_QUADS); -- SetColor(COLOR_GREEN); -- glVertex2i(-boxW/4, -boxH/4); -- SetColor(COLOR_RED); -- glVertex2i(-boxW/8, -boxH/16); -- SetColor(COLOR_BLUE); -- glVertex2i(boxW/8, -boxH/16); -- SetColor(COLOR_WHITE); -- glVertex2i(boxW/4, -boxH/4); -- -- SetColor(COLOR_GREEN); -- glVertex2i(-boxW/4, boxH/4); -- SetColor(COLOR_RED); -- glVertex2i(-boxW/8, boxH/16); -- SetColor(COLOR_BLUE); -- glVertex2i(boxW/8, boxH/16); -- SetColor(COLOR_WHITE); -- glVertex2i(boxW/4, boxH/4); -- glEnd(); -- -- glBegin(GL_QUADS); -- glVertex2i(0, 0); -- glVertex2i(100, 100); -- glVertex2i(-100, 100); -- glEnd(); --} -- --static void QuadStrip(void) --{ -- -- glBegin(GL_QUAD_STRIP); -- SetColor(COLOR_GREEN); -- glVertex2i(-boxW/4, -boxH/4); -- SetColor(COLOR_RED); -- glVertex2i(-boxW/4, boxH/4); -- SetColor(COLOR_BLUE); -- glVertex2i(0, -boxH/4); -- SetColor(COLOR_WHITE); -- glVertex2i(0, boxH/4); -- SetColor(COLOR_CYAN); -- glVertex2i(boxW/4, -boxH/4); -- SetColor(COLOR_YELLOW); -- glVertex2i(boxW/4, boxH/4); -- glEnd(); -- -- glBegin(GL_QUAD_STRIP); -- glVertex2i(0, 0); -- glVertex2i(100, 100); -- glVertex2i(-100, 100); -- glEnd(); --} -- --static void Draw(EGLDisplay dpy, EGLSurface surf) --{ -- -- glViewport(0, 0, windW, windH); -- glDisable(GL_SCISSOR_TEST); -- -- glPushAttrib(GL_COLOR_BUFFER_BIT); -- -- glColorMask(1, 1, 1, 1); -- glIndexMask(~0); -- -- glClearColor(0.0, 0.0, 0.0, 0.0); -- glClear(GL_COLOR_BUFFER_BIT); -- -- glPopAttrib(); -- -- if (mode1) { -- glShadeModel(GL_SMOOTH); -- } else { -- glShadeModel(GL_FLAT); -- } -- -- if (mode2) { -- glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); -- } else { -- glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); -- } -- -- Viewport(0, 0); Point(); -- Viewport(0, 1); Lines(); -- Viewport(0, 2); LineStrip(); -- Viewport(0, 3); LineLoop(); -- -- Viewport(1, 0); Bitmap(); -- -- Viewport(1, 1); TriangleFan(); -- Viewport(1, 2); Triangles(); -- Viewport(1, 3); TriangleStrip(); -- -- Viewport(2, 0); Rect(); -- Viewport(2, 1); PolygonFunc(); -- Viewport(2, 2); Quads(); -- Viewport(2, 3); QuadStrip(); -- -- glFlush(); -- -- if (doubleBuffer) { -- eglSwapBuffers(dpy, surf); -- } --} -- --static void --write_ppm(const char *filename, const GLubyte *buffer, int width, int height) --{ -- const int binary = 0; -- FILE *f = fopen( filename, "w" ); -- if (f) { -- int i, x, y; -- const GLubyte *ptr = buffer; -- if (binary) { -- fprintf(f,"P6\n"); -- fprintf(f,"# ppm-file created by osdemo.c\n"); -- fprintf(f,"%i %i\n", width,height); -- fprintf(f,"255\n"); -- fclose(f); -- f = fopen( filename, "ab" ); /* reopen in binary append mode */ -- for (y=height-1; y>=0; y--) { -- for (x=0; x=0; y--) { -- for (x=0; x 0) - surfString[strlen(surfString) - 1] = 0; - -@@ -117,45 +113,6 @@ PrintConfigs(EGLDisplay d) - } - - --/** -- * Print table of all available configurations. -- */ --static void --PrintModes(EGLDisplay d) --{ --#ifdef EGL_MESA_screen_surface -- const char *extensions = eglQueryString(d, EGL_EXTENSIONS); -- if (strstr(extensions, "EGL_MESA_screen_surface")) { -- EGLScreenMESA screens[MAX_SCREENS]; -- EGLint numScreens = 1, scrn; -- EGLModeMESA modes[MAX_MODES]; -- -- eglGetScreensMESA(d, screens, MAX_SCREENS, &numScreens); -- printf("Number of Screens: %d\n\n", numScreens); -- -- for (scrn = 0; scrn < numScreens; scrn++) { -- EGLint numModes, i; -- -- eglGetModesMESA(d, screens[scrn], modes, MAX_MODES, &numModes); -- -- printf("Screen %d Modes:\n", scrn); -- printf(" id width height refresh name\n"); -- printf("-----------------------------------------\n"); -- for (i = 0; i < numModes; i++) { -- EGLint id, w, h, r; -- const char *str; -- eglGetModeAttribMESA(d, modes[i], EGL_MODE_ID_MESA, &id); -- eglGetModeAttribMESA(d, modes[i], EGL_WIDTH, &w); -- eglGetModeAttribMESA(d, modes[i], EGL_HEIGHT, &h); -- eglGetModeAttribMESA(d, modes[i], EGL_REFRESH_RATE_MESA, &r); -- str = eglQueryModeStringMESA(d, modes[i]); -- printf("0x%02x %5d %5d %.3f %s\n", id, w, h, r / 1000.0, str); -- } -- } -- } --#endif --} -- - static void - PrintExtensions(EGLDisplay d) - { -@@ -215,8 +172,6 @@ main(int argc, char *argv[]) - - PrintConfigs(d); - -- PrintModes(d); -- - eglTerminate(d); - - return 0; -diff --git a/src/egl/opengles1/Makefile.am b/src/egl/opengles1/Makefile.am -index 516e516..1cc2e1f 100644 ---- a/src/egl/opengles1/Makefile.am -+++ b/src/egl/opengles1/Makefile.am -@@ -38,24 +38,6 @@ AM_LDFLAGS = \ - - bin_PROGRAMS = - --if HAVE_EGL --if HAVE_GLESV1 --bin_PROGRAMS += \ -- drawtex_screen \ -- gears_screen \ -- torus_screen \ -- tri_screen -- --drawtex_screen_SOURCES = drawtex.c --gears_screen_SOURCES = gears.c --torus_screen_SOURCES = torus.c --tri_screen_SOURCES = tri.c -- --drawtex_screen_LDADD = ../eglut/libeglut_screen.la --gears_screen_LDADD = ../eglut/libeglut_screen.la --torus_screen_LDADD = ../eglut/libeglut_screen.la --tri_screen_LDADD = ../eglut/libeglut_screen.la -- - if HAVE_X11 - bin_PROGRAMS += \ - clear \ -@@ -94,5 +76,3 @@ gears_x11_LDADD = ../eglut/libeglut_x11.la - torus_x11_LDADD = ../eglut/libeglut_x11.la - tri_x11_LDADD = ../eglut/libeglut_x11.la - endif --endif --endif -diff --git a/src/egl/opengles2/Makefile.am b/src/egl/opengles2/Makefile.am -index 74af460..422cb03 100644 ---- a/src/egl/opengles2/Makefile.am -+++ b/src/egl/opengles2/Makefile.am -@@ -33,13 +33,7 @@ AM_LDFLAGS = \ - $(EGL_LIBS) \ - -lm - --if HAVE_EGL --if HAVE_GLESV2 --bin_PROGRAMS = \ -- es2gears_screen -- --es2gears_screen_SOURCES = es2gears.c --es2gears_screen_LDADD = ../eglut/libeglut_screen.la -+bin_PROGRAMS = - - if HAVE_WAYLAND - bin_PROGRAMS += es2gears_wayland -@@ -59,6 +53,4 @@ es2gears_x11_SOURCES = es2gears.c - es2gears_x11_LDADD = ../eglut/libeglut_x11.la - es2tri_LDADD = $(X11_LIBS) - endif --endif --endif - -diff --git a/src/egl/openvg/Makefile.am b/src/egl/openvg/Makefile.am -index b545225..5fd1cf8 100644 ---- a/src/egl/openvg/Makefile.am -+++ b/src/egl/openvg/Makefile.am -@@ -50,21 +50,13 @@ endif - if HAVE_EGL - if HAVE_VG - bin_PROGRAMS = \ -- lion_screen \ -- sp_screen \ - $(EGL_X11_DEMOS) - endif - endif - --lion_screen_SOURCES = lion.c lion-render.c lion-render.h --sp_screen_SOURCES = sp.c -- - lion_x11_SOURCES = lion.c lion-render.c lion-render.h - sp_x11_SOURCES = sp.c - --lion_screen_LDADD = ../eglut/libeglut_screen.la --sp_screen_LDADD = ../eglut/libeglut_screen.la -- - lion_x11_LDADD = ../eglut/libeglut_x11.la - sp_x11_LDADD = ../eglut/libeglut_x11.la - -diff --git a/src/egl/openvg/Makefile.in b/src/egl/openvg/Makefile.in -index 99e9288..3652fbb 100644 ---- a/src/egl/openvg/Makefile.in -+++ b/src/egl/openvg/Makefile.in -@@ -108,8 +108,6 @@ host_triplet = @host@ - @HAVE_FREETYPE2_TRUE@@HAVE_X11_TRUE@am__append_1 = \ - @HAVE_FREETYPE2_TRUE@@HAVE_X11_TRUE@ text - --@HAVE_EGL_TRUE@@HAVE_VG_TRUE@noinst_PROGRAMS = lion_screen$(EXEEXT) \ --@HAVE_EGL_TRUE@@HAVE_VG_TRUE@ sp_screen$(EXEEXT) \ - @HAVE_EGL_TRUE@@HAVE_VG_TRUE@ $(am__EXEEXT_2) - subdir = src/egl/openvg - DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ -@@ -128,9 +126,6 @@ CONFIG_CLEAN_VPATH_FILES = - @HAVE_X11_TRUE@am__EXEEXT_2 = lion_x11$(EXEEXT) sp_x11$(EXEEXT) \ - @HAVE_X11_TRUE@ $(am__EXEEXT_1) - PROGRAMS = $(noinst_PROGRAMS) --am_lion_screen_OBJECTS = lion.$(OBJEXT) lion-render.$(OBJEXT) --lion_screen_OBJECTS = $(am_lion_screen_OBJECTS) --lion_screen_DEPENDENCIES = ../eglut/libeglut_screen.la - AM_V_lt = $(am__v_lt_@AM_V@) - am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) - am__v_lt_0 = --silent -@@ -138,9 +133,6 @@ am__v_lt_1 = - am_lion_x11_OBJECTS = lion.$(OBJEXT) lion-render.$(OBJEXT) - lion_x11_OBJECTS = $(am_lion_x11_OBJECTS) - lion_x11_DEPENDENCIES = ../eglut/libeglut_x11.la --am_sp_screen_OBJECTS = sp.$(OBJEXT) --sp_screen_OBJECTS = $(am_sp_screen_OBJECTS) --sp_screen_DEPENDENCIES = ../eglut/libeglut_screen.la - am_sp_x11_OBJECTS = sp.$(OBJEXT) - sp_x11_OBJECTS = $(am_sp_x11_OBJECTS) - sp_x11_DEPENDENCIES = ../eglut/libeglut_x11.la -@@ -184,10 +176,10 @@ AM_V_CCLD = $(am__v_CCLD_@AM_V@) - am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) - am__v_CCLD_0 = @echo " CCLD " $@; - am__v_CCLD_1 = --SOURCES = $(lion_screen_SOURCES) $(lion_x11_SOURCES) \ -- $(sp_screen_SOURCES) $(sp_x11_SOURCES) $(text_SOURCES) --DIST_SOURCES = $(lion_screen_SOURCES) $(lion_x11_SOURCES) \ -- $(sp_screen_SOURCES) $(sp_x11_SOURCES) $(text_SOURCES) -+SOURCES = $(lion_x11_SOURCES) \ -+ $(sp_x11_SOURCES) $(text_SOURCES) -+DIST_SOURCES = $(lion_x11_SOURCES) \ -+ $(sp_x11_SOURCES) $(text_SOURCES) - RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ - ctags-recursive dvi-recursive html-recursive info-recursive \ - install-data-recursive install-dvi-recursive \ -@@ -423,12 +415,8 @@ AM_LDFLAGS = \ - -lm - - @HAVE_X11_TRUE@EGL_X11_DEMOS = lion_x11 sp_x11 $(am__append_1) --lion_screen_SOURCES = lion.c lion-render.c lion-render.h --sp_screen_SOURCES = sp.c - lion_x11_SOURCES = lion.c lion-render.c lion-render.h - sp_x11_SOURCES = sp.c --lion_screen_LDADD = ../eglut/libeglut_screen.la --sp_screen_LDADD = ../eglut/libeglut_screen.la - lion_x11_LDADD = ../eglut/libeglut_x11.la - sp_x11_LDADD = ../eglut/libeglut_x11.la - text_SOURCES = text.c -@@ -481,18 +469,10 @@ clean-noinstPROGRAMS: - echo " rm -f" $$list; \ - rm -f $$list - --lion_screen$(EXEEXT): $(lion_screen_OBJECTS) $(lion_screen_DEPENDENCIES) $(EXTRA_lion_screen_DEPENDENCIES) -- @rm -f lion_screen$(EXEEXT) -- $(AM_V_CCLD)$(LINK) $(lion_screen_OBJECTS) $(lion_screen_LDADD) $(LIBS) -- - lion_x11$(EXEEXT): $(lion_x11_OBJECTS) $(lion_x11_DEPENDENCIES) $(EXTRA_lion_x11_DEPENDENCIES) - @rm -f lion_x11$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(lion_x11_OBJECTS) $(lion_x11_LDADD) $(LIBS) - --sp_screen$(EXEEXT): $(sp_screen_OBJECTS) $(sp_screen_DEPENDENCIES) $(EXTRA_sp_screen_DEPENDENCIES) -- @rm -f sp_screen$(EXEEXT) -- $(AM_V_CCLD)$(LINK) $(sp_screen_OBJECTS) $(sp_screen_LDADD) $(LIBS) -- - sp_x11$(EXEEXT): $(sp_x11_OBJECTS) $(sp_x11_DEPENDENCIES) $(EXTRA_sp_x11_DEPENDENCIES) - @rm -f sp_x11$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(sp_x11_OBJECTS) $(sp_x11_LDADD) $(LIBS) - diff --git a/meta/recipes-graphics/mesa/mesa-demos_8.2.0.bb b/meta/recipes-graphics/mesa/mesa-demos_8.2.0.bb deleted file mode 100644 index 53bd5e2b41..0000000000 --- a/meta/recipes-graphics/mesa/mesa-demos_8.2.0.bb +++ /dev/null @@ -1,64 +0,0 @@ -SUMMARY = "Mesa demo applications" -DESCRIPTION = "This package includes the demonstration application, such as glxgears. \ -These applications can be used for Mesa validation and benchmarking." -HOMEPAGE = "http://mesa3d.org" -BUGTRACKER = "https://bugs.freedesktop.org" -SECTION = "x11" - -LICENSE = "MIT & PD" -LIC_FILES_CHKSUM = "file://src/xdemos/glxgears.c;beginline=1;endline=20;md5=914225785450eff644a86c871d3ae00e \ - file://src/xdemos/glxdemo.c;beginline=1;endline=8;md5=b01d5ab1aee94d35b7efaa2ef48e1a06" - -SRC_URI = "ftp://ftp.freedesktop.org/pub/mesa/demos/${PV}/${BPN}-${PV}.tar.bz2 \ - file://0001-mesa-demos-Add-missing-data-files.patch \ - file://0002-Correctly-implement-with-AC_WITH-glut-so-that-withou.patch \ - file://0003-configure-Allow-to-disable-demos-which-require-GLEW-.patch \ - file://0004-Use-DEMOS_DATA_DIR-to-locate-data-files.patch \ - file://0005-Fix-build-when-EGL_MESA_screen_surface-extension-isn.patch \ - file://0006-Query-display-for-EGL_MESA_screen_surface-extension-.patch \ - file://0007-Install-few-more-test-programs.patch \ - file://0008-glsl-perf-Add-few-missing-.glsl-.vert-.frag-files-to.patch \ - file://0009-glsl-perf-Install-.glsl-.vert-.frag-files.patch \ - file://0010-sharedtex_mt-fix-rendering-thread-hang.patch \ - file://0011-drop-demos-dependant-on-obsolete-MESA_screen_surface.patch \ - file://0012-mesa-demos-OpenVG-demos-with-single-frame-need-eglSw.patch \ - file://0013-only-build-GLX-demos-if-needed.patch \ -" -SRC_URI[md5sum] = "72613a2c8c013716db02e3ff59d29061" -SRC_URI[sha256sum] = "e4bfecb5816ddd4b7b37c1bc876b63f1f7f06fda5879221a9774d0952f90ba92" - -inherit autotools pkgconfig distro_features_check -# depends on virtual/egl, virtual/libgl ... -REQUIRED_DISTRO_FEATURES = "opengl" - -PACKAGECONFIG ?= "drm osmesa freetype2 gbm egl gles1 gles2 \ - ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 glew glu glx', '', d)}" - -# The Wayland code doesn't work with Wayland 1.0, so disable it for now -#${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)}" - -EXTRA_OECONF = "--with-system-data-files" - -PACKAGECONFIG[drm] = "--enable-libdrm,--disable-libdrm,libdrm" -PACKAGECONFIG[egl] = "--enable-egl,--disable-egl,virtual/egl" -PACKAGECONFIG[freetype2] = "--enable-freetype2,--disable-freetype2,freetype" -PACKAGECONFIG[gbm] = "--enable-gbm,--disable-gbm,virtual/libgl" -PACKAGECONFIG[gles1] = "--enable-gles1,--disable-gles1,virtual/libgles1" -PACKAGECONFIG[gles2] = "--enable-gles2,--disable-gles2,virtual/libgles2" -PACKAGECONFIG[glut] = "--with-glut=${STAGING_EXECPREFIXDIR},--without-glut," -PACKAGECONFIG[osmesa] = "--enable-osmesa,--disable-osmesa," -PACKAGECONFIG[vg] = "--enable-vg,--disable-vg,virtual/libopenvg" -PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,virtual/libgl wayland" -PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,virtual/libx11" -PACKAGECONFIG[glew] = "--enable-glew,--disable-glew,glew" -PACKAGECONFIG[glu] = "--enable-glu,--disable-glu,virtual/libgl" -PACKAGECONFIG[glx] = "--enable-glx-demos,--disable-glx-demos" - -do_install_append() { - # it can be completely empty when all PACKAGECONFIG options are disabled - rmdir --ignore-fail-on-non-empty ${D}${bindir} - - if [ -f ${D}${bindir}/clear ]; then - mv ${D}${bindir}/clear ${D}${bindir}/clear.mesa-demos - fi -} diff --git a/meta/recipes-graphics/mesa/mesa-demos_8.3.0.bb b/meta/recipes-graphics/mesa/mesa-demos_8.3.0.bb new file mode 100644 index 0000000000..ee0bb020a3 --- /dev/null +++ b/meta/recipes-graphics/mesa/mesa-demos_8.3.0.bb @@ -0,0 +1,59 @@ +SUMMARY = "Mesa demo applications" +DESCRIPTION = "This package includes the demonstration application, such as glxgears. \ +These applications can be used for Mesa validation and benchmarking." +HOMEPAGE = "http://mesa3d.org" +BUGTRACKER = "https://bugs.freedesktop.org" +SECTION = "x11" + +LICENSE = "MIT & PD" +LIC_FILES_CHKSUM = "file://src/xdemos/glxgears.c;beginline=1;endline=20;md5=914225785450eff644a86c871d3ae00e \ + file://src/xdemos/glxdemo.c;beginline=1;endline=8;md5=b01d5ab1aee94d35b7efaa2ef48e1a06" + +SRC_URI = "ftp://ftp.freedesktop.org/pub/mesa/demos/${PV}/${BPN}-${PV}.tar.bz2 \ + file://0001-mesa-demos-Add-missing-data-files.patch \ + file://0003-configure-Allow-to-disable-demos-which-require-GLEW-.patch \ + file://0004-Use-DEMOS_DATA_DIR-to-locate-data-files.patch \ + file://0007-Install-few-more-test-programs.patch \ + file://0008-glsl-perf-Add-few-missing-.glsl-.vert-.frag-files-to.patch \ + file://0009-glsl-perf-Install-.glsl-.vert-.frag-files.patch \ + file://0012-mesa-demos-OpenVG-demos-with-single-frame-need-eglSw.patch \ + file://0013-only-build-GLX-demos-if-needed.patch \ + " +SRC_URI[md5sum] = "628e75c23c17394f11a316c36f8e4164" +SRC_URI[sha256sum] = "c173154bbd0d5fb53d732471984def42fb1b14ac85fcb834138fb9518b3e0bef" + +inherit autotools pkgconfig distro_features_check +# depends on virtual/egl, virtual/libgl ... +REQUIRED_DISTRO_FEATURES = "opengl" + +PACKAGECONFIG ?= "drm osmesa freetype2 gbm egl gles1 gles2 \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 glew glu glx', '', d)}" + +# The Wayland code doesn't work with Wayland 1.0, so disable it for now +#${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)}" + +EXTRA_OECONF = "--with-system-data-files" + +PACKAGECONFIG[drm] = "--enable-libdrm,--disable-libdrm,libdrm" +PACKAGECONFIG[egl] = "--enable-egl,--disable-egl,virtual/egl" +PACKAGECONFIG[freetype2] = "--enable-freetype2,--disable-freetype2,freetype" +PACKAGECONFIG[gbm] = "--enable-gbm,--disable-gbm,virtual/libgl" +PACKAGECONFIG[gles1] = "--enable-gles1,--disable-gles1,virtual/libgles1" +PACKAGECONFIG[gles2] = "--enable-gles2,--disable-gles2,virtual/libgles2" +PACKAGECONFIG[glut] = "--with-glut=${STAGING_EXECPREFIXDIR},--without-glut," +PACKAGECONFIG[osmesa] = "--enable-osmesa,--disable-osmesa," +PACKAGECONFIG[vg] = "--enable-vg,--disable-vg,virtual/libopenvg" +PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,virtual/libgl wayland" +PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,virtual/libx11" +PACKAGECONFIG[glew] = "--enable-glew,--disable-glew,glew" +PACKAGECONFIG[glu] = "--enable-glu,--disable-glu,virtual/libgl" +PACKAGECONFIG[glx] = "--enable-glx-demos,--disable-glx-demos" + +do_install_append() { + # it can be completely empty when all PACKAGECONFIG options are disabled + rmdir --ignore-fail-on-non-empty ${D}${bindir} + + if [ -f ${D}${bindir}/clear ]; then + mv ${D}${bindir}/clear ${D}${bindir}/clear.mesa-demos + fi +} -- cgit 1.2.3-korg