All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/1] package/glslsandbox-player: new package
@ 2019-04-23 19:29 Julien Olivain
  2019-07-04 21:25 ` [Buildroot] [PATCH v2] " Julien Olivain
  0 siblings, 1 reply; 5+ messages in thread
From: Julien Olivain @ 2019-04-23 19:29 UTC (permalink / raw)
  To: buildroot

GLSL Sandbox standalone player allow one to run and render
(most of) nice shaders available online on the
http://glslsandbox.com/ website, but without the need of an
Internet connection, a web browser or any of its
dependencies. Instead, the only requirement of
glslsandbox-player is a working EGL and GLESv2 libraries.

This package is useful for stressing and testing GLES shader
compiler in GPU drivers.

https://github.com/jolivain/glslsandbox-player

Signed-off-by: Julien Olivain <juju@cotds.org>
---
 DEVELOPERS                                    |   1 +
 package/Config.in                             |   1 +
 package/glslsandbox-player/Config.in          | 111 ++++++++++++++++++
 .../glslsandbox-player/glslsandbox-player.mk  |  84 +++++++++++++
 4 files changed, 197 insertions(+)
 create mode 100644 package/glslsandbox-player/Config.in
 create mode 100644 package/glslsandbox-player/glslsandbox-player.mk

diff --git a/DEVELOPERS b/DEVELOPERS
index e5b69c3ade..dbe0270724 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -1259,6 +1259,7 @@ F:	package/paho-mqtt-c
 N:	Julien Olivain <juju@cotds.org>
 F:	board/technexion/imx8mpico/
 F:	configs/imx8mpico_defconfig
+F:	package/glslsandbox-player/
 
 N:	Julien Viard de Galbert <julien@vdg.name>
 F:	package/dieharder/
diff --git a/package/Config.in b/package/Config.in
index 091b16d02d..43bad27693 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -271,6 +271,7 @@ comment "Graphic applications"
 	source "package/fswebcam/Config.in"
 	source "package/ghostscript/Config.in"
 	source "package/glmark2/Config.in"
+	source "package/glslsandbox-player/Config.in"
 	source "package/gnuplot/Config.in"
 	source "package/jhead/Config.in"
 	source "package/kmscube/Config.in"
diff --git a/package/glslsandbox-player/Config.in b/package/glslsandbox-player/Config.in
new file mode 100644
index 0000000000..eacd060fc7
--- /dev/null
+++ b/package/glslsandbox-player/Config.in
@@ -0,0 +1,111 @@
+config BR2_PACKAGE_GLSLSANDBOX_PLAYER
+	bool "glslsandbox-player"
+	depends on BR2_PACKAGE_HAS_LIBEGL
+	depends on BR2_PACKAGE_HAS_LIBGLES
+	help
+	  GLSL Sandbox standalone player allow one to run and render
+	  (most of) nice shaders available online on the
+	  http://glslsandbox.com/ website, but without the need of an
+	  Internet connection, a web browser or any of its
+	  dependencies. Instead, the only requirement of
+	  glslsandbox-player is a working EGL and GLESv2 libraries.
+
+	  This package is useful for stressing and testing GLES shader
+	  compiler in GPU drivers.
+
+	  https://github.com/jolivain/glslsandbox-player
+
+if BR2_PACKAGE_GLSLSANDBOX_PLAYER
+
+config BR2_PACKAGE_GLSLSANDBOX_PLAYER_DL_SHADERS
+	bool "Download shaders from http://glslsandbox.com/"
+	help
+	  Download some shaders from http://glslsandbox.com/ to be
+	  embedded in the binary
+
+config BR2_PACKAGE_GLSLSANDBOX_PLAYER_PNG
+	bool "Enable PNG support"
+	select BR2_PACKAGE_LIBPNG
+	help
+	  Enable PNG texture loading support
+
+config BR2_PACKAGE_GLSLSANDBOX_PLAYER_TESTING
+	bool "Enable testing"
+	help
+	  Generate and install test suite on target
+
+config BR2_PACKAGE_GLSLSANDBOX_PLAYER_SCRIPTS
+	bool "Install scripts"
+	depends on BR2_USE_MMU # bash, python
+	depends on BR2_USE_WCHAR # python
+	depends on BR2_TOOLCHAIN_HAS_THREADS # python
+	depends on !BR2_STATIC_LIBS # python
+	select BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # bash
+	select BR2_PACKAGE_PYTHON
+	select BR2_PACKAGE_BASH
+	select BR2_PACKAGE_LIBCURL
+	select BR2_PACKAGE_CURL
+	select BR2_PACKAGE_OPENSSL
+	select BR2_PACKAGE_LIBOPENSSL_BIN if BR2_PACKAGE_LIBOPENSSL
+	select BR2_PACKAGE_LIBRESSL_BIN if BR2_PACKAGE_LIBRESSL
+	select BR2_PACKAGE_MAKE
+	select BR2_PACKAGE_COREUTILS
+	select BR2_PACKAGE_JPEG
+	select BR2_PACKAGE_IMAGEMAGICK
+	help
+	  Install additional helper scripts
+
+choice
+	prompt "Native windowing system"
+	default BR2_PACKAGE_GLSLSANDBOX_PLAYER_RPI   if BR2_PACKAGE_RPI_USERLAND
+	default BR2_PACKAGE_GLSLSANDBOX_PLAYER_TISGX if BR2_PACKAGE_TI_SGX_UM
+	default BR2_PACKAGE_GLSLSANDBOX_PLAYER_MALI  if BR2_PACKAGE_SUNXI_MALI_MAINLINE
+	default BR2_PACKAGE_GLSLSANDBOX_PLAYER_WL    if BR2_PACKAGE_WAYLAND
+	default BR2_PACKAGE_GLSLSANDBOX_PLAYER_X11   if BR2_PACKAGE_XORG7
+	default BR2_PACKAGE_GLSLSANDBOX_PLAYER_SDL2  if BR2_PACKAGE_SDL2_OPENGLES
+	help
+	  Select the native windowing system you wish to use.
+
+config BR2_PACKAGE_GLSLSANDBOX_PLAYER_KMS
+	bool "KMS/DRM/GBM"
+	select BR2_PACKAGE_LIBDRM
+
+config BR2_PACKAGE_GLSLSANDBOX_PLAYER_VIVFB
+	bool "Vivante Frame Buffer"
+	depends on BR2_PACKAGE_IMX_GPU_VIV
+
+config BR2_PACKAGE_GLSLSANDBOX_PLAYER_RPI
+	bool "RaspberryPI Frame Buffer"
+	depends on BR2_PACKAGE_RPI_USERLAND
+
+config BR2_PACKAGE_GLSLSANDBOX_PLAYER_TISGX
+	bool "TI/SGX Frame Buffer"
+	depends on BR2_PACKAGE_TI_SGX_UM
+
+config BR2_PACKAGE_GLSLSANDBOX_PLAYER_MALI
+	bool "Allwinner ARM/Mali Frame Buffer"
+	depends on BR2_PACKAGE_SUNXI_MALI_MAINLINE
+
+config BR2_PACKAGE_GLSLSANDBOX_PLAYER_WL
+	bool "Wayland"
+	depends on BR2_PACKAGE_WAYLAND
+
+config BR2_PACKAGE_GLSLSANDBOX_PLAYER_X11
+	bool "X11"
+	depends on BR2_PACKAGE_XORG7
+
+config BR2_PACKAGE_GLSLSANDBOX_PLAYER_SDL2
+	bool "SDL2"
+	depends on BR2_PACKAGE_SDL2_OPENGLES
+
+endchoice
+
+if BR2_PACKAGE_GLSLSANDBOX_PLAYER_WL
+config BR2_PACKAGE_GLSLSANDBOX_PLAYER_WL_IVI
+	bool "Wayland IVI shell support"
+endif
+
+endif
+
+comment "glslsandbox-player needs an openGL ES and EGL driver"
+	depends on !BR2_PACKAGE_HAS_LIBEGL || !BR2_PACKAGE_HAS_LIBGLES
diff --git a/package/glslsandbox-player/glslsandbox-player.mk b/package/glslsandbox-player/glslsandbox-player.mk
new file mode 100644
index 0000000000..a0b40979c4
--- /dev/null
+++ b/package/glslsandbox-player/glslsandbox-player.mk
@@ -0,0 +1,84 @@
+################################################################################
+#
+# glslsandbox-player
+#
+################################################################################
+
+GLSLSANDBOX_PLAYER_VERSION = 2298dbba6e32118b3e7686eb03ad91cb3017249a
+GLSLSANDBOX_PLAYER_SITE = https://github.com/jolivain/glslsandbox-player
+GLSLSANDBOX_PLAYER_SITE_METHOD = git
+GLSLSANDBOX_PLAYER_AUTORECONF = YES
+GLSLSANDBOX_PLAYER_DEPENDENCIES = libegl libgles host-pkgconf
+
+GLSLSANDBOX_PLAYER_LICENSE = BSD-2-Clause
+GLSLSANDBOX_PLAYER_LICENSE_FILES = LICENSE
+
+ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_DL_SHADERS),y)
+GLSLSANDBOX_PLAYER_DEPENDENCIES += host-libcurl
+else
+GLSLSANDBOX_PLAYER_CONF_OPTS += --with-shader-list=shader-local.list
+endif
+
+ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_PNG),y)
+GLSLSANDBOX_PLAYER_DEPENDENCIES += libpng
+GLSLSANDBOX_PLAYER_CONF_OPTS += --with-libpng
+else
+GLSLSANDBOX_PLAYER_CONF_OPTS += --without-libpng
+endif
+
+ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_TESTING),y)
+GLSLSANDBOX_PLAYER_CONF_OPTS += --enable-testing --enable-install-testsuite
+else
+GLSLSANDBOX_PLAYER_CONF_OPTS += --disable-testing
+endif
+
+ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_SCRIPTS),y)
+GLSLSANDBOX_PLAYER_CONF_OPTS += --enable-install-scripts
+else
+GLSLSANDBOX_PLAYER_CONF_OPTS += --disable-install-scripts
+endif
+
+ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_KMS),y)
+# gbm dependency is not needed, as it is normally packaged with
+# libegl/libgles drivers.
+GLSLSANDBOX_PLAYER_DEPENDENCIES += libdrm
+GLSLSANDBOX_PLAYER_CONF_OPTS += --with-native-gfx=kms
+endif
+
+ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_RPI),y)
+GLSLSANDBOX_PLAYER_DEPENDENCIES += rpi-userland
+GLSLSANDBOX_PLAYER_CONF_OPTS += --with-native-gfx=rpi
+endif
+
+ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_TISGX),y)
+GLSLSANDBOX_PLAYER_DEPENDENCIES += ti-sgx-um
+GLSLSANDBOX_PLAYER_CONF_OPTS += --with-native-gfx=tisgx
+endif
+
+ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_MALI),y)
+GLSLSANDBOX_PLAYER_DEPENDENCIES += sunxi-mali-mainline
+GLSLSANDBOX_PLAYER_CONF_OPTS += --with-native-gfx=mali
+endif
+
+ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_WL),y)
+GLSLSANDBOX_PLAYER_DEPENDENCIES += wayland
+GLSLSANDBOX_PLAYER_CONF_OPTS += --with-native-gfx=wl
+
+ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_WL_IVI),y)
+GLSLSANDBOX_PLAYER_CONF_OPTS += --enable-ivi
+else
+GLSLSANDBOX_PLAYER_CONF_OPTS += --disable-ivi
+endif
+endif
+
+ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_X11),y)
+GLSLSANDBOX_PLAYER_DEPENDENCIES += xlib_libX11
+GLSLSANDBOX_PLAYER_CONF_OPTS += --with-native-gfx=x11
+endif
+
+ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_SDL2),y)
+GLSLSANDBOX_PLAYER_DEPENDENCIES += sdl2
+GLSLSANDBOX_PLAYER_CONF_OPTS += --with-native-gfx=sdl2
+endif
+
+$(eval $(autotools-package))
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH v2] package/glslsandbox-player: new package
  2019-04-23 19:29 [Buildroot] [PATCH 1/1] package/glslsandbox-player: new package Julien Olivain
@ 2019-07-04 21:25 ` Julien Olivain
  2019-08-03  9:08   ` Thomas Petazzoni
  2019-08-23 20:57   ` [Buildroot] [PATCH v3 1/1] " Julien Olivain
  0 siblings, 2 replies; 5+ messages in thread
