All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v3 1/3] package/python-numpy: add host variant for piglit
@ 2018-09-22 10:56 Romain Naour
  2018-09-22 10:56 ` [Buildroot] [PATCH v3 2/3] package/waffle: new package Romain Naour
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Romain Naour @ 2018-09-22 10:56 UTC (permalink / raw)
  To: buildroot

host-python-numpy is required by piglit buildsystem for crosscompiling.

Signed-off-by: Romain Naour <romain.naour@gmail.com>
---
 package/python-numpy/python-numpy.mk | 1 +
 1 file changed, 1 insertion(+)

diff --git a/package/python-numpy/python-numpy.mk b/package/python-numpy/python-numpy.mk
index bd5fe7e6a9..c454888288 100644
--- a/package/python-numpy/python-numpy.mk
+++ b/package/python-numpy/python-numpy.mk
@@ -31,3 +31,4 @@ endef
 PYTHON_NUMPY_INSTALL_STAGING = YES
 
 $(eval $(python-package))
+$(eval $(host-python-package))
-- 
2.14.4

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

* [Buildroot] [PATCH v3 2/3] package/waffle: new package
  2018-09-22 10:56 [Buildroot] [PATCH v3 1/3] package/python-numpy: add host variant for piglit Romain Naour
@ 2018-09-22 10:56 ` Romain Naour
  2018-09-22 12:46   ` Thomas Petazzoni
  2018-10-09 20:01   ` Thomas Petazzoni
  2018-09-22 10:56 ` [Buildroot] [PATCH v3 3/3] package/piglit: " Romain Naour
  2018-10-09 20:00 ` [Buildroot] [PATCH v3 1/3] package/python-numpy: add host variant for piglit Thomas Petazzoni
  2 siblings, 2 replies; 8+ messages in thread
From: Romain Naour @ 2018-09-22 10:56 UTC (permalink / raw)
  To: buildroot

waffle has four "backends", each having their own dependencies.
At least one "backend" must be enabled, otherwise Waffle will refuse to
build. The "backends" are:

 - glx, which needs full OpenGL + x11-xcb
 - wayland, which needs wayland-client, wayland-egl and EGL
 - x11-egl, which needs x11-xcb and EGL
 - gbm, which needs gbm, libudev and EGL

Backport an upstream patch fixing a build issue with musl toolchains.
Add a new patch fixing build with Wayand without X11.

Signed-off-by: Romain Naour <romain.naour@gmail.com>
---
v3: rework waffle backends dependencies (ThomasP)
---
 DEVELOPERS                                         |  1 +
 package/Config.in                                  |  1 +
 ...-threads-Use-PTHREAD_MUTEX_RECURSIVE-by-d.patch | 54 ++++++++++++++++++++++
 ...rd-cflags-from-.pc-files-to-waffle-cflags.patch | 40 ++++++++++++++++
 package/waffle/Config.in                           | 48 +++++++++++++++++++
 package/waffle/waffle.hash                         |  3 ++
 package/waffle/waffle.mk                           | 48 +++++++++++++++++++
 7 files changed, 195 insertions(+)
 create mode 100644 package/waffle/0001-third_party-threads-Use-PTHREAD_MUTEX_RECURSIVE-by-d.patch
 create mode 100644 package/waffle/0002-cmake-forward-cflags-from-.pc-files-to-waffle-cflags.patch
 create mode 100644 package/waffle/Config.in
 create mode 100644 package/waffle/waffle.hash
 create mode 100644 package/waffle/waffle.mk

diff --git a/DEVELOPERS b/DEVELOPERS
index 84129553c5..1bcaea9d34 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -1784,6 +1784,7 @@ F:	package/supertuxkart/
 F:	package/terminology/
 F:	package/tk/
 F:	package/upower/
+F:	package/waffle/
 F:	package/xenomai/
 
 N:	Roman Gorbenkov <roman.gorbenkov@ens2m.org>
diff --git a/package/Config.in b/package/Config.in
index c04645a30b..2dcc2e611a 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1255,6 +1255,7 @@ menu "Graphics"
 	source "package/poppler/Config.in"
 	source "package/powervr/Config.in"
 	source "package/tiff/Config.in"
