mesa-demos: upgrade to 8.2.0 and allow building without GLEW/GLU
authorMartin Jansa <martin.jansa@gmail.com>
Thu, 31 Jul 2014 16:16:17 +0000 (18:16 +0200)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sat, 2 Aug 2014 08:26:17 +0000 (09:26 +0100)
(From OE-Core rev: c58d3cb308e7e6fc3bad120019f257bf3834fa15)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-graphics/mesa/mesa-demos/0001-mesa-demos-Add-missing-data-files.patch
meta/recipes-graphics/mesa/mesa-demos/0002-Correctly-implement-with-AC_WITH-glut-so-that-withou.patch [moved from meta/recipes-graphics/mesa/mesa-demos/glut.patch with 57% similarity]
meta/recipes-graphics/mesa/mesa-demos/0003-configure-Allow-to-disable-demos-which-require-GLEW-.patch [new file with mode: 0644]
meta/recipes-graphics/mesa/mesa-demos/0004-Use-DEMOS_DATA_DIR-to-locate-data-files.patch [moved from meta/recipes-graphics/mesa/mesa-demos/0001-mesa-demos-Use-DEMOS_DATA_DIR-to-locate-data-files.patch with 91% similarity]
meta/recipes-graphics/mesa/mesa-demos/0005-Fix-build-when-EGL_MESA_screen_surface-extension-isn.patch [moved from meta/recipes-graphics/mesa/mesa-demos/egl-mesa-screen-surface-build-fix.patch with 76% similarity]
meta/recipes-graphics/mesa/mesa-demos/0006-Query-display-for-EGL_MESA_screen_surface-extension-.patch [moved from meta/recipes-graphics/mesa/mesa-demos/egl-mesa-screen-surface-query.patch with 69% similarity]
meta/recipes-graphics/mesa/mesa-demos/0007-Install-few-more-test-programs.patch [new file with mode: 0644]
meta/recipes-graphics/mesa/mesa-demos/0008-glsl-perf-Add-few-missing-.glsl-.vert-.frag-files-to.patch [new file with mode: 0644]
meta/recipes-graphics/mesa/mesa-demos/0009-glsl-perf-Install-.glsl-.vert-.frag-files.patch [new file with mode: 0644]
meta/recipes-graphics/mesa/mesa-demos_8.2.0.bb [moved from meta/recipes-graphics/mesa/mesa-demos_8.1.0.bb with 59% similarity]

index c785103..93ee9c2 100644 (file)
@@ -1,7 +1,7 @@
-From 87f9a62329d7c5f4d351fbb63a41f2a1935fb2f1 Mon Sep 17 00:00:00 2001
+From b695c3a3fa3f4cd48c13aa26542110de27075518 Mon Sep 17 00:00:00 2001
 From: Drew Moseley <drew_moseley@mentor.com>
 Date: Mon, 12 May 2014 15:22:32 -0400
-Subject: [PATCH] mesa-demos: Add missing data files.
+Subject: [PATCH 1/9] mesa-demos: Add missing data files.
 
 Add some data files that are present in the git repository:
    http://cgit.freedesktop.org/mesa/demos/tree/?id=mesa-demos-8.1.0
@@ -10,20 +10,21 @@ but not in the release tarball
 
 Upstream-Status: Backport
 Signed-off-by: Drew Moseley <drew_moseley@mentor.com>
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
 ---
- src/fpglsl/depth-read.glsl      |    4 +
- src/fpglsl/infinite-loop.glsl   |    7 +
- src/glsl/CH11-bumpmaptex.frag   |   47 +++++++
- src/glsl/blinking-teapot.frag   |   31 +++++
- src/glsl/blinking-teapot.vert   |   16 +++
- src/glsl/convolution.frag       |   21 +++
- src/glsl/simplex-noise.glsl     |  279 +++++++++++++++++++++++++++++++++++++++
- src/glsl/skinning.vert          |   24 ++++
- src/perf/glslstateschange1.frag |   19 +++
- src/perf/glslstateschange1.vert |   14 ++
- src/perf/glslstateschange2.frag |   17 +++
- src/perf/glslstateschange2.vert |   14 ++
- src/vpglsl/infinite-loop.glsl   |    8 ++
+ src/fpglsl/depth-read.glsl      |   4 +
+ src/fpglsl/infinite-loop.glsl   |   7 +
+ src/glsl/CH11-bumpmaptex.frag   |  47 +++++++
+ src/glsl/blinking-teapot.frag   |  31 +++++
+ src/glsl/blinking-teapot.vert   |  16 +++
+ src/glsl/convolution.frag       |  21 +++
+ src/glsl/simplex-noise.glsl     | 279 ++++++++++++++++++++++++++++++++++++++++
+ src/glsl/skinning.vert          |  24 ++++
+ src/perf/glslstateschange1.frag |  19 +++
+ src/perf/glslstateschange1.vert |  14 ++
+ src/perf/glslstateschange2.frag |  17 +++
+ src/perf/glslstateschange2.vert |  14 ++
+ src/vpglsl/infinite-loop.glsl   |   8 ++
  13 files changed, 501 insertions(+)
  create mode 100644 src/fpglsl/depth-read.glsl
  create mode 100644 src/fpglsl/infinite-loop.glsl