From: Julien Olivain @ 2019-07-04 21:25 UTC (permalink / raw)
  To: buildroot

GLSL Sandbox standalone player allow one to run and render
(most of) nice shaders available online on the
http://glslsandbox.com/ website, but without the need of an
Internet connection, a web browser or any of its
dependencies. Instead, the only requirement of
glslsandbox-player is a working EGL and GLESv2 libraries.

This package is useful for stressing and testing GLES shader
compiler in GPU drivers.

https://github.com/jolivain/glslsandbox-player

Signed-off-by: Julien Olivain <juju@cotds.org>

---
Changes v1 -> v2:
  - add missing VIVFB windowing system
  - use a tag instead of commit id for version

Signed-off-by: Julien Olivain <juju@cotds.org>
---
 DEVELOPERS                                    |   1 +
 package/Config.in                             |   1 +
 package/glslsandbox-player/Config.in          | 111 ++++++++++++++++++
 .../glslsandbox-player/glslsandbox-player.mk  |  89 ++++++++++++++
 4 files changed, 202 insertions(+)
 create mode 100644 package/glslsandbox-player/Config.in
 create mode 100644 package/glslsandbox-player/glslsandbox-player.mk

diff --git a/DEVELOPERS b/DEVELOPERS
index e9c521f400..8b23bfbe79 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -1271,6 +1271,7 @@ F:	board/technexion/imx8mmpico/
 F:	board/technexion/imx8mpico/
 F:	configs/imx8mmpico_defconfig
 F:	configs/imx8mpico_defconfig