+	source "package/waffle/Config.in"
 	source "package/wayland/Config.in"
 	source "package/wayland-protocols/Config.in"
 	source "package/waylandpp/Config.in"
diff --git a/package/waffle/0001-third_party-threads-Use-PTHREAD_MUTEX_RECURSIVE-by-d.patch b/package/waffle/0001-third_party-threads-Use-PTHREAD_MUTEX_RECURSIVE-by-d.patch
new file mode 100644
index 0000000000..ef54953e34
--- /dev/null
+++ b/package/waffle/0001-third_party-threads-Use-PTHREAD_MUTEX_RECURSIVE-by-d.patch
@@ -0,0 +1,54 @@
+From 117456752cf9ac1f24d3cfd917ad34f670c244b8 Mon Sep 17 00:00:00 2001
+From: Emil Velikov <emil.l.velikov@gmail.com>
+Date: Thu, 19 Mar 2015 22:26:11 +0000
+Subject: [PATCH] third_party/threads: Use PTHREAD_MUTEX_RECURSIVE by default
+
+PTHREAD_MUTEX_RECURSIVE_NP was used for compatibility with old glibc.
+Although due to the_GNU_SOURCES define the portable,
+PTHREAD_MUTEX_RECURSIVE will be available for Linuxes since at least
+1998. Simplify things giving us compatibility with musl which
+apparently does not provide the non-portable define.
+
+Inspired by almost identical commit in mesa aead7fe2e2b(c11/threads: Use
+PTHREAD_MUTEX_RECURSIVE by default) by Felix Janda.
+
+Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
+Reviewed-by: Chad Versace <chad.versace@intel.com>
+(Romain: cherry picked from commit 3b9b8f5f6d1b99af43e95ec0868404e552a85b73)
+Signed-off-by: Romain Naour <romain.naour@gmail.com>
+---
+ third_party/threads/threads_posix.c | 10 ++++------
+ 1 file changed, 4 insertions(+), 6 deletions(-)
+
+diff --git a/third_party/threads/threads_posix.c b/third_party/threads/threads_posix.c
+index 5835e43..e122bf9 100644
+--- a/third_party/threads/threads_posix.c
++++ b/third_party/threads/threads_posix.c
+@@ -26,6 +26,9 @@
+  * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+  * DEALINGS IN THE SOFTWARE.
+  */
++
++#define _GNU_SOURCE
++
+ #include <stdlib.h>
+ #ifndef assert
+ #include <assert.h>
+@@ -150,13 +153,8 @@ int mtx_init(mtx_t *mtx, int type)
+       && type != (mtx_try|mtx_recursive))
+         return thrd_error;
+     pthread_mutexattr_init(&attr);
+-    if ((type & mtx_recursive) != 0) {
+-#if defined(__linux__) || defined(__linux)
+-        pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE_NP);
+-#else
++    if ((type & mtx_recursive) != 0)
+         pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
+-#endif
+-    }
+     pthread_mutex_init(mtx, &attr);
+     pthread_mutexattr_destroy(&attr);
+     return thrd_success;
+-- 
+2.14.3
+
diff --git a/package/waffle/0002-cmake-forward-cflags-from-.pc-files-to-waffle-cflags.patch b/package/waffle/0002-cmake-forward-cflags-from-.pc-files-to-waffle-cflags.patch
new file mode 100644
index 0000000000..ffc1b5b8b1
--- /dev/null
+++ b/package/waffle/0002-cmake-forward-cflags-from-.pc-files-to-waffle-cflags.patch
@@ -0,0 +1,40 @@
+From 8b0ae49c8bea78df73c3ecae0059d54a95c561fa Mon Sep 17 00:00:00 2001
+From: Romain Naour <romain.naour@gmail.com>
+Date: Sun, 24 Dec 2017 00:11:45 +0100
+Subject: [PATCH] cmake: forward cflags from *.pc files to waffle cflags
+
+When building mesa egl without x11 and gles2 the headers need a
+MESA_EGL_NO_X11_HEADERS define to avoid including X11 headers.
+
+This define MESA_EGL_NO_X11_HEADERS  is lost while building waffle
+since CGLAGS defined by pc files are not used.
+
+MESA_EGL_NO_X11_HEADERS is defined in CFLAGS from egl.pc.
+
+Signed-off-by: Romain Naour <romain.naour@gmail.com>
+---
+ src/waffle/CMakeLists.txt | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/src/waffle/CMakeLists.txt b/src/waffle/CMakeLists.txt
+index d76e029..2ff72c8 100644
+--- a/src/waffle/CMakeLists.txt
++++ b/src/waffle/CMakeLists.txt
+@@ -5,6 +5,14 @@
+ add_definitions(
+     -DWAFFLE_API_VERSION=${waffle_api_version}
+     -DWAFFLE_API_EXPERIMENTAL
++    ${egl_CFLAGS}
++    ${gbm_CFLAGS}
++    ${gl_CFLAGS}
++    ${GLEXT_CFLAGS}
++    ${libudev_CFLAGS}
++    ${wayland-client_CFLAGS}
++    ${wayland-egl_CFLAGS}
++    ${x11-xcb_CFLAGS}
+     )
+ 
+ include_directories(
+-- 
+2.14.3
+
diff --git a/package/waffle/Config.in b/package/waffle/Config.in
new file mode 100644
index 0000000000..2026efdeac
--- /dev/null
+++ b/package/waffle/Config.in
@@ -0,0 +1,48 @@
+config BR2_PACKAGE_WAFFLE_SUPPORTS_GLX
+	bool
+	default y if BR2_PACKAGE_HAS_LIBGL && BR2_PACKAGE_XORG7
+
+config BR2_PACKAGE_WAFFLE_SUPPORTS_WAYLAND
+	bool
+	default y if BR2_PACKAGE_WAYLAND && BR2_PACKAGE_HAS_LIBEGL_WAYLAND
+
+config BR2_PACKAGE_WAFFLE_SUPPORTS_X11_EGL
+	bool
+	default y if BR2_PACKAGE_HAS_LIBEGL && BR2_PACKAGE_XORG7
+
+config BR2_PACKAGE_WAFFLE_SUPPORTS_GBM
+	bool
+	# mesa3d is for now the only GBM provider, and it is enabled
+	# together with its EGL support
+	default y if BR2_PACKAGE_HAS_LIBEGL && BR2_PACKAGE_MESA3D_OPENGL_EGL && BR2_PACKAGE_HAS_UDEV
+
+config BR2_PACKAGE_WAFFLE
+	bool "waffle"
+	depends on BR2_PACKAGE_WAFFLE_SUPPORTS_GLX || \
+		BR2_PACKAGE_WAFFLE_SUPPORTS_WAYLAND || \
+		BR2_PACKAGE_WAFFLE_SUPPORTS_X11_EGL || \
+		BR2_PACKAGE_WAFFLE_SUPPORTS_GBM
+	depends on BR2_PACKAGE_HAS_LIBGLES # dlopen'ing the GLES libararies at runtime.
+	select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_WAFFLE_SUPPORTS_GLX || BR2_PACKAGE_WAFFLE_SUPPORTS_X11_EGL
+	select BR2_PACKAGE_LIBXCB if BR2_PACKAGE_WAFFLE_SUPPORTS_GLX || BR2_PACKAGE_WAFFLE_SUPPORTS_X11_EGL
+	help
+	  Waffle is a cross-platform library that allows one to defer
+	  selection of an OpenGL API and of window system until
+	  runtime. For example, on Linux, Waffle enables an application
+	  to select X11/EGL with an OpenGL 3.3 core profile, Wayland
+	  with OpenGL ES2, and other window system / API combinations.
+
+	  Waffle's immediate goal is to enable Piglit [1] to test
+	  multiple OpenGL flavors in a cross-platform way, and to allow
+	  each Piglit test to choose its OpenGL API and window system
+	  at runtime. A future goal is to enable the ability to record
+	  (with another tool such APITrace [2]) an application's OpenGL
+	  calls on one operating system or window system, and then
+	  replay that trace on a different system.
+
+	  For more information, visit to Waffle's website.
+
+	  [1] http://piglit.freedesktop.org
+	  [2] http://github.com/apitrace/apitrace#readme
+
+	  http://www.waffle-gl.org
diff --git a/package/waffle/waffle.hash b/package/waffle/waffle.hash
new file mode 100644
index 0000000000..5dfb976f2f
--- /dev/null
+++ b/package/waffle/waffle.hash
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256 d662f6743f688dc5ea4b7d29f558eb54bd8f57350080f04a006693d22e5d1d5b  waffle-v1.5.2.tar.gz
+sha256 630844d1911c8a1b7b888a1de9097c4860b7e381362fd5aa64141d58ab7ecc9b  LICENSE.txt
diff --git a/package/waffle/waffle.mk b/package/waffle/waffle.mk
new file mode 100644
index 0000000000..c6dd0d5451
--- /dev/null
+++ b/package/waffle/waffle.mk
@@ -0,0 +1,48 @@
+################################################################################
+#
+# waffle
+#
+################################################################################
+
+WAFFLE_VERSION = v1.5.2
+WAFFLE_SITE = $(call github,waffle-gl,waffle,$(WAFFLE_VERSION))
+WAFFLE_INSTALL_STAGING = YES
+WAFFLE_LICENSE = BSD-2-Clause
+WAFFLE_LICENSE_FILES = LICENSE.txt
+
+WAFFLE_DEPENDENCIES = host-pkgconf
+
+WAFFLE_CONF_OPTS = -Dwaffle_build_tests=OFF \
+	-Dwaffle_build_examples=OFF \
+	-Dwaffle_build_manpages=OFF \
+	-Dwaffle_build_htmldocs=OFF
+
+ifeq ($(BR2_PACKAGE_WAFFLE_SUPPORTS_WAYLAND),y)
+WAFFLE_DEPENDENCIES += libegl wayland
+WAFFLE_CONF_OPTS += -Dwaffle_has_wayland=ON
+else
+WAFFLE_CONF_OPTS += -Dwaffle_has_wayland=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_WAFFLE_SUPPORTS_X11_EGL),y)
+WAFFLE_DEPENDENCIES += libegl libxcb xlib_libX11
+WAFFLE_CONF_OPTS += -Dwaffle_has_x11_egl=ON
+else
+WAFFLE_CONF_OPTS += -Dwaffle_has_x11_egl=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_WAFFLE_SUPPORTS_GLX),y)
+WAFFLE_DEPENDENCIES += libgl libxcb xlib_libX11
+WAFFLE_CONF_OPTS += -Dwaffle_has_glx=ON
+else
+WAFFLE_CONF_OPTS += -Dwaffle_has_glx=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_WAFFLE_SUPPORTS_GBM),y)
+WAFFLE_DEPENDENCIES += libegl udev
+WAFFLE_CONF_OPTS += -Dwaffle_has_gbm=ON
+else
+WAFFLE_CONF_OPTS += -Dwaffle_has_gbm=OFF
+endif
+
+$(eval $(cmake-package))
-- 
2.14.4

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

