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.

(From OE-Core rev: 747762233ee21eaaf480f19b85cd1d6543c7ca51)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Jussi Kukkonen 2016-05-23 15:44:07 +03:00 committed by Richard Purdie
parent 6ec08043dc
commit b5fe46044e
8 changed files with 59 additions and 2140 deletions

View File

@ -1,57 +0,0 @@
From 36829a8d7ad2888515fbee95c2a70b3d636d7538 Mon Sep 17 00:00:00 2001
From: Ross Burton <ross.burton@intel.com>
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 <ross.burton@intel.com>
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

View File

@ -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 <Martin.Jansa@gmail.com>
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 <Martin.Jansa@gmail.com>
Port to 8.3.0
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
---
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 <eric@anholt.net>
+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
+
+es2gears_wayland_SOURCES = es2gears.c
+es2gears_wayland_LDADD = ../eglut/libeglut_wayland.la
endif
-es2_info_LDADD = $(X11_LIBS)
-es2tri_LDADD = $(X11_LIBS)
+es2gears_wayland_SOURCES = es2gears.c
+es2gears_wayland_LDADD = ../eglut/libeglut_wayland.la
+endif
-es2gears_screen_SOURCES = es2gears.c
+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

View File

@ -1,267 +0,0 @@
From 453353a221de9c64479f4372565d2cd8591b36cc Mon Sep 17 00:00:00 2001
From: Frank Binns <frank.binns@imgtec.com>
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 <frank.binns@imgtec.com>
Applied and fixed up in Yocto by...
Integrated-by: Tom Zanussi <tom.zanussi@linux.intel.com>
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

View File

@ -1,41 +0,0 @@
From 6a19dba1d275579c73e7763b0554410ff4e1e650 Mon Sep 17 00:00:00 2001
From: Frank Binns <frank.binns@imgtec.com>
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 <frank.binns@imgtec.com>
Applied and fixed up in Yocto by...
Integrated-by: Tom Zanussi <tom.zanussi@linux.intel.com>
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

View File

@ -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 <Martin.Jansa@gmail.com>
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 <Martin.Jansa@gmail.com>
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
---
src/egl/opengl/Makefile.am | 2 +-
src/egl/opengles1/Makefile.am | 10 ++++------
@ -13,7 +15,7 @@ Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
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

View File

@ -1,43 +0,0 @@
From 525fa9ded72d22b53c5eb366f61e2ac1d407a2db Mon Sep 17 00:00:00 2001
From: Awais Belal <awais_belal@mentor.com>
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 <awais_belal@mentor.com>
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

View File

@ -10,22 +10,17 @@ LIC_FILES_CHKSUM = "file://src/xdemos/glxgears.c;beginline=1;endline=20;md5=9142
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"
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 ...