+F:	package/glslsandbox-player/
 
 N:	Julien Viard de Galbert <julien@vdg.name>
 F:	package/dieharder/
diff --git a/package/Config.in b/package/Config.in
index d501b5a65b..9be9b3f172 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -272,6 +272,7 @@ comment "Graphic applications"
 	source "package/fswebcam/Config.in"
 	source "package/ghostscript/Config.in"
 	source "package/glmark2/Config.in"
+	source "package/glslsandbox-player/Config.in"
 	source "package/gnuplot/Config.in"
 	source "package/jhead/Config.in"
 	source "package/kmscube/Config.in"
diff --git a/package/glslsandbox-player/Config.in b/package/glslsandbox-player/Config.in
new file mode 100644
index 0000000000..eacd060fc7
--- /dev/null
+++ b/package/glslsandbox-player/Config.in
@@ -0,0 +1,111 @@
+config BR2_PACKAGE_GLSLSANDBOX_PLAYER
+	bool "glslsandbox-player"
+	depends on BR2_PACKAGE_HAS_LIBEGL
+	depends on BR2_PACKAGE_HAS_LIBGLES
+	help
+	  GLSL Sandbox standalone player allow one to run and render
+	  (most of) nice shaders available online on the
+	  http://glslsandbox.com/ website, but without the need of an
+	  Internet connection, a web browser or any of its
+	  dependencies. Instead, the only requirement of
+	  glslsandbox-player is a working EGL and GLESv2 libraries.
+
+	  This package is useful for stressing and testing GLES shader
+	  compiler in GPU drivers.
+
+	  https://github.com/jolivain/glslsandbox-player
+
+if BR2_PACKAGE_GLSLSANDBOX_PLAYER
+
+config BR2_PACKAGE_GLSLSANDBOX_PLAYER_DL_SHADERS
+	bool "Download shaders from http://glslsandbox.com/"
+	help
+	  Download some shaders from http://glslsandbox.com/ to be
+	  embedded in the binary
+
+config BR2_PACKAGE_GLSLSANDBOX_PLAYER_PNG
+	bool "Enable PNG support"
+	select BR2_PACKAGE_LIBPNG
+	help
+	  Enable PNG texture loading support
+
+config BR2_PACKAGE_GLSLSANDBOX_PLAYER_TESTING
+	bool "Enable testing"
+	help
+	  Generate and install test suite on target
+
+config BR2_PACKAGE_GLSLSANDBOX_PLAYER_SCRIPTS
+	bool "Install scripts"
+	depends on BR2_USE_MMU # bash, python
+	depends on BR2_USE_WCHAR # python
+	depends on BR2_TOOLCHAIN_HAS_THREADS # python
+	depends on !BR2_STATIC_LIBS # python
+	select BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # bash
+	select BR2_PACKAGE_PYTHON
+	select BR2_PACKAGE_BASH
+	select BR2_PACKAGE_LIBCURL
+	select BR2_PACKAGE_CURL
+	select BR2_PACKAGE_OPENSSL
+	select BR2_PACKAGE_LIBOPENSSL_BIN if BR2_PACKAGE_LIBOPENSSL
+	select BR2_PACKAGE_LIBRESSL_BIN if BR2_PACKAGE_LIBRESSL
+	select BR2_PACKAGE_MAKE
+	select BR2_PACKAGE_COREUTILS
+	select BR2_PACKAGE_JPEG
+	select BR2_PACKAGE_IMAGEMAGICK
+	help
+	  Install additional helper scripts
+
+choice
+	prompt "Native windowing system"
+	default BR2_PACKAGE_GLSLSANDBOX_PLAYER_RPI   if BR2_PACKAGE_RPI_USERLAND
+	default BR2_PACKAGE_GLSLSANDBOX_PLAYER_TISGX if BR2_PACKAGE_TI_SGX_UM
+	default BR2_PACKAGE_GLSLSANDBOX_PLAYER_MALI  if BR2_PACKAGE_SUNXI_MALI_MAINLINE
+	default BR2_PACKAGE_GLSLSANDBOX_PLAYER_WL    if BR2_PACKAGE_WAYLAND
+	default BR2_PACKAGE_GLSLSANDBOX_PLAYER_X11   if BR2_PACKAGE_XORG7
+	default BR2_PACKAGE_GLSLSANDBOX_PLAYER_SDL2  if BR2_PACKAGE_SDL2_OPENGLES
+	help
+	  Select the native windowing system you wish to use.
+
+config BR2_PACKAGE_GLSLSANDBOX_PLAYER_KMS
+	bool "KMS/DRM/GBM"
+	select BR2_PACKAGE_LIBDRM
+
+config BR2_PACKAGE_GLSLSANDBOX_PLAYER_VIVFB
+	bool "Vivante Frame Buffer"
+	depends on BR2_PACKAGE_IMX_GPU_VIV
+
+config BR2_PACKAGE_GLSLSANDBOX_PLAYER_RPI
+	bool "RaspberryPI Frame Buffer"
+	depends on BR2_PACKAGE_RPI_USERLAND
+
+config BR2_PACKAGE_GLSLSANDBOX_PLAYER_TISGX
+	bool "TI/SGX Frame Buffer"
+	depends on BR2_PACKAGE_TI_SGX_UM
+
+config BR2_PACKAGE_GLSLSANDBOX_PLAYER_MALI
+	bool "Allwinner ARM/Mali Frame Buffer"
+	depends on BR2_PACKAGE_SUNXI_MALI_MAINLINE
+
+config BR2_PACKAGE_GLSLSANDBOX_PLAYER_WL
+	bool "Wayland"
+	depends on BR2_PACKAGE_WAYLAND
+
+config BR2_PACKAGE_GLSLSANDBOX_PLAYER_X11
+	bool "X11"
+	depends on BR2_PACKAGE_XORG7
+
+config BR2_PACKAGE_GLSLSANDBOX_PLAYER_SDL2
+	bool "SDL2"
+	depends on BR2_PACKAGE_SDL2_OPENGLES
+
+endchoice
+
+if BR2_PACKAGE_GLSLSANDBOX_PLAYER_WL
+config BR2_PACKAGE_GLSLSANDBOX_PLAYER_WL_IVI
+	bool "Wayland IVI shell support"
+endif
+
+endif
+
+comment "glslsandbox-player needs an openGL ES and EGL driver"
+	depends on !BR2_PACKAGE_HAS_LIBEGL || !BR2_PACKAGE_HAS_LIBGLES
diff --git a/package/glslsandbox-player/glslsandbox-player.mk b/package/glslsandbox-player/glslsandbox-player.mk
new file mode 100644
index 0000000000..b3048345ce
--- /dev/null
+++ b/package/glslsandbox-player/glslsandbox-player.mk
@@ -0,0 +1,89 @@
+################################################################################
+#
+# glslsandbox-player
+#
+################################################################################
+
+GLSLSANDBOX_PLAYER_VERSION = v2019.06.16
+GLSLSANDBOX_PLAYER_SITE = https://github.com/jolivain/glslsandbox-player
+GLSLSANDBOX_PLAYER_SITE_METHOD = git
+GLSLSANDBOX_PLAYER_AUTORECONF = YES
+GLSLSANDBOX_PLAYER_DEPENDENCIES = libegl libgles host-pkgconf
+
+GLSLSANDBOX_PLAYER_LICENSE = BSD-2-Clause
+GLSLSANDBOX_PLAYER_LICENSE_FILES = LICENSE
+
+ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_DL_SHADERS),y)
+GLSLSANDBOX_PLAYER_DEPENDENCIES += host-libcurl
+else
+GLSLSANDBOX_PLAYER_CONF_OPTS += --with-shader-list=shader-local.list
+endif
+
+ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_PNG),y)
+GLSLSANDBOX_PLAYER_DEPENDENCIES += libpng
+GLSLSANDBOX_PLAYER_CONF_OPTS += --with-libpng
+else
+GLSLSANDBOX_PLAYER_CONF_OPTS += --without-libpng
+endif
+
+ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_TESTING),y)
+GLSLSANDBOX_PLAYER_CONF_OPTS += --enable-testing --enable-install-testsuite
+else
+GLSLSANDBOX_PLAYER_CONF_OPTS += --disable-testing
+endif
+
+ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_SCRIPTS),y)
+GLSLSANDBOX_PLAYER_CONF_OPTS += --enable-install-scripts
+else
+GLSLSANDBOX_PLAYER_CONF_OPTS += --disable-install-scripts
+endif
+
+ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_KMS),y)
+# gbm dependency is not needed, as it is normally packaged with
+# libegl/libgles drivers.
+GLSLSANDBOX_PLAYER_DEPENDENCIES += libdrm
+GLSLSANDBOX_PLAYER_CONF_OPTS += --with-native-gfx=kms
+endif
+
+ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_VIVFB),y)
+GLSLSANDBOX_PLAYER_DEPENDENCIES += imx-gpu-viv
+GLSLSANDBOX_PLAYER_CONF_OPTS += --with-native-gfx=vivfb
+endif
+
+ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_RPI),y)
+GLSLSANDBOX_PLAYER_DEPENDENCIES += rpi-userland
+GLSLSANDBOX_PLAYER_CONF_OPTS += --with-native-gfx=rpi
+endif
+
+ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_TISGX),y)
+GLSLSANDBOX_PLAYER_DEPENDENCIES += ti-sgx-um
+GLSLSANDBOX_PLAYER_CONF_OPTS += --with-native-gfx=tisgx
+endif
+
+ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_MALI),y)
+GLSLSANDBOX_PLAYER_DEPENDENCIES += sunxi-mali-mainline
+GLSLSANDBOX_PLAYER_CONF_OPTS += --with-native-gfx=mali
+endif
+
+ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_WL),y)
+GLSLSANDBOX_PLAYER_DEPENDENCIES += wayland
+GLSLSANDBOX_PLAYER_CONF_OPTS += --with-native-gfx=wl
+
+ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_WL_IVI),y)
+GLSLSANDBOX_PLAYER_CONF_OPTS += --enable-ivi
+else
+GLSLSANDBOX_PLAYER_CONF_OPTS += --disable-ivi
+endif
+endif
+
+ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_X11),y)
+GLSLSANDBOX_PLAYER_DEPENDENCIES += xlib_libX11
+GLSLSANDBOX_PLAYER_CONF_OPTS += --with-native-gfx=x11
+endif
+
+ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_SDL2),y)
+GLSLSANDBOX_PLAYER_DEPENDENCIES += sdl2
+GLSLSANDBOX_PLAYER_CONF_OPTS += --with-native-gfx=sdl2
+endif
+
+$(eval $(autotools-package))
-- 
2.21.0

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH v2] package/glslsandbox-player: new package
  2019-07-04 21:25 ` [Buildroot] [PATCH v2] " Julien Olivain
@ 2019-08-03  9:08   ` Thomas Petazzoni
  2019-08-23 20:57   ` [Buildroot] [PATCH v3 1/1] " Julien Olivain
  1 sibling, 0 replies; 5+ messages in thread
From: Thomas Petazzoni @ 2019-08-03  9:08 UTC (permalink / raw)
  To: buildroot

Hello Julien,

Thanks for this contribution! It looks like a useful package for
Buildroot, and pretty good overall, but there are a few issues to
address, see below.

On Thu,  4 Jul 2019 23:25:23 +0200
Julien Olivain <juju@cotds.org> wrote:


> +if BR2_PACKAGE_GLSLSANDBOX_PLAYER
> +
> +config BR2_PACKAGE_GLSLSANDBOX_PLAYER_DL_SHADERS
> +	bool "Download shaders from http://glslsandbox.com/"
> +	help
> +	  Download some shaders from http://glslsandbox.com/ to be
> +	  embedded in the binary

You can't let a package download stuff on its own, because it defeats
the Buildroot download infrastructure: "make source" will not know that
these additional files should be downloaded, those files will not be
cached on our sources.buildroot.net mirror, etc.

I'm not sure what gets downloaded exactly, but you can either get it
downloaded by Buildroot using <pkg>_EXTRA_DOWNLOADS in this package, or
create a separate package.

> +config BR2_PACKAGE_GLSLSANDBOX_PLAYER_SCRIPTS
> +	bool "Install scripts"
> +	depends on BR2_USE_MMU # bash, python
> +	depends on BR2_USE_WCHAR # python
> +	depends on BR2_TOOLCHAIN_HAS_THREADS # python
> +	depends on !BR2_STATIC_LIBS # python
> +	select BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # bash
> +	select BR2_PACKAGE_PYTHON

BR2_PACKAGE_PYTHON depends on !BR2_PACKAGE_PYTHON3, so you would have
to propagate this dependency. But does it work only with Python 2? It
does not support Python 3 ?

> +	select BR2_PACKAGE_BASH
> +	select BR2_PACKAGE_LIBCURL
> +	select BR2_PACKAGE_CURL
> +	select BR2_PACKAGE_OPENSSL
> +	select BR2_PACKAGE_LIBOPENSSL_BIN if BR2_PACKAGE_LIBOPENSSL
> +	select BR2_PACKAGE_LIBRESSL_BIN if BR2_PACKAGE_LIBRESSL
> +	select BR2_PACKAGE_MAKE
> +	select BR2_PACKAGE_COREUTILS
> +	select BR2_PACKAGE_JPEG
> +	select BR2_PACKAGE_IMAGEMAGICK

So all these dependencies are needed for the helper scripts ?

> +choice
> +	prompt "Native windowing system"
> +	default BR2_PACKAGE_GLSLSANDBOX_PLAYER_RPI   if BR2_PACKAGE_RPI_USERLAND
> +	default BR2_PACKAGE_GLSLSANDBOX_PLAYER_TISGX if BR2_PACKAGE_TI_SGX_UM
> +	default BR2_PACKAGE_GLSLSANDBOX_PLAYER_MALI  if BR2_PACKAGE_SUNXI_MALI_MAINLINE
> +	default BR2_PACKAGE_GLSLSANDBOX_PLAYER_WL    if BR2_PACKAGE_WAYLAND
> +	default BR2_PACKAGE_GLSLSANDBOX_PLAYER_X11   if BR2_PACKAGE_XORG7
> +	default BR2_PACKAGE_GLSLSANDBOX_PLAYER_SDL2  if BR2_PACKAGE_SDL2_OPENGLES

Alphabetic ordering would be nice, and also for the below option
definitions.

> +	help
> +	  Select the native windowing system you wish to use.
> +
> +config BR2_PACKAGE_GLSLSANDBOX_PLAYER_KMS
> +	bool "KMS/DRM/GBM"
> +	select BR2_PACKAGE_LIBDRM

You forgot to replicate the libdrm dependencies here.

> +
> +config BR2_PACKAGE_GLSLSANDBOX_PLAYER_VIVFB
> +	bool "Vivante Frame Buffer"
> +	depends on BR2_PACKAGE_IMX_GPU_VIV
> +
> +config BR2_PACKAGE_GLSLSANDBOX_PLAYER_RPI
> +	bool "RaspberryPI Frame Buffer"
> +	depends on BR2_PACKAGE_RPI_USERLAND
> +
> +config BR2_PACKAGE_GLSLSANDBOX_PLAYER_TISGX
> +	bool "TI/SGX Frame Buffer"
> +	depends on BR2_PACKAGE_TI_SGX_UM
> +
> +config BR2_PACKAGE_GLSLSANDBOX_PLAYER_MALI
> +	bool "Allwinner ARM/Mali Frame Buffer"
> +	depends on BR2_PACKAGE_SUNXI_MALI_MAINLINE
> +
> +config BR2_PACKAGE_GLSLSANDBOX_PLAYER_WL
> +	bool "Wayland"
> +	depends on BR2_PACKAGE_WAYLAND
> +
> +config BR2_PACKAGE_GLSLSANDBOX_PLAYER_X11
> +	bool "X11"
> +	depends on BR2_PACKAGE_XORG7

This is probably not sufficient: just having BR2_PACKAGE_XORG7 does not
mean any X11 package will be enabled. So you might need a few selects
here. Build a minimal configuration with just XORG7=y, and you'll see.

> diff --git a/package/glslsandbox-player/glslsandbox-player.mk b/package/glslsandbox-player/glslsandbox-player.mk
> new file mode 100644
> index 0000000000..b3048345ce
> --- /dev/null
> +++ b/package/glslsandbox-player/glslsandbox-player.mk
> @@ -0,0 +1,89 @@
> +################################################################################
> +#
> +# glslsandbox-player
> +#
> +################################################################################
> +
> +GLSLSANDBOX_PLAYER_VERSION = v2019.06.16
> +GLSLSANDBOX_PLAYER_SITE = https://github.com/jolivain/glslsandbox-player
> +GLSLSANDBOX_PLAYER_SITE_METHOD = git

Use the $(call github, ...) macro, see other packages.


> +ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_SCRIPTS),y)
> +GLSLSANDBOX_PLAYER_CONF_OPTS += --enable-install-scripts

You have tons of dependencies in the Config.in for those scripts. They
are only runtime dependencies ? If so, you should add a "# runtime"
comment in Config.in.

> +else
> +GLSLSANDBOX_PLAYER_CONF_OPTS += --disable-install-scripts
> +endif
> +
> +ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_KMS),y)
> +# gbm dependency is not needed, as it is normally packaged with
> +# libegl/libgles drivers.
> +GLSLSANDBOX_PLAYER_DEPENDENCIES += libdrm
> +GLSLSANDBOX_PLAYER_CONF_OPTS += --with-native-gfx=kms
> +endif
> +
> +ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_VIVFB),y)
> +GLSLSANDBOX_PLAYER_DEPENDENCIES += imx-gpu-viv
> +GLSLSANDBOX_PLAYER_CONF_OPTS += --with-native-gfx=vivfb
> +endif
> +
> +ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_RPI),y)
> +GLSLSANDBOX_PLAYER_DEPENDENCIES += rpi-userland
> +GLSLSANDBOX_PLAYER_CONF_OPTS += --with-native-gfx=rpi
> +endif
> +
> +ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_TISGX),y)
> +GLSLSANDBOX_PLAYER_DEPENDENCIES += ti-sgx-um
> +GLSLSANDBOX_PLAYER_CONF_OPTS += --with-native-gfx=tisgx
> +endif
> +
> +ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_MALI),y)
> +GLSLSANDBOX_PLAYER_DEPENDENCIES += sunxi-mali-mainline
> +GLSLSANDBOX_PLAYER_CONF_OPTS += --with-native-gfx=mali
> +endif
> +
> +ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_WL),y)
> +GLSLSANDBOX_PLAYER_DEPENDENCIES += wayland
> +GLSLSANDBOX_PLAYER_CONF_OPTS += --with-native-gfx=wl
> +
> +ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_WL_IVI),y)
> +GLSLSANDBOX_PLAYER_CONF_OPTS += --enable-ivi
> +else
> +GLSLSANDBOX_PLAYER_CONF_OPTS += --disable-ivi
> +endif
> +endif
> +
> +ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_X11),y)
> +GLSLSANDBOX_PLAYER_DEPENDENCIES += xlib_libX11

Ah, so you need xlib_libX11, but it's not selected by the Config.in.

> +GLSLSANDBOX_PLAYER_CONF_OPTS += --with-native-gfx=x11
> +endif
> +
> +ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_SDL2),y)
> +GLSLSANDBOX_PLAYER_DEPENDENCIES += sdl2
> +GLSLSANDBOX_PLAYER_CONF_OPTS += --with-native-gfx=sdl2
> +endif

Since only one of these gfx backends can be selected at once, I'd
prefer if the makefile looked like this:

ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_foo),y)
...
else ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_bar),y)
..
else ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_baz),y)
..
endif

Could you fix the above issues and send an updated version of the patch ?

Thanks a lot!

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH v3 1/1] package/glslsandbox-player: new package
  2019-07-04 21:25 ` [Buildroot] [PATCH v2] " Julien Olivain
  2019-08-03  9:08   ` Thomas Petazzoni
@ 2019-08-23 20:57   ` Julien Olivain
  2020-02-05 17:10     ` Arnout Vandecappelle
  1 sibling, 1 reply; 5+ messages in thread
From: Julien Olivain @ 2019-08-23 20:57 UTC (permalink / raw)
  To: buildroot

GLSL Sandbox standalone player allow one to run and render
(most of) nice shaders available online on the
http://glslsandbox.com/ website, but without the need of an
Internet connection, a web browser or any of its
dependencies. Instead, the only requirement of
glslsandbox-player is a working EGL and GLESv2 libraries.

This package is useful for stressing and testing GLES shader
compiler in GPU drivers.

https://github.com/jolivain/glslsandbox-player

Signed-off-by: Julien Olivain <juju@cotds.org>

---
Changes v2 -> v3:
Included all Thomas' comments:
  - Config.in:
    - Remove shader download option, to not defeat buildroot download infra
    - Update scripts to Pytnon 3, and update dependencies
    - Mark all runtime dependencies with "# runtime"
    - Sort dependencies and options alphabetically
    - Replicate libdrm dependencies
    - Add missing dependency on xlib_libX11
  - .mk:
    - Update package to v2019.08.23
    - Use $(call github, ...) for _SITE
    - Sort blocks alphabetically
    - Use ifeq() ... else ifeq() for exclusive choices of backend
  - Add .hash file

Changes v1 -> v2:
  - add missing VIVFB windowing system
  - use a tag instead of commit id for version

Signed-off-by: Julien Olivain <juju@cotds.org>
---
 DEVELOPERS                                    |   1 +
 package/Config.in                             |   1 +
 package/glslsandbox-player/Config.in          | 108 ++++++++++++++++++
 .../glslsandbox-player.hash                   |   3 +
 .../glslsandbox-player/glslsandbox-player.mk  |  72 ++++++++++++
 5 files changed, 185 insertions(+)
 create mode 100644 package/glslsandbox-player/Config.in
 create mode 100644 package/glslsandbox-player/glslsandbox-player.hash
 create mode 100644 package/glslsandbox-player/glslsandbox-player.mk

diff --git a/DEVELOPERS b/DEVELOPERS
index e50ac78ae7..2bf0b612f9 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -1296,6 +1296,7 @@ F:	board/technexion/imx8mmpico/
 F:	board/technexion/imx8mpico/
 F:	configs/imx8mmpico_defconfig
 F:	configs/imx8mpico_defconfig
+F:	package/glslsandbox-player/
 
 N:	Julien Viard de Galbert <julien@vdg.name>
 F:	package/dieharder/
diff --git a/package/Config.in b/package/Config.in
index 710ed12be0..fe4f575922 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -275,6 +275,7 @@ comment "Graphic applications"
 	source "package/fswebcam/Config.in"
 	source "package/ghostscript/Config.in"
 	source "package/glmark2/Config.in"
+	source "package/glslsandbox-player/Config.in"
 	source "package/gnuplot/Config.in"
 	source "package/jhead/Config.in"
 	source "package/kmscube/Config.in"
diff --git a/package/glslsandbox-player/Config.in b/package/glslsandbox-player/Config.in
new file mode 100644
index 0000000000..973b8f6c98
--- /dev/null
+++ b/package/glslsandbox-player/Config.in
@@ -0,0 +1,108 @@
+config BR2_PACKAGE_GLSLSANDBOX_PLAYER
+	bool "glslsandbox-player"
+	depends on BR2_PACKAGE_HAS_LIBEGL
+	depends on BR2_PACKAGE_HAS_LIBGLES
+	help
+	  GLSL Sandbox standalone player allow one to run and render
+	  (most of) nice shaders available online on the
+	  http://glslsandbox.com/ website, but without the need of an
+	  Internet connection, a web browser or any of its
+	  dependencies. Instead, the only requirement of
+	  glslsandbox-player is a working EGL and GLESv2 libraries.
+
+	  This package is useful for stressing and testing GLES shader
+	  compiler in GPU drivers.
+
+	  https://github.com/jolivain/glslsandbox-player
+
+if BR2_PACKAGE_GLSLSANDBOX_PLAYER
+
+config BR2_PACKAGE_GLSLSANDBOX_PLAYER_PNG
+	bool "Enable PNG support"
+	select BR2_PACKAGE_LIBPNG
+	help
+	  Enable PNG texture loading support
+
+config BR2_PACKAGE_GLSLSANDBOX_PLAYER_TESTING
+	bool "Enable testing"
+	help
+	  Generate and install test suite on target
+
+config BR2_PACKAGE_GLSLSANDBOX_PLAYER_SCRIPTS
+	bool "Install scripts"
+	depends on !BR2_PACKAGE_PYTHON # python3
+	depends on !BR2_STATIC_LIBS # python3
+	depends on BR2_TOOLCHAIN_HAS_THREADS # python3
+	depends on BR2_USE_MMU # bash, python3
+	depends on BR2_USE_WCHAR # python3
+	select BR2_PACKAGE_BASH # runtime
+	select BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # bash
+	select BR2_PACKAGE_COREUTILS # runtime (timeout)
+	select BR2_PACKAGE_CURL # runtime
+	select BR2_PACKAGE_IMAGEMAGICK # runtime
+	select BR2_PACKAGE_JPEG # runtime
+	select BR2_PACKAGE_LIBCURL # runtime
+	select BR2_PACKAGE_LIBOPENSSL_BIN if BR2_PACKAGE_LIBOPENSSL # runtime
+	select BR2_PACKAGE_LIBRESSL_BIN if BR2_PACKAGE_LIBRESSL # runtime
+	select BR2_PACKAGE_MAKE # runtime
+	select BR2_PACKAGE_OPENSSL # runtime
+	select BR2_PACKAGE_PYTHON3 # runtime
+	help
+	  Install additional helper scripts
+
+choice
+	prompt "Native windowing system"
+	default BR2_PACKAGE_GLSLSANDBOX_PLAYER_MALI  if BR2_PACKAGE_SUNXI_MALI_MAINLINE
+	default BR2_PACKAGE_GLSLSANDBOX_PLAYER_RPI   if BR2_PACKAGE_RPI_USERLAND
+	default BR2_PACKAGE_GLSLSANDBOX_PLAYER_SDL2  if BR2_PACKAGE_SDL2_OPENGLES
+	default BR2_PACKAGE_GLSLSANDBOX_PLAYER_TISGX if BR2_PACKAGE_TI_SGX_UM
+	default BR2_PACKAGE_GLSLSANDBOX_PLAYER_WL    if BR2_PACKAGE_WAYLAND
+	default BR2_PACKAGE_GLSLSANDBOX_PLAYER_X11   if BR2_PACKAGE_XORG7
+	help
+	  Select the native windowing system you wish to use.
+
+config BR2_PACKAGE_GLSLSANDBOX_PLAYER_KMS
+	bool "KMS/DRM/GBM"
+	depends on BR2_TOOLCHAIN_HAS_THREADS # libdrm
+	select BR2_PACKAGE_LIBDRM
+
+config BR2_PACKAGE_GLSLSANDBOX_PLAYER_MALI
+	bool "Allwinner ARM/Mali Frame Buffer"
+	depends on BR2_PACKAGE_SUNXI_MALI_MAINLINE
+
+config BR2_PACKAGE_GLSLSANDBOX_PLAYER_RPI
+	bool "RaspberryPI Frame Buffer"
+	depends on BR2_PACKAGE_RPI_USERLAND
+
+config BR2_PACKAGE_GLSLSANDBOX_PLAYER_SDL2
+	bool "SDL2"
+	depends on BR2_PACKAGE_SDL2_OPENGLES
+
+config BR2_PACKAGE_GLSLSANDBOX_PLAYER_TISGX
+	bool "TI/SGX Frame Buffer"
+	depends on BR2_PACKAGE_TI_SGX_UM
+
+config BR2_PACKAGE_GLSLSANDBOX_PLAYER_VIVFB
+	bool "Vivante Frame Buffer"
+	depends on BR2_PACKAGE_IMX_GPU_VIV
+
+config BR2_PACKAGE_GLSLSANDBOX_PLAYER_WL
+	bool "Wayland"
+	depends on BR2_PACKAGE_WAYLAND
+
+config BR2_PACKAGE_GLSLSANDBOX_PLAYER_X11
+	bool "X11"
+	depends on BR2_PACKAGE_XORG7
+	select BR2_PACKAGE_XLIB_LIBX11
+
+endchoice
+
+if BR2_PACKAGE_GLSLSANDBOX_PLAYER_WL
+config BR2_PACKAGE_GLSLSANDBOX_PLAYER_WL_IVI
+	bool "Wayland IVI shell support"
+endif
+
+endif
+
+comment "glslsandbox-player needs an openGL ES and EGL driver"
+	depends on !BR2_PACKAGE_HAS_LIBEGL || !BR2_PACKAGE_HAS_LIBGLES
diff --git a/package/glslsandbox-player/glslsandbox-player.hash b/package/glslsandbox-player/glslsandbox-player.hash
new file mode 100644
index 0000000000..2d25b4bb40
--- /dev/null
+++ b/package/glslsandbox-player/glslsandbox-player.hash
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256  3458294a50c3d2fd54f806e46dd7bfba5f1e6aedadd6c396c76d70793419432b  glslsandbox-player-v2019.08.23.tar.gz
+sha256  06a79395e8f3a4cc7ad068c6b59dfbe12c0efa4d27791e532345ceb1f41aea8a  LICENSE
diff --git a/package/glslsandbox-player/glslsandbox-player.mk b/package/glslsandbox-player/glslsandbox-player.mk
new file mode 100644
index 0000000000..d6dfb8fc91
--- /dev/null
+++ b/package/glslsandbox-player/glslsandbox-player.mk
@@ -0,0 +1,72 @@
+################################################################################
+#
+# glslsandbox-player
+#
+################################################################################
+
+GLSLSANDBOX_PLAYER_VERSION = v2019.08.23
+GLSLSANDBOX_PLAYER_SITE = $(call github,jolivain,glslsandbox-player,$(GLSLSANDBOX_PLAYER_VERSION))
+GLSLSANDBOX_PLAYER_AUTORECONF = YES
+GLSLSANDBOX_PLAYER_DEPENDENCIES = libegl libgles host-pkgconf
+
+GLSLSANDBOX_PLAYER_LICENSE = BSD-2-Clause
+GLSLSANDBOX_PLAYER_LICENSE_FILES = LICENSE
+
+ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_PNG),y)
+GLSLSANDBOX_PLAYER_DEPENDENCIES += libpng
+GLSLSANDBOX_PLAYER_CONF_OPTS += --with-libpng
+else
+GLSLSANDBOX_PLAYER_CONF_OPTS += --without-libpng
+endif
+
+ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_TESTING),y)
+GLSLSANDBOX_PLAYER_CONF_OPTS += \
+	--with-shader-list=shader-tests.list \
+	--enable-testing \
+	--enable-install-testsuite
+else
+GLSLSANDBOX_PLAYER_CONF_OPTS += \
+	--with-shader-list=shader-local.list \
+	--disable-testing
+endif
+
+ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_SCRIPTS),y)
+GLSLSANDBOX_PLAYER_CONF_OPTS += --enable-install-scripts
+else
+GLSLSANDBOX_PLAYER_CONF_OPTS += --disable-install-scripts
+endif
+
+ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_KMS),y)
+# gbm dependency is not needed, as it is normally packaged with
+# libegl/libgles drivers.
+GLSLSANDBOX_PLAYER_DEPENDENCIES += libdrm
+GLSLSANDBOX_PLAYER_CONF_OPTS += --with-native-gfx=kms
+else ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_MALI),y)
+GLSLSANDBOX_PLAYER_DEPENDENCIES += sunxi-mali-mainline
+GLSLSANDBOX_PLAYER_CONF_OPTS += --with-native-gfx=mali
+else ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_RPI),y)
+GLSLSANDBOX_PLAYER_DEPENDENCIES += rpi-userland
+GLSLSANDBOX_PLAYER_CONF_OPTS += --with-native-gfx=rpi
+else ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_SDL2),y)
+GLSLSANDBOX_PLAYER_DEPENDENCIES += sdl2
+GLSLSANDBOX_PLAYER_CONF_OPTS += --with-native-gfx=sdl2
+else ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_TISGX),y)
+GLSLSANDBOX_PLAYER_DEPENDENCIES += ti-sgx-um
+GLSLSANDBOX_PLAYER_CONF_OPTS += --with-native-gfx=tisgx
+else ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_VIVFB),y)
+GLSLSANDBOX_PLAYER_DEPENDENCIES += imx-gpu-viv
+GLSLSANDBOX_PLAYER_CONF_OPTS += --with-native-gfx=vivfb
+else ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_WL),y)
+GLSLSANDBOX_PLAYER_DEPENDENCIES += wayland
+GLSLSANDBOX_PLAYER_CONF_OPTS += --with-native-gfx=wl
+ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_WL_IVI),y)
+GLSLSANDBOX_PLAYER_CONF_OPTS += --enable-ivi
+else
+GLSLSANDBOX_PLAYER_CONF_OPTS += --disable-ivi
+endif
+else ifeq ($(BR2_PACKAGE_GLSLSANDBOX_PLAYER_X11),y)
+GLSLSANDBOX_PLAYER_DEPENDENCIES += xlib_libX11
+GLSLSANDBOX_PLAYER_CONF_OPTS += --with-native-gfx=x11
+endif
+
+$(eval $(autotools-package))
-- 
2.21.0

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH v3 1/1] package/glslsandbox-player: new package
  2019-08-23 20:57   ` [Buildroot] [PATCH v3 1/1] " Julien Olivain