* [Buildroot] [PATCH v3 3/3] package/piglit: new package
  2018-09-22 10:56 [Buildroot] [PATCH v3 1/3] package/python-numpy: add host variant for piglit Romain Naour
  2018-09-22 10:56 ` [Buildroot] [PATCH v3 2/3] package/waffle: new package Romain Naour
@ 2018-09-22 10:56 ` Romain Naour
  2019-01-01 19:57   ` Romain Naour
  2018-10-09 20:00 ` [Buildroot] [PATCH v3 1/3] package/python-numpy: add host variant for piglit Thomas Petazzoni
  2 siblings, 1 reply; 8+ messages in thread
From: Romain Naour @ 2018-09-22 10:56 UTC (permalink / raw)
  To: buildroot

Piglit is an open-source test suite for OpenGL implementations.
It's an python3 script based around several tools like glxinfo,
wflinfo, dmesg.

Even though waffle support can be replaced by freeglut,
using pliglit with waffle is recommended since freeglut
will be replaced by waffle.

Signed-off-by: Romain Naour <romain.naour@gmail.com>
---
v3: bump version, rebase after the switch to xorgproto
    add a dependency on waffle package
    reorder packages in Config.in
    I'm not sure if we can avoid host-python-{mako,numpy,six} dependency
    because the build system is checking with host-python.
    Yocto packaging use the same workaround.
    https://git.yoctoproject.org/cgit.cgi/poky/plain/meta/recipes-graphics/piglit/piglit_git.bb