@@ -619,5 +620,5 @@ index 0000000..bc7ae4b
 +   gl_FrontColor = sum;
 +}
 -- 
-1.7.9.5
+2.0.0
 
@@ -1,13 +1,18 @@
-Correctly implement with AC_WITH(glut) so that --without-glut works.
+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.
 
-Upstream-Status: Submitted [https://bugs.freedesktop.org/show_bug.cgi?id=57013]
-Signed-off-by: Ross Burton <ross.burton@intel.com>
+---
+ configure.ac | 26 +++++++++++++++-----------
+ 1 file changed, 15 insertions(+), 11 deletions(-)
 
-Index: mesa-demos-8.0.1/configure.ac
-===================================================================
---- mesa-demos-8.0.1.orig/configure.ac 2010-07-13 19:52:41.000000000 +0100
-+++ mesa-demos-8.0.1/configure.ac      2012-11-12 12:49:54.940054571 +0000
-@@ -65,21 +65,25 @@
+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
@@ -42,5 +47,8 @@ Index: mesa-demos-8.0.1/configure.ac
 +       glut_enabled=yes
 +])
  
- GLEW_CFLAGS=""
- GLEW_LIBS="-lGLEW"
+ 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
new file mode 100644 (file)
index 0000000..e02f1ab
--- /dev/null
@@ -0,0 +1,420 @@
+From b25e9c675cf560b8b037dc855c6b3b1d09957867 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
+
+* in some systems without X11 support we don't have GLEW, but
+  mesa-demos are still useful
+
+Upstream-Status: Pending
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ configure.ac                  | 49 ++++++++++++++++++++---------
+ src/Makefile.am               | 14 ++++++---
+ 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(-)
+
+diff --git a/configure.ac b/configure.ac
+index 9445424..bc4c8d1 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -93,25 +93,44 @@ AC_EGREP_HEADER([glutInitContextProfile],
+               [AC_DEFINE(HAVE_FREEGLUT)],
+               [])
+-dnl Check for GLEW
+-PKG_CHECK_MODULES(GLEW, [glew >= 1.5.4])
+-DEMO_CFLAGS="$DEMO_CFLAGS $GLEW_CFLAGS"
+-DEMO_LIBS="$DEMO_LIBS $GLEW_LIBS"
++AC_ARG_ENABLE([glew],
++    [AS_HELP_STRING([--enable-glew],
++        [build demos which require glew @<:@default=yes@:>@])],
++    [enable_glew="$enableval"],
++    [enable_glew=yes]
++)
++
++if test "x$enable_glew" = xyes; then
++    dnl Check for GLEW
++    PKG_CHECK_MODULES(GLEW, [glew >= 1.5.4], [glew_enabled=yes], [glew_enabled=no])
++    DEMO_CFLAGS="$DEMO_CFLAGS $GLEW_CFLAGS"
++    DEMO_LIBS="$DEMO_LIBS $GLEW_LIBS"
++fi
+ # LIBS was set by AC_CHECK_LIB above
+ LIBS=""
+-PKG_CHECK_MODULES(GLU, [glu], [],
+-                [AC_CHECK_HEADER([GL/glu.h],
+-                                 [],
+-                                 AC_MSG_ERROR([GLU not found]))
+-                 AC_CHECK_LIB([GLU],
+-                              [gluBeginCurve],
+-                              [GLU_LIBS=-lGLU],
+-                              AC_MSG_ERROR([GLU required])) ])
++AC_ARG_ENABLE([glu],
++    [AS_HELP_STRING([--enable-glu],
++        [build demos which require glu @<:@default=yes@:>@])],
++    [enable_glu="$enableval"],
++    [enable_glu=yes]
++)
+-DEMO_CFLAGS="$DEMO_CFLAGS $GLU_CFLAGS"
+-DEMO_LIBS="$DEMO_LIBS $GLU_LIBS"
++if test "x$enable_glu" = xyes; then
++    PKG_CHECK_MODULES(GLU, [glu], [],
++                     [AC_CHECK_HEADER([GL/glu.h],
++                                      [],
++                                      AC_MSG_ERROR([GLU not found]))
++                      AC_CHECK_LIB([GLU],
++                                   [gluBeginCurve],
++                                   [GLU_LIBS=-lGLU
++                                  glu_enabled=yes],
++                                   AC_MSG_ERROR([GLU required])) ])
++
++    DEMO_CFLAGS="$DEMO_CFLAGS $GLU_CFLAGS"
++    DEMO_LIBS="$DEMO_LIBS $GLU_LIBS"
++fi
+ AC_ARG_ENABLE([egl],
+     [AS_HELP_STRING([--enable-egl],
+@@ -304,6 +323,8 @@ AC_SUBST([WAYLAND_CFLAGS])
+ AC_SUBST([WAYLAND_LIBS])
++AM_CONDITIONAL(HAVE_GLU, test "x$glu_enabled" = "xyes")
++AM_CONDITIONAL(HAVE_GLEW, test "x$glew_enabled" = "xyes")
+ AM_CONDITIONAL(HAVE_EGL, test "x$egl_enabled" = "xyes")
+ AM_CONDITIONAL(HAVE_GLESV1, test "x$glesv1_enabled" = "xyes")
+ AM_CONDITIONAL(HAVE_GLESV2, test "x$glesv2_enabled" = "xyes")
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 1647d64..754c47c 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -23,14 +23,13 @@
+ #    Eric Anholt <eric@anholt.net>
+ SUBDIRS = \
+-      util \
+       data \
+       demos \
+       egl \
+       fp \
+       fpglsl \
+       glsl \
+-        gs \
++      gs \
+       objviewer \
+       osdemos \
+       perf \
+@@ -40,8 +39,13 @@ SUBDIRS = \
+       slang \
+       tests \
+       tools \
+-      trivial \
+-      vp \
+-      vpglsl \
+       wgl \
+       xdemos
++
++if HAVE_GLEW
++SUBDIRS += \
++      vp \
++      vpglsl \
++      util \
++      trivial
++endif
+diff --git a/src/demos/Makefile.am b/src/demos/Makefile.am
+index 41603fa..ab1e3ab 100644
+--- a/src/demos/Makefile.am
++++ b/src/demos/Makefile.am
+@@ -30,91 +30,100 @@ AM_LDFLAGS = \
+       $(DEMO_LIBS) \
+       $(GLUT_LIBS)
++bin_PROGRAMS =
++
+ if HAVE_GLUT
+-bin_PROGRAMS = \
++if HAVE_GLEW
++bin_PROGRAMS += \
+       arbfplight \
+       arbfslight \
+       arbocclude \
+       arbocclude2 \
+-      bounce \
+-      clearspd \
+       copypix \
+       cubemap \
+       cuberender \
+       dinoshade \
+-      dissolve \
+-      drawpix \
+       engine \
+       fbo_firecube \
+       fbotexture \
+-      fire \
+       fogcoord \
+       fplight \
+       fslight \
++      gloss \
++      isosurf \
++      multiarb \
++      paltex \
++      pointblast \
++      projtex \
++      shadowtex \
++      spriteblast \
++      stex3d \
++      textures \
++      vao_demo \
++      winpos
++
++copypix_LDADD = ../util/libutil.la
++cubemap_LDADD = ../util/libutil.la
++cuberender_LDADD = ../util/libutil.la
++engine_LDADD = ../util/libutil.la
++fbo_firecube_LDADD = ../util/libutil.la
++gloss_LDADD = ../util/libutil.la
++isosurf_LDADD = ../util/libutil.la
++multiarb_LDADD = ../util/libutil.la
++projtex_LDADD = ../util/libutil.la
++textures_LDADD = ../util/libutil.la
++winpos_LDADD = ../util/libutil.la
++endif
++
++if HAVE_GLU
++bin_PROGRAMS += \
++      bounce \
++      clearspd \
++      dissolve \
++      drawpix \
++      fire \
+       gamma \
+       gearbox \
+       gears \
+       geartrain \
+       glinfo \
+-      gloss \
+       gltestperf \
+       ipers \
+-      isosurf \
+       lodbias \
+       morph3d \
+-      multiarb \
+-      paltex \
+       pixeltest \
+-      pointblast \
+-      projtex \
+       ray \
+       readpix \
+       reflect \
+       renormal \
+-      shadowtex \
+       singlebuffer \
+       spectex \
+-      spriteblast \
+-      stex3d \
+       teapot \
+       terrain \
+       tessdemo \
+       texcyl \
+       texenv \
+-      textures \
+       trispd \
+       tunnel2 \
+-      tunnel \
+-      vao_demo \
+-      winpos
+-endif
++      tunnel
+ tunnel_SOURCES = \
+       tunnel.c \
+       tunneldat.h
+-copypix_LDADD = ../util/libutil.la
+-cubemap_LDADD = ../util/libutil.la
+-cuberender_LDADD = ../util/libutil.la
+-drawpix_LDADD = ../util/libutil.la
+ dissolve_LDADD = ../util/libutil.la
+-engine_LDADD = ../util/libutil.la
+-fbo_firecube_LDADD = ../util/libutil.la
++drawpix_LDADD = ../util/libutil.la
+ fire_LDADD = ../util/libutil.la
+-gloss_LDADD = ../util/libutil.la
+ ipers_LDADD = ../util/libutil.la
+-isosurf_LDADD = ../util/libutil.la
+ lodbias_LDADD = ../util/libutil.la
+-multiarb_LDADD = ../util/libutil.la
+-projtex_LDADD = ../util/libutil.la
+ readpix_LDADD = ../util/libutil.la
+ reflect_LDADD = ../util/libutil.la
+ teapot_LDADD = ../util/libutil.la
+ texcyl_LDADD = ../util/libutil.la
+-textures_LDADD = ../util/libutil.la
+ tunnel_LDADD = ../util/libutil.la
+ tunnel2_LDADD = ../util/libutil.la
+-winpos_LDADD = ../util/libutil.la
++endif
++endif
+ EXTRA_DIST = \
+       README
+diff --git a/src/egl/Makefile.am b/src/egl/Makefile.am
+index d64a49e..4fe1ca8 100644
+--- a/src/egl/Makefile.am
++++ b/src/egl/Makefile.am
+@@ -24,8 +24,12 @@
+ SUBDIRS = \
+       eglut \
+-      opengl \
+-      openvg \
+       opengles1 \
+       opengles2 \
+       oes_vg
++
++if HAVE_GLU
++SUBDIRS += \
++      opengl \
++      openvg
++endif
+diff --git a/src/egl/opengles1/Makefile.am b/src/egl/opengles1/Makefile.am
+index 7a9828d..3455e75 100644
+--- a/src/egl/opengles1/Makefile.am
++++ b/src/egl/opengles1/Makefile.am
+@@ -36,28 +36,43 @@ AM_LDFLAGS = \
+       $(EGL_LIBS) \
+       -lm
++noinst_PROGRAMS =
++
+ 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 \
+       drawtex_x11 \
+       eglfbdev \
+       es1_info \
+-      gears_screen \
+       gears_x11 \
+       msaa \
+       pbuffer\
+       render_tex \
+       texture_from_pixmap \
+-      torus_screen \
+       torus_x11 \
+-      tri_screen \
+       tri_x11 \
+       two_win
+-endif
+-endif
+ 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
+ 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 41c1b80..74af460 100644
+--- a/src/egl/opengles2/Makefile.am
++++ b/src/egl/opengles2/Makefile.am
+@@ -36,26 +36,29 @@ AM_LDFLAGS = \
+ if HAVE_EGL
+ if HAVE_GLESV2
+ bin_PROGRAMS = \
+-      es2_info \
+-      es2gears_screen \
+-      es2gears_x11 \
+-      es2tri
++      es2gears_screen
++
++es2gears_screen_SOURCES = es2gears.c
++es2gears_screen_LDADD = ../eglut/libeglut_screen.la
++
+ 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
+-es2gears_screen_SOURCES = es2gears.c
++if HAVE_X11
++bin_PROGRAMS += \
++      es2tri \
++      es2_info \
++      es2gears_x11
++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)
++endif
++endif
++endif
+-es2gears_wayland_SOURCES = es2gears.c
+-es2gears_wayland_LDADD = ../eglut/libeglut_wayland.la
+-- 
+2.0.0
+
@@ -1,24 +1,24 @@
-From bc7fa67d13e8032601df5cf04e15c53a7204dcd7 Mon Sep 17 00:00:00 2001
+From 5e10108d76a59abac21c7e540bcfd2ddaccca2cb Mon Sep 17 00:00:00 2001
 From: Drew Moseley <drew_moseley@mentor.com>
 Date: Fri, 9 May 2014 11:50:24 -0400
-Subject: [PATCH] mesa-demos: Use DEMOS_DATA_DIR to locate data files
+Subject: [PATCH 4/9] Use DEMOS_DATA_DIR to locate data files
 
 Upstream-Status: Submitted [https://bugs.freedesktop.org/show_bug.cgi?id=78496]
 Signed-off-by: Drew Moseley <drew_moseley@mentor.com>
 ---
- src/glsl/bezier.c           |    2 +-
- src/glsl/blinking-teapot.c  |    4 ++--
- src/glsl/brick.c            |    4 ++--
- src/glsl/bump.c             |    6 +++---
- src/glsl/convolutions.c     |    2 +-
- src/glsl/mandelbrot.c       |    4 ++--
- src/glsl/multitex.c         |    4 ++--
- src/glsl/simplex-noise.c    |    2 +-
- src/glsl/skinning.c         |    4 ++--
- src/glsl/texdemo1.c         |    8 ++++----
- src/glsl/toyball.c          |    4 ++--
- src/objviewer/objview.c     |   12 ++++++------
- src/perf/glslstateschange.c |    8 ++++----
+ src/glsl/bezier.c           |  2 +-
+ src/glsl/blinking-teapot.c  |  4 ++--
+ src/glsl/brick.c            |  4 ++--
+ src/glsl/bump.c             |  6 +++---
+ src/glsl/convolutions.c     |  2 +-
+ src/glsl/mandelbrot.c       |  4 ++--
+ src/glsl/multitex.c         |  4 ++--
+ src/glsl/simplex-noise.c    |  2 +-
+ src/glsl/skinning.c         |  4 ++--
+ src/glsl/texdemo1.c         |  8 ++++----
+ src/glsl/toyball.c          |  4 ++--
+ src/objviewer/objview.c     | 12 ++++++------
+ src/perf/glslstateschange.c |  8 ++++----
  13 files changed, 32 insertions(+), 32 deletions(-)
 
 diff --git a/src/glsl/bezier.c b/src/glsl/bezier.c
@@ -230,5 +230,5 @@ index 7422b78..dbf8332 100644
     { "tex1",  1, GL_SAMPLER_2D, { 0, 0, 0, 0 }, -1 },
     { "tex2",  1, GL_SAMPLER_2D, { 1, 0, 0, 0 }, -1 },
 -- 
-1.7.9.5
+2.0.0
 
@@ -1,11 +1,11 @@
-From ab76f645e29b0a603ff95d88f976bc35ab6301ee Mon Sep 17 00:00:00 2001
+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 1/2] mesa-demos: Fix build when EGL_MESA_screen_surface
extension isn't present
+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 
+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>
@@ -15,12 +15,19 @@ 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(-)
 
-Index: mesa-demos-8.0.1/src/egl/eglut/eglut.c
-===================================================================
---- mesa-demos-8.0.1.orig/src/egl/eglut/eglut.c
-+++ mesa-demos-8.0.1/src/egl/eglut/eglut.c
-@@ -51,8 +51,9 @@ _eglutNow(void)
+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)
  {
@@ -32,7 +39,7 @@ Index: mesa-demos-8.0.1/src/egl/eglut/eglut.c
        eglDestroySurface(_eglut->dpy, win->surface);
  
     _eglutNativeFiniWindow(win);
-@@ -150,7 +151,9 @@ _eglutCreateWindow(const char *title, in
+@@ -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:
@@ -42,7 +49,7 @@ Index: mesa-demos-8.0.1/src/egl/eglut/eglut.c
        win->surface = win->native.u.surface;
        break;
     default:
-@@ -264,8 +267,10 @@ eglutDestroyWindow(int win)
+@@ -289,8 +292,10 @@ eglutDestroyWindow(int win)
     if (window->index != win)
        return;
  
@@ -53,11 +60,11 @@ Index: mesa-demos-8.0.1/src/egl/eglut/eglut.c
        eglMakeCurrent(_eglut->dpy, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT);
  
     _eglutDestroyWindow(_eglut->current);
-Index: mesa-demos-8.0.1/src/egl/eglut/eglut_screen.c
-===================================================================
---- mesa-demos-8.0.1.orig/src/egl/eglut/eglut_screen.c
-+++ mesa-demos-8.0.1/src/egl/eglut/eglut_screen.c
-@@ -10,26 +10,33 @@
+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
  
@@ -91,7 +98,7 @@ Index: mesa-demos-8.0.1/src/egl/eglut/eglut_screen.c
  static void
  init_kms(void)
  {
-@@ -69,19 +76,23 @@ init_kms(void)
+@@ -94,19 +101,23 @@ init_kms(void)
     kms_width = width;
     kms_height = height;
  }
@@ -115,7 +122,7 @@ Index: mesa-demos-8.0.1/src/egl/eglut/eglut_screen.c
     init_kms();
  
     i = 0;
-@@ -103,14 +114,17 @@ _eglutNativeInitWindow(struct eglut_wind
+@@ -128,14 +139,17 @@ _eglutNativeInitWindow(struct eglut_window *win, const char *title,
  
     win->native.width = kms_width;
     win->native.height = kms_height;
@@ -133,10 +140,10 @@ Index: mesa-demos-8.0.1/src/egl/eglut/eglut_screen.c
  }
  
  void
-Index: mesa-demos-8.0.1/src/egl/opengl/demo1.c
-===================================================================
---- mesa-demos-8.0.1.orig/src/egl/opengl/demo1.c
-+++ mesa-demos-8.0.1/src/egl/opengl/demo1.c
+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)
@@ -153,10 +160,10 @@ Index: mesa-demos-8.0.1/src/egl/opengl/demo1.c
  }
  
  /**
-Index: mesa-demos-8.0.1/src/egl/opengl/demo2.c
-===================================================================
---- mesa-demos-8.0.1.orig/src/egl/opengl/demo2.c
-+++ mesa-demos-8.0.1/src/egl/opengl/demo2.c
+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*/
@@ -204,10 +211,10 @@ Index: mesa-demos-8.0.1/src/egl/opengl/demo2.c
  
     return 0;
  }
-Index: mesa-demos-8.0.1/src/egl/opengl/demo3.c
-===================================================================
---- mesa-demos-8.0.1.orig/src/egl/opengl/demo3.c
-+++ mesa-demos-8.0.1/src/egl/opengl/demo3.c
+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, 
  };
