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:
parent
6ec08043dc
commit
b5fe46044e
|
@ -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
|
||||
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
File diff suppressed because it is too large
Load Diff
|
@ -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 ...
|
Loading…
Reference in New Issue