v2: bump version
---
 DEVELOPERS                 |  1 +
 package/Config.in          |  1 +
 package/piglit/Config.in   | 32 +++++++++++++++++++++
 package/piglit/piglit.hash |  6 ++++
 package/piglit/piglit.mk   | 69 ++++++++++++++++++++++++++++++++++++++++++++++
 5 files changed, 109 insertions(+)
 create mode 100644 package/piglit/Config.in
 create mode 100644 package/piglit/piglit.hash
 create mode 100644 package/piglit/piglit.mk

diff --git a/DEVELOPERS b/DEVELOPERS
index 1bcaea9d34..574b04df46 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -1777,6 +1777,7 @@ F:	package/minetest/
 F:	package/minetest-game/
 F:	package/openpowerlink/
 F:	package/physfs/
+F:	package/piglit/
 F:	package/solarus/
 F:	package/stress-ng/
 F:	package/supertux/
diff --git a/package/Config.in b/package/Config.in
index 2dcc2e611a..c441b1098e 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -115,6 +115,7 @@ menu "Debugging, profiling and benchmark"
 	source "package/nmon/Config.in"
 	source "package/oprofile/Config.in"
 	source "package/pax-utils/Config.in"
+	source "package/piglit/Config.in"
 	source "package/pv/Config.in"
 	source "package/racehound/Config.in"
 	source "package/ramsmp/Config.in"