@@ -217,7 +224,7 @@ Index: mesa-demos-8.0.1/src/egl/opengl/demo3.c
  static void Init(void)
  {
  
-@@ -551,11 +551,13 @@ write_ppm(const char *filename, const GL
+@@ -551,11 +551,13 @@ write_ppm(const char *filename, const GLubyte *buffer, int width, int height)
        fclose(f);
     }
  }
@@ -255,3 +262,6 @@ Index: mesa-demos-8.0.1/src/egl/opengl/demo3.c
  
     return 0;
  }
+-- 
+2.0.0
+
@@ -1,11 +1,11 @@
-From cf90a5c0c173d017a80cde057da57c365b3b1a40 Mon Sep 17 00:00:00 2001
+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 2/2] mesa-demos: Query display for EGL_MESA_screen_surface
extension before using it
+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 
+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>
@@ -15,11 +15,14 @@ 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(+)
 
-Index: mesa-demos-8.0.1/src/egl/opengl/demo1.c
-===================================================================
---- mesa-demos-8.0.1.orig/src/egl/opengl/demo1.c
-+++ mesa-demos-8.0.1/src/egl/opengl/demo1.c
+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));
@@ -33,3 +36,6 @@ Index: mesa-demos-8.0.1/src/egl/opengl/demo1.c
     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