@ 2020-02-05 17:10     ` Arnout Vandecappelle
  0 siblings, 0 replies; 5+ messages in thread
From: Arnout Vandecappelle @ 2020-02-05 17:10 UTC (permalink / raw)
  To: buildroot

 Hi Julien,

 We finally applied, with a few changes.

On 23/08/2019 22:57, Julien Olivain wrote:
[snip]
> diff --git a/package/glslsandbox-player/Config.in b/package/glslsandbox-player/Config.in
> new file mode 100644
> index 0000000000..973b8f6c98
> --- /dev/null
> +++ b/package/glslsandbox-player/Config.in
> @@ -0,0 +1,108 @@
> +config BR2_PACKAGE_GLSLSANDBOX_PLAYER
> +	bool "glslsandbox-player"
> +	depends on BR2_PACKAGE_HAS_LIBEGL
> +	depends on BR2_PACKAGE_HAS_LIBGLES

 I added this:

	# Doesn't really depend on threads, but this makes sure we have at least
	# one native windowing system available, and is good enough in practice.
	depends on BR2_TOOLCHAIN_HAS_THREADS

Makes sense?

[snip]
> +config BR2_PACKAGE_GLSLSANDBOX_PLAYER_SCRIPTS
> +	bool "Install scripts"
> +	depends on !BR2_PACKAGE_PYTHON # python3
> +	depends on !BR2_STATIC_LIBS # python3
> +	depends on BR2_TOOLCHAIN_HAS_THREADS # python3
> +	depends on BR2_USE_MMU # bash, python3
> +	depends on BR2_USE_WCHAR # python3
> +	select BR2_PACKAGE_BASH # runtime
> +	select BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # bash

 This creates a problem if busybox is not selected so it should be

	select BR2_PACKAGE_BUSYBOX_SHOW_OTHERS if BR2_PACKAGE_BUSYBOX # bash

> +	select BR2_PACKAGE_COREUTILS # runtime (timeout)

 If it is just for timeout, do you really need coreutils? Busybox has a timeout
utility as well. Anyway, I didn't change this.


 Thanks!
 Regards,
 Arnout

[snip]

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2020-02-05 17:10 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-04-23 19:29 [Buildroot] [PATCH 1/1] package/glslsandbox-player: new package Julien Olivain
2019-07-04 21:25 ` [Buildroot] [PATCH v2] " Julien Olivain
2019-08-03  9:08   ` Thomas Petazzoni
2019-08-23 20:57   ` [Buildroot] [PATCH v3 1/1] " Julien Olivain
2020-02-05 17:10     ` Arnout Vandecappelle

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.