diff --git a/package/piglit/Config.in b/package/piglit/Config.in
new file mode 100644
index 0000000000..f17995fb6d
--- /dev/null
+++ b/package/piglit/Config.in
@@ -0,0 +1,32 @@
+config BR2_PACKAGE_PIGLIT
+	bool "piglit"
+	depends on BR2_PACKAGE_PYTHON3 # python3 only script
+	depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS
+	depends on BR2_PACKAGE_WAFFLE # wflinfo, libwaffle-1
+	select BR2_PACKAGE_LIBDRM if BR2_PACKAGE_HAS_LIBGL
+	select BR2_PACKAGE_LIBPNG
+	select BR2_PACKAGE_LIBXKBCOMMON if BR2_PACKAGE_WAYLAND
+	select BR2_PACKAGE_MESA3D_DEMOS # glxinfo
+	select BR2_PACKAGE_PYTHON_MAKO
+	select BR2_PACKAGE_PYTHON_NUMPY
+	select BR2_PACKAGE_PYTHON_SIX
+	select BR2_PACKAGE_PYTHON3_BZIP2
+	select BR2_PACKAGE_PYTHON3_PYEXPAT
+	select BR2_PACKAGE_PYTHON3_XZ
+	select BR2_PACKAGE_PYTHON3_ZLIB
+	select BR2_PACKAGE_UTIL_LINUX # runtime dependency
+	select BR2_PACKAGE_UTIL_LINUX_BINARIES # require real dmesg tool
+	select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_XORG7
+	select BR2_PACKAGE_XLIB_LIBXEXT if BR2_PACKAGE_XORG7
+	select BR2_PACKAGE_XORGPROTO if BR2_PACKAGE_XORG7
+	select BR2_PACKAGE_ZLIB
+	help
+	  Piglit is an open-source test suite for OpenGL
+	  implementations.
+
+	  https://piglit.freedesktop.org
+
+comment "piglit needs waffle"
+	depends on BR2_PACKAGE_PYTHON3
+	depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS
+	depends on !BR2_PACKAGE_WAFFLE
diff --git a/package/piglit/piglit.hash b/package/piglit/piglit.hash
new file mode 100644
index 0000000000..9e1beb467b
--- /dev/null
+++ b/package/piglit/piglit.hash
@@ -0,0 +1,6 @@
+# Locally calculated
+sha256 50e76e953630b929cf2e68fca2a2b19b1032b68f623805a5172ead2ef22bc3b4  piglit-c0350279c5c1972a1ccff65b91de10ab9f4567e9.tar.gz
+sha256 dcc398730859aee7cc1d6aa57f526f8d181b47bb3a49830e85b5723d5bc2c3bc  COPYING
+sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643  licences/GPL-2
+sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903  licences/GPL-3
+sha256 b7993225104d90ddd8024fd838faf300bea5e83d91203eab98e29512acebd69c  licences/LGPL-2
diff --git a/package/piglit/piglit.mk b/package/piglit/piglit.mk
new file mode 100644
index 0000000000..738107a834
--- /dev/null
+++ b/package/piglit/piglit.mk
@@ -0,0 +1,69 @@
+################################################################################
+#
+# piglit
+#
+################################################################################
+
+PIGLIT_VERSION = c0350279c5c1972a1ccff65b91de10ab9f4567e9
+PIGLIT_SITE = https://anongit.freedesktop.org/git/piglit.git
+PIGLIT_SITE_METHOD = git
+PIGLIT_LICENSE = MIT (code), \
+	LGPL-2.0+ (libpiglit*.so), \
+	GPL-3.0 (tests/glslparsertest/glsl2/norsetto-*), \
+	GPL-2.0+ (tests/glslparsertest/glsl2/gst-gl-*), \
+	BSD-3-Clause (tests/glslparsertest/shaders/*)
+PIGLIT_LICENSE_FILES = COPYING licences/GPL-2 licences/GPL-3 licences/LGPL-2
+
+PIGLIT_DEPENDENCIES = host-pkgconf \
+	host-python-mako \
+	host-python-numpy \
+	host-python-six \
+	libpng \
+	python-mako \
+	python-numpy \
+	python-six \
+	waffle \
+	zlib
+
+PIGLIT_CONF_OPTS += \
+	-DPIGLIT_USE_WAFFLE=ON \
+	-DPIGLIT_BUILD_CL_TESTS=OFF \
+	-DPIGLIT_BUILD_WGL_TESTS=OFF
+
+ifeq ($(BR2_PACKAGE_XORG7),y)
+# libxcb for xcb-dri2
+PIGLIT_DEPENDENCIES += \
+	xlib_libX11 \
+	xlib_libXext \
+	xorgproto \
+	$(if $(BR2_PACKAGE_LIBXCB),libxcb)
+endif
+
+ifeq ($(BR2_PACKAGE_HAS_LIBGL),y)
+PIGLIT_DEPENDENCIES += libgl libdrm
+PIGLIT_CONF_OPTS += -DPIGLIT_BUILD_GL_TESTS=ON
+else
+PIGLIT_CONF_OPTS += -DPIGLIT_BUILD_GL_TESTS=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_XORG7)$(BR2_PACKAGE_HAS_LIBGL),yy)
+PIGLIT_CONF_OPTS += -DPIGLIT_BUILD_GLX_TESTS=ON
+else
+PIGLIT_CONF_OPTS += -DPIGLIT_BUILD_GLX_TESTS=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_HAS_LIBGLES),y)
+PIGLIT_CONF_OPTS += -DPIGLIT_BUILD_GLES1_TESTS=ON \
+	-DPIGLIT_BUILD_GLES2_TESTS=ON \
+	-DPIGLIT_BUILD_GLES3_TESTS=ON
+else
+PIGLIT_CONF_OPTS += -DPIGLIT_BUILD_GLES1_TESTS=OFF \
+	-DPIGLIT_BUILD_GLES2_TESTS=OFF \
+	-DPIGLIT_BUILD_GLES3_TESTS=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_WAYLAND),y)
+PIGLIT_DEPENDENCIES += wayland libxkbcommon
+endif
+
+$(eval $(cmake-package))
-- 
2.14.4

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

* [Buildroot] [PATCH v3 2/3] package/waffle: new package
  2018-09-22 10:56 ` [Buildroot] [PATCH v3 2/3] package/waffle: new package Romain Naour
@ 2018-09-22 12:46   ` Thomas Petazzoni
  2018-09-22 18:15     ` Romain Naour
  2018-10-09 20:01   ` Thomas Petazzoni
  1 sibling, 1 reply; 8+ messages in thread
From: Thomas Petazzoni @ 2018-09-22 12:46 UTC (permalink / raw)
  To: buildroot

Hello,

On Sat, 22 Sep 2018 12:56:25 +0200, Romain Naour wrote:

> +config BR2_PACKAGE_WAFFLE
> +	bool "waffle"
> +	depends on BR2_PACKAGE_WAFFLE_SUPPORTS_GLX || \
> +		BR2_PACKAGE_WAFFLE_SUPPORTS_WAYLAND || \
> +		BR2_PACKAGE_WAFFLE_SUPPORTS_X11_EGL || \
> +		BR2_PACKAGE_WAFFLE_SUPPORTS_GBM
> +	depends on BR2_PACKAGE_HAS_LIBGLES # dlopen'ing the GLES libararies at runtime.

Are you sure that GLES support *must* be available ?

This seems very weird, because in a typical "desktop" context, with
X.org and GLX, you have full OpenGL support, but you don't have GLES
libraries available.

Is this dependency coming from actual runtime issues you have
encountered ? Could you explain it in a bit more details ?

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

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

* [Buildroot] [PATCH v3 2/3] package/waffle: new package
  2018-09-22 12:46   ` Thomas Petazzoni
@ 2018-09-22 18:15     ` Romain Naour
  0 siblings, 0 replies; 8+ messages in thread
From: Romain Naour @ 2018-09-22 18:15 UTC (permalink / raw)
  To: buildroot

Hi Thomas,

Le 22/09/2018 ? 14:46, Thomas Petazzoni a ?crit?:
> Hello,
> 
> On Sat, 22 Sep 2018 12:56:25 +0200, Romain Naour wrote:
> 
>> +config BR2_PACKAGE_WAFFLE
>> +	bool "waffle"
>> +	depends on BR2_PACKAGE_WAFFLE_SUPPORTS_GLX || \
>> +		BR2_PACKAGE_WAFFLE_SUPPORTS_WAYLAND || \
>> +		BR2_PACKAGE_WAFFLE_SUPPORTS_X11_EGL || \
>> +		BR2_PACKAGE_WAFFLE_SUPPORTS_GBM
>> +	depends on BR2_PACKAGE_HAS_LIBGLES # dlopen'ing the GLES libararies at runtime.
> 
> Are you sure that GLES support *must* be available ?
> 
> This seems very weird, because in a typical "desktop" context, with
> X.org and GLX, you have full OpenGL support, but you don't have GLES
> libraries available.
> 
> Is this dependency coming from actual runtime issues you have
> encountered ? Could you explain it in a bit more details ?

Well, no actual runtime issues.
I have them on my target and I haven't tested without them.
I'm not sure how behave waffle if the library is missing.

Best regards,
Romain

> 
> Thomas
> 

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

* [Buildroot] [PATCH v3 1/3] package/python-numpy: add host variant for piglit
  2018-09-22 10:56 [Buildroot] [PATCH v3 1/3] package/python-numpy: add host variant for piglit Romain Naour
  2018-09-22 10:56 ` [Buildroot] [PATCH v3 2/3] package/waffle: new package Romain Naour
  2018-09-22 10:56 ` [Buildroot] [PATCH v3 3/3] package/piglit: " Romain Naour
@ 2018-10-09 20:00 ` Thomas Petazzoni
  2 siblings, 0 replies; 8+ messages in thread
From: Thomas Petazzoni @ 2018-10-09 20:00 UTC (permalink / raw)
  To: buildroot

Hello,

On Sat, 22 Sep 2018 12:56:24 +0200, Romain Naour wrote:
> host-python-numpy is required by piglit buildsystem for crosscompiling.
> 
> Signed-off-by: Romain Naour <romain.naour@gmail.com>
> ---
>  package/python-numpy/python-numpy.mk | 1 +
>  1 file changed, 1 insertion(+)

Applied to master, thanks.

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

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

* [Buildroot] [PATCH v3 2/3] package/waffle: new package
  2018-09-22 10:56 ` [Buildroot] [PATCH v3 2/3] package/waffle: new package Romain Naour
  2018-09-22 12:46   ` Thomas Petazzoni
@ 2018-10-09 20:01   ` Thomas Petazzoni
  1 sibling, 0 replies; 8+ messages in thread
From: Thomas Petazzoni @ 2018-10-09 20:01 UTC (permalink / raw)
  To: buildroot

Hello,

On Sat, 22 Sep 2018 12:56:25 +0200, Romain Naour wrote:
> waffle has four "backends", each having their own dependencies.
> At least one "backend" must be enabled, otherwise Waffle will refuse to
> build. The "backends" are:
> 
>  - glx, which needs full OpenGL + x11-xcb
>  - wayland, which needs wayland-client, wayland-egl and EGL
>  - x11-egl, which needs x11-xcb and EGL
>  - gbm, which needs gbm, libudev and EGL
> 
> Backport an upstream patch fixing a build issue with musl toolchains.
> Add a new patch fixing build with Wayand without X11.
> 
> Signed-off-by: Romain Naour <romain.naour@gmail.com>
> ---
> v3: rework waffle backends dependencies (ThomasP)
> ---
>  DEVELOPERS                                         |  1 +
>  package/Config.in                                  |  1 +
>  ...-threads-Use-PTHREAD_MUTEX_RECURSIVE-by-d.patch | 54 ++++++++++++++++++++++
>  ...rd-cflags-from-.pc-files-to-waffle-cflags.patch | 40 ++++++++++++++++
>  package/waffle/Config.in                           | 48 +++++++++++++++++++
>  package/waffle/waffle.hash                         |  3 ++
>  package/waffle/waffle.mk                           | 48 +++++++++++++++++++
>  7 files changed, 195 insertions(+)
>  create mode 100644 package/waffle/0001-third_party-threads-Use-PTHREAD_MUTEX_RECURSIVE-by-d.patch
>  create mode 100644 package/waffle/0002-cmake-forward-cflags-from-.pc-files-to-waffle-cflags.patch
>  create mode 100644 package/waffle/Config.in
>  create mode 100644 package/waffle/waffle.hash
>  create mode 100644 package/waffle/waffle.mk

I dropped the dependency on libgles, since there is no such build
requirement in waffle. And then applied to master, thanks!

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

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

* [Buildroot] [PATCH v3 3/3] package/piglit: new package
  2018-09-22 10:56 ` [Buildroot] [PATCH v3 3/3] package/piglit: " Romain Naour
@ 2019-01-01 19:57   ` Romain Naour
  0 siblings, 0 replies; 8+ messages in thread
From: Romain Naour @ 2019-01-01 19:57 UTC (permalink / raw)
  To: buildroot

Hi,

Ping.

The first version of this patch was sent one year ago:
http://patchwork.ozlabs.org/patch/852832/

If someone can take a look, it would be great.

Best regards,
Romain

Le 22/09/2018 ? 12:56, Romain Naour a ?crit?:
> Piglit is an open-source test suite for OpenGL implementations.
> It's an python3 script based around several tools like glxinfo,
> wflinfo, dmesg.
> 
> Even though waffle support can be replaced by freeglut,
> using pliglit with waffle is recommended since freeglut
> will be replaced by waffle.
> 
> Signed-off-by: Romain Naour <romain.naour@gmail.com>
> ---
> v3: bump version, rebase after the switch to xorgproto
>     add a dependency on waffle package
>     reorder packages in Config.in
>     I'm not sure if we can avoid host-python-{mako,numpy,six} dependency
>     because the build system is checking with host-python.
>     Yocto packaging use the same workaround.
>     https://git.yoctoproject.org/cgit.cgi/poky/plain/meta/recipes-graphics/piglit/piglit_git.bb
> v2: bump version
> ---

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

end of thread, other threads:[~2019-01-01 19:57 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-09-22 10:56 [Buildroot] [PATCH v3 1/3] package/python-numpy: add host variant for piglit Romain Naour
2018-09-22 10:56 ` [Buildroot] [PATCH v3 2/3] package/waffle: new package Romain Naour
2018-09-22 12:46   ` Thomas Petazzoni
2018-09-22 18:15     ` Romain Naour
2018-10-09 20:01   ` Thomas Petazzoni
2018-09-22 10:56 ` [Buildroot] [PATCH v3 3/3] package/piglit: " Romain Naour
2019-01-01 19:57   ` Romain Naour
2018-10-09 20:00 ` [Buildroot] [PATCH v3 1/3] package/python-numpy: add host variant for piglit Thomas Petazzoni

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.