new file mode 100644 (file)
index 0000000..89d2fac
--- /dev/null
@@ -0,0 +1,74 @@
+From d930b2da57f7c9efb80c8cef8f8adad15bbbc0d3 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
+
+Upstream-Status: Pending
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ src/egl/opengl/Makefile.am    |  2 +-
+ src/egl/opengles1/Makefile.am | 10 ++++------
+ src/egl/openvg/Makefile.am    |  2 +-
+ 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
+--- a/src/egl/opengl/Makefile.am
++++ b/src/egl/opengl/Makefile.am
+@@ -50,7 +50,7 @@ endif
+ endif
+ 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 \
+diff --git a/src/egl/openvg/Makefile.am b/src/egl/openvg/Makefile.am
+index 7318a43..b545225 100644
+--- a/src/egl/openvg/Makefile.am
++++ b/src/egl/openvg/Makefile.am
+@@ -49,7 +49,7 @@ endif
+ if HAVE_EGL
+ if HAVE_VG
+-noinst_PROGRAMS = \
++bin_PROGRAMS = \
+       lion_screen \
+       sp_screen \
+       $(EGL_X11_DEMOS)
+-- 
+2.0.0
+
diff --git a/meta/recipes-graphics/mesa/mesa-demos/0008-glsl-perf-Add-few-missing-.glsl-.vert-.frag-files-to.patch b/meta/recipes-graphics/mesa/mesa-demos/0008-glsl-perf-Add-few-missing-.glsl-.vert-.frag-files-to.patch
new file mode 100644 (file)
index 0000000..a608575
--- /dev/null
@@ -0,0 +1,101 @@
+From 0b6f95f9b8ece22e9856c150e4be29fd86eaf546 Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Thu, 10 Jul 2014 14:29:27 +0200
+Subject: [PATCH 8/9] glsl, perf: Add few missing .glsl, .vert, .frag files to
+ EXTRA_DATA
+
+Upstream-Status: Pending
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ src/fpglsl/Makefile.am |  2 ++
+ src/glsl/Makefile.am   | 10 ++++++++--
+ src/perf/Makefile.am   |  6 ++++++
+ src/vpglsl/Makefile.am |  1 +
+ 4 files changed, 17 insertions(+), 2 deletions(-)
+
+diff --git a/src/fpglsl/Makefile.am b/src/fpglsl/Makefile.am
+index 47c1039..fd43c91 100644
+--- a/src/fpglsl/Makefile.am
++++ b/src/fpglsl/Makefile.am
+@@ -39,10 +39,12 @@ noinst_PROGRAMS = \
+ endif
+ EXTRA_DIST = \
++      depth-read.glsl \
+       dowhile2.glsl \
+       dowhile.glsl \
+       forbreak.glsl \
+       for.glsl \
++      infinite-loop.glsl \
+       mov.glsl \
+       mov-imm.glsl \
+       simpleif.glsl \
+diff --git a/src/glsl/Makefile.am b/src/glsl/Makefile.am
+index 4faa8db..079a29d 100644
+--- a/src/glsl/Makefile.am
++++ b/src/glsl/Makefile.am
+@@ -37,7 +37,7 @@ AM_LDFLAGS = \
+ if HAVE_GLUT
+ bin_PROGRAMS = \
+       array \
+-        bezier \
++      bezier \
+       bitmap \
+       brick \
+       bump \
+@@ -123,12 +123,16 @@ EXTRA_DIST = \
+       CH06-brick.vert \
+       CH11-bumpmap.frag \
+       CH11-bumpmap.vert \
++      CH11-bumpmaptex.frag \
+       CH11-toyball.frag \
+       CH11-toyball.vert \
+       CH18-mandel.frag \
+       CH18-mandel.vert \
+-        bezier.geom \
++      bezier.geom \
+       brick.shtest \
++      blinking-teapot.frag \
++      blinking-teapot.vert \
++      convolution.frag \
+       convolution.vert \
+       cubemap.frag \
+       mandelbrot.shtest \
+@@ -138,5 +142,7 @@ EXTRA_DIST = \
+       reflect.vert \
+       shadowtex.frag \
+       simple.vert \
++      simplex-noise.glsl \
+       skinning.frag \
++      skinning.vert \
+       toyball.shtest
+diff --git a/src/perf/Makefile.am b/src/perf/Makefile.am
+index 5363c58..c5cca8d 100644
+--- a/src/perf/Makefile.am
++++ b/src/perf/Makefile.am
+@@ -57,3 +57,9 @@ bin_PROGRAMS = \
+ endif
+ glslstateschange_LDADD = libperf.la ../util/libutil.la
++
++EXTRA_DIST = \
++      glslstateschange1.frag \
++      glslstateschange1.vert \
++      glslstateschange2.frag \
++      glslstateschange2.vert
+diff --git a/src/vpglsl/Makefile.am b/src/vpglsl/Makefile.am
+index 4a85ed4..48b08f4 100644
+--- a/src/vpglsl/Makefile.am
++++ b/src/vpglsl/Makefile.am
+@@ -44,6 +44,7 @@ EXTRA_DIST = \
+       func2.glsl \
+       ifelse.glsl \
+       if.glsl \
++      infinite-loop.glsl \
+       mov.glsl \
+       nestedifs.glsl \
+       nestedswizzle.glsl \
+-- 
+2.0.0
+
diff --git a/meta/recipes-graphics/mesa/mesa-demos/0009-glsl-perf-Install-.glsl-.vert-.frag-files.patch b/meta/recipes-graphics/mesa/mesa-demos/0009-glsl-perf-Install-.glsl-.vert-.frag-files.patch
new file mode 100644 (file)
index 0000000..1262dee
--- /dev/null
@@ -0,0 +1,73 @@
+From c8c3de5417d6b6c7d7579c528c0cab718f4bfdb6 Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Thu, 10 Jul 2014 14:48:12 +0200
+Subject: [PATCH 9/9] glsl, perf: Install .glsl, .vert, .frag files
+
+Upstream-Status: Pending
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ src/fpglsl/Makefile.am | 3 ++-
+ src/glsl/Makefile.am   | 3 ++-
+ src/perf/Makefile.am   | 3 ++-
+ src/vpglsl/Makefile.am | 3 ++-
+ 4 files changed, 8 insertions(+), 4 deletions(-)
+
+diff --git a/src/fpglsl/Makefile.am b/src/fpglsl/Makefile.am
+index fd43c91..2bf51de 100644
+--- a/src/fpglsl/Makefile.am
++++ b/src/fpglsl/Makefile.am
+@@ -38,7 +38,8 @@ noinst_PROGRAMS = \
+       fp-tri
+ endif
+-EXTRA_DIST = \
++demosdatadir=$(datadir)/$(PACKAGE)/
++dist_demosdata_DATA= \
+       depth-read.glsl \
+       dowhile2.glsl \
+       dowhile.glsl \
+diff --git a/src/glsl/Makefile.am b/src/glsl/Makefile.am
+index 079a29d..f66ec29 100644
+--- a/src/glsl/Makefile.am
++++ b/src/glsl/Makefile.am
+@@ -118,7 +118,8 @@ vert_or_frag_only_LDADD = ../util/libutil.la
+ vert_tex_LDADD = ../util/libutil.la
+ vsraytrace_LDADD = ../util/libutil.la
+-EXTRA_DIST = \
++demosdatadir=$(datadir)/$(PACKAGE)/
++dist_demosdata_DATA= \
+       CH06-brick.frag \
+       CH06-brick.vert \
+       CH11-bumpmap.frag \
+diff --git a/src/perf/Makefile.am b/src/perf/Makefile.am
+index c5cca8d..140256d 100644
+--- a/src/perf/Makefile.am
++++ b/src/perf/Makefile.am
+@@ -58,7 +58,8 @@ endif
+ glslstateschange_LDADD = libperf.la ../util/libutil.la
+-EXTRA_DIST = \
++demosdatadir=$(datadir)/$(PACKAGE)/
++dist_demosdata_DATA= \
+       glslstateschange1.frag \
+       glslstateschange1.vert \
+       glslstateschange2.frag \
+diff --git a/src/vpglsl/Makefile.am b/src/vpglsl/Makefile.am
+index 48b08f4..5526867 100644
+--- a/src/vpglsl/Makefile.am
++++ b/src/vpglsl/Makefile.am
+@@ -38,7 +38,8 @@ noinst_PROGRAMS = \
+       vp-tris
+ endif
+-EXTRA_DIST = \
++demosdatadir=$(datadir)/$(PACKAGE)/
++dist_demosdata_DATA= \
+       for.glsl \
+       func.glsl \
+       func2.glsl \
+-- 
+2.0.0
+
@@ -9,22 +9,24 @@ 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"
 
-DEPENDS = "virtual/libgl glew"
-
 SRC_URI = "ftp://ftp.freedesktop.org/pub/mesa/demos/${PV}/${BPN}-${PV}.tar.bz2 \
-        file://glut.patch \
-        file://egl-mesa-screen-surface-build-fix.patch \
-        file://egl-mesa-screen-surface-query.patch \
-        file://0001-mesa-demos-Add-missing-data-files.patch \
-        file://0001-mesa-demos-Use-DEMOS_DATA_DIR-to-locate-data-files.patch"
-
-SRC_URI[md5sum] = "9df33ba69a26bbfbc7c8148602e59542"
-SRC_URI[sha256sum] = "9703fa0646b32a1e68d2abf5628f936f77bf97c69ffcaac90de380820a87a828"
+    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 \
+"
+SRC_URI[md5sum] = "72613a2c8c013716db02e3ff59d29061"
+SRC_URI[sha256sum] = "e4bfecb5816ddd4b7b37c1bc876b63f1f7f06fda5879221a9774d0952f90ba92"
 
 inherit autotools pkgconfig
 
-PACKAGECONFIG ?= "drm osmesa freetype2 gbm egl gles1 gles2 \
-                  ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}"
+PACKAGECONFIG ?= "drm osmesa freetype2 gbm egl gles1 gles2 glu \
+                  ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 glew', '', d)}"
 
 # The Wayland code doesn't work with Wayland 1.0, so disable it for now
 #${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)}"
@@ -42,12 +44,10 @@ PACKAGECONFIG[osmesa] = "--enable-osmesa,--disable-osmesa,"
 PACKAGECONFIG[vg] = "--enable-vg,--disable-vg,virtual/libvg"
 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"
 
-do_install_append () {
-    install -m 0644 ${S}/src/perf/*.frag \
-                    ${S}/src/perf/*.vert \
-                    ${S}/src/glsl/*.frag \
-                    ${S}/src/glsl/*.vert \
-                    ${S}/src/glsl/*.geom \
-                    ${S}/src/glsl/*.glsl ${D}${datadir}/${BPN}
+do_install_append() {
+    # it can be completely empty when all PACKAGECONFIG options are disabled
+    rmdir --ignore-fail-on-non-empty ${D}${bindir}
 }