Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH/next v9 01/12] package/python3-mako: new package
@ 2019-08-11 13:17 Bernd Kuhls
  2019-08-11 13:17 ` [Buildroot] [PATCH/next v9 02/12] package/mesa3d: rename OSMesa option Bernd Kuhls
                   ` (10 more replies)
  0 siblings, 11 replies; 17+ messages in thread
From: Bernd Kuhls @ 2019-08-11 13:17 UTC (permalink / raw)
  To: buildroot

From: Romain Naour <romain.naour@smile.fr>

host-python3-mako will be used by python 3 only script used in the
build system of mesa3d package.

There is no way to force building host-oython-mako for python2 and
python3 [1].

[1] http://patchwork.ozlabs.org/patch/1084248/

Signed-off-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
 package/python-mako/python-mako.mk     |  2 ++
 package/python3-mako/python3-mako.hash |  1 +
 package/python3-mako/python3-mako.mk   | 21 +++++++++++++++++++++
 3 files changed, 24 insertions(+)
 create mode 120000 package/python3-mako/python3-mako.hash
 create mode 100644 package/python3-mako/python3-mako.mk

diff --git a/package/python-mako/python-mako.mk b/package/python-mako/python-mako.mk
index 0d06dc4986..f8478cf031 100644
--- a/package/python-mako/python-mako.mk
+++ b/package/python-mako/python-mako.mk
@@ -4,6 +4,8 @@
 #
 ################################################################################
 
+# Please keep in sync with
+# package/python3-mako/python3-mako.mk
 PYTHON_MAKO_VERSION = 1.0.6
 PYTHON_MAKO_SOURCE = Mako-$(PYTHON_MAKO_VERSION).tar.gz
 PYTHON_MAKO_SITE = https://pypi.python.org/packages/56/4b/cb75836863a6382199aefb3d3809937e21fa4cb0db15a4f4ba0ecc2e7e8e
diff --git a/package/python3-mako/python3-mako.hash b/package/python3-mako/python3-mako.hash
new file mode 120000
index 0000000000..068be91fb0
--- /dev/null
+++ b/package/python3-mako/python3-mako.hash
@@ -0,0 +1 @@
+../python-mako/python-mako.hash
\ No newline at end of file
diff --git a/package/python3-mako/python3-mako.mk b/package/python3-mako/python3-mako.mk
new file mode 100644
index 0000000000..41249bb040
--- /dev/null
+++ b/package/python3-mako/python3-mako.mk
@@ -0,0 +1,21 @@
+################################################################################
+#
+# python3-mako
+#
+################################################################################
+
+# Please keep in sync with
+# package/python-mako/python-mako.mk
+PYTHON3_MAKO_VERSION = 1.0.6
+PYTHON3_MAKO_SOURCE = Mako-$(PYTHON_MAKO_VERSION).tar.gz
+PYTHON3_MAKO_SITE = https://pypi.python.org/packages/56/4b/cb75836863a6382199aefb3d3809937e21fa4cb0db15a4f4ba0ecc2e7e8e
+PYTHON3_MAKO_SETUP_TYPE = setuptools
+PYTHON3_MAKO_LICENSE = MIT
+PYTHON3_MAKO_LICENSE_FILES = LICENSE
+HOST_PYTHON3_MAKO_DL_SUBDIR = python-mako
+HOST_PYTHON3_MAKO_NEEDS_HOST_PYTHON = python3
+
+# In host build, setup.py tries to download markupsafe if it is not installed
+HOST_PYTHON3_MAKO_DEPENDENCIES = host-python-markupsafe
+
+$(eval $(host-python-package))
-- 
2.20.1

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

* [Buildroot] [PATCH/next v9 02/12] package/mesa3d: rename OSMesa option
  2019-08-11 13:17 [Buildroot] [PATCH/next v9 01/12] package/python3-mako: new package Bernd Kuhls
@ 2019-08-11 13:17 ` Bernd Kuhls
  2019-08-13 19:09   ` André Hentschel
  2019-08-11 13:17 ` [Buildroot] [PATCH/next v9 03/12] package/mesa3d: add OSMesa classic needs dri swrast Bernd Kuhls
                   ` (9 subsequent siblings)
  10 siblings, 1 reply; 17+ messages in thread
From: Bernd Kuhls @ 2019-08-11 13:17 UTC (permalink / raw)
  To: buildroot

From: Romain Naour <romain.naour@smile.fr>

This option is renamed in order to match the naming used by the
meson buildsystem.

Signed-off-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
 Config.in.legacy                     | 10 ++++++++++
 package/mesa3d-demos/mesa3d-demos.mk |  2 +-
 package/mesa3d/Config.in             |  8 ++++----
 package/mesa3d/mesa3d.mk             |  2 +-
 package/wine/wine.mk                 |  2 +-
 5 files changed, 17 insertions(+), 7 deletions(-)

diff --git a/Config.in.legacy b/Config.in.legacy
index de05b07c97..4b5a2ce41e 100644
--- a/Config.in.legacy
+++ b/Config.in.legacy
@@ -144,6 +144,16 @@ endif
 
 ###############################################################################
 
+comment "Legacy options removed in 2019.11"
+
+config BR2_PACKAGE_MESA3D_OSMESA
+	bool "mesa OSMesa option renamed"
+	select BR2_PACKAGE_MESA3D_OSMESA_CLASSIC
+	select BR2_LEGACY
+	help
+	  The option was renamed in order to match the naming used
+	  by the meson buildsystem.
+
 comment "Legacy options removed in 2019.08"
 
 config BR2_GCC_VERSION_6_X
diff --git a/package/mesa3d-demos/mesa3d-demos.mk b/package/mesa3d-demos/mesa3d-demos.mk
index ddff9b9ed9..e9aa44dc2e 100644
--- a/package/mesa3d-demos/mesa3d-demos.mk
+++ b/package/mesa3d-demos/mesa3d-demos.mk
@@ -61,7 +61,7 @@ ifeq ($(BR2_PACKAGE_LIBFREEGLUT),y)
 MESA3D_DEMOS_DEPENDENCIES += libfreeglut
 MESA3D_DEMOS_CONF_OPTS += --with-glut=$(STAGING_DIR)/usr
 # osmesa support depends on glut
-ifeq ($(BR2_PACKAGE_MESA3D_OSMESA),y)
+ifeq ($(BR2_PACKAGE_MESA3D_OSMESA_CLASSIC),y)
 MESA3D_DEMOS_CONF_OPTS += --enable-osmesa
 else
 MESA3D_DEMOS_CONF_OPTS += --disable-osmesa
diff --git a/package/mesa3d/Config.in b/package/mesa3d/Config.in
index 3f44e94229..bd05116aca 100644
--- a/package/mesa3d/Config.in
+++ b/package/mesa3d/Config.in
@@ -265,11 +265,11 @@ comment "intel vulkan depends on X.org and needs a glibc toolchain w/ headers >=
 
 comment "Off-screen Rendering"
 
-config BR2_PACKAGE_MESA3D_OSMESA
-	bool "OSMesa library"
+config BR2_PACKAGE_MESA3D_OSMESA_CLASSIC
+	bool "OSMesa (classic) library"
 	help
-	  The OSMesa API provides functions for making off-screen
-	  renderings.
+	  The OSMesa classic API provides functions for
+	  making off-screen renderings.
 
 if BR2_PACKAGE_MESA3D_DRIVER
 
diff --git a/package/mesa3d/mesa3d.mk b/package/mesa3d/mesa3d.mk
index b1799067ee..81736c83d3 100644
--- a/package/mesa3d/mesa3d.mk
+++ b/package/mesa3d/mesa3d.mk
@@ -156,7 +156,7 @@ endif
 
 # APIs
 
-ifeq ($(BR2_PACKAGE_MESA3D_OSMESA),y)
+ifeq ($(BR2_PACKAGE_MESA3D_OSMESA_CLASSIC),y)
 MESA3D_CONF_OPTS += --enable-osmesa
 else
 MESA3D_CONF_OPTS += --disable-osmesa
diff --git a/package/wine/wine.mk b/package/wine/wine.mk
index 78fa860ecf..a09fcdff23 100644
--- a/package/wine/wine.mk
+++ b/package/wine/wine.mk
@@ -195,7 +195,7 @@ else
 WINE_CONF_OPTS += --without-ldap
 endif
 
-ifeq ($(BR2_PACKAGE_MESA3D_OSMESA),y)
+ifeq ($(BR2_PACKAGE_MESA3D_OSMESA_CLASSIC),y)
 WINE_CONF_OPTS += --with-osmesa
 WINE_DEPENDENCIES += mesa3d
 else
-- 
2.20.1

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

* [Buildroot] [PATCH/next v9 03/12] package/mesa3d: add OSMesa classic needs dri swrast
  2019-08-11 13:17 [Buildroot] [PATCH/next v9 01/12] package/python3-mako: new package Bernd Kuhls
  2019-08-11 13:17 ` [Buildroot] [PATCH/next v9 02/12] package/mesa3d: rename OSMesa option Bernd Kuhls
@ 2019-08-11 13:17 ` Bernd Kuhls
  2019-08-11 13:17 ` [Buildroot] [PATCH/next v9 04/12] package/mesa3d: Only one swrast provider can be built Bernd Kuhls
                   ` (8 subsequent siblings)
  10 siblings, 0 replies; 17+ messages in thread
From: Bernd Kuhls @ 2019-08-11 13:17 UTC (permalink / raw)
  To: buildroot

From: Romain Naour <romain.naour@smile.fr>

The meson build system now check if dri swrast is enabled
when OSMesa classic is enabled.

See:
https://cgit.freedesktop.org/mesa/mesa/commit/?id=cbbd5bb889a2c271a504c379f36a7cb717a85af4

Signed-off-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
 package/mesa3d/Config.in | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/package/mesa3d/Config.in b/package/mesa3d/Config.in
index bd05116aca..9bb95c3fd6 100644
--- a/package/mesa3d/Config.in
+++ b/package/mesa3d/Config.in
@@ -267,10 +267,14 @@ comment "Off-screen Rendering"
 
 config BR2_PACKAGE_MESA3D_OSMESA_CLASSIC
 	bool "OSMesa (classic) library"
+	depends on BR2_PACKAGE_MESA3D_DRI_DRIVER_SWRAST
 	help
 	  The OSMesa classic API provides functions for
 	  making off-screen renderings.
 
+comment "OSMesa classic requires dri (classic) swrast"
+	depends on !BR2_PACKAGE_MESA3D_DRI_DRIVER_SWRAST
+
 if BR2_PACKAGE_MESA3D_DRIVER
 
 comment "Additional API Support"
-- 
2.20.1

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

* [Buildroot] [PATCH/next v9 04/12] package/mesa3d: Only one swrast provider can be built
  2019-08-11 13:17 [Buildroot] [PATCH/next v9 01/12] package/python3-mako: new package Bernd Kuhls
  2019-08-11 13:17 ` [Buildroot] [PATCH/next v9 02/12] package/mesa3d: rename OSMesa option Bernd Kuhls
  2019-08-11 13:17 ` [Buildroot] [PATCH/next v9 03/12] package/mesa3d: add OSMesa classic needs dri swrast Bernd Kuhls
@ 2019-08-11 13:17 ` Bernd Kuhls
  2019-08-11 13:17 ` [Buildroot] [PATCH/next v9 05/12] package/mesa3d: add xvmc option Bernd Kuhls
                   ` (7 subsequent siblings)
  10 siblings, 0 replies; 17+ messages in thread
From: Bernd Kuhls @ 2019-08-11 13:17 UTC (permalink / raw)
  To: buildroot

From: Romain Naour <romain.naour@smile.fr>

https://cgit.freedesktop.org/mesa/mesa/commit/?id=de24d61765011ed4bfc169b8ad8cf67e86b1f3bd

Signed-off-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
 package/mesa3d/Config.in | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/package/mesa3d/Config.in b/package/mesa3d/Config.in
index 9bb95c3fd6..6ec395723a 100644
--- a/package/mesa3d/Config.in
+++ b/package/mesa3d/Config.in
@@ -173,11 +173,15 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SVGA
 
 config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SWRAST
 	bool "Gallium swrast driver"
+	depends on !BR2_PACKAGE_MESA3D_DRI_DRIVER_SWRAST
 	select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
 	help
 	  This is a software opengl implementation using the Gallium3D
 	  infrastructure.
 
+comment "Gallium swrast: Only one swrast provider can be built"
+	depends on BR2_PACKAGE_MESA3D_DRI_DRIVER_SWRAST
+
 config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VC4
 	bool "Gallium vc4 driver"
 	depends on BR2_ARM_CPU_HAS_NEON || BR2_aarch64
-- 
2.20.1

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

* [Buildroot] [PATCH/next v9 05/12] package/mesa3d: add xvmc option
  2019-08-11 13:17 [Buildroot] [PATCH/next v9 01/12] package/python3-mako: new package Bernd Kuhls
                   ` (2 preceding siblings ...)
  2019-08-11 13:17 ` [Buildroot] [PATCH/next v9 04/12] package/mesa3d: Only one swrast provider can be built Bernd Kuhls
@ 2019-08-11 13:17 ` Bernd Kuhls
  2019-08-11 13:17 ` [Buildroot] [PATCH/next v9 06/12] package/mesa3d: Gallium xa state tracker is only available for nouveau and svga Gallium drivers Bernd Kuhls
                   ` (6 subsequent siblings)
  10 siblings, 0 replies; 17+ messages in thread
From: Bernd Kuhls @ 2019-08-11 13:17 UTC (permalink / raw)
  To: buildroot

From: Romain Naour <romain.naour@smile.fr>

"XVMC state tracker requires at least one of the following gallium drivers: r600, nouveau."

https://cgit.freedesktop.org/mesa/mesa/commit/?id=22a817af8a89eb3c762fc3e07b443a3ce37d7416

Signed-off-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
 package/mesa3d/Config.in | 14 ++++++++++++++
 package/mesa3d/mesa3d.mk |  2 +-
 2 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/package/mesa3d/Config.in b/package/mesa3d/Config.in
index 6ec395723a..72548adf57 100644
--- a/package/mesa3d/Config.in
+++ b/package/mesa3d/Config.in
@@ -312,6 +312,20 @@ config BR2_PACKAGE_PROVIDES_LIBGLES
 config BR2_PACKAGE_PROVIDES_LIBOPENCL
 	default "mesa3d" if BR2_PACKAGE_MESA3D_OPENCL
 
+config BR2_PACKAGE_MESA3D_XVMC
+	bool "XvMC state tracker"
+	depends on BR2_PACKAGE_XORG7
+	depends on BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_NOUVEAU \
+		|| BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_R600
+	select BR2_PACKAGE_XLIB_LIBXVMC
+	help
+	  XVMC state tracker (needs r600 or nouveau gallium drivers).
+
+comment "XvMC depends on X.org and needs gallium drivers: r600, nouveau"
+	depends on !BR2_PACKAGE_XORG7
+	depends on !BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_NOUVEAU \
+		|| !BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_R600
+
 endif # BR2_PACKAGE_MESA3D
 
 comment "mesa3d needs a toolchain w/ C++, NPTL, dynamic library"
diff --git a/package/mesa3d/mesa3d.mk b/package/mesa3d/mesa3d.mk
index 81736c83d3..5fb6c5aee9 100644
--- a/package/mesa3d/mesa3d.mk
+++ b/package/mesa3d/mesa3d.mk
@@ -220,7 +220,7 @@ else
 MESA3D_CONF_OPTS += --disable-gles1 --disable-gles2
 endif
 
-ifeq ($(BR2_PACKAGE_XLIB_LIBXVMC),y)
+ifeq ($(BR2_PACKAGE_MESA3D_XVMC),y)
 MESA3D_DEPENDENCIES += xlib_libXvMC
 MESA3D_CONF_OPTS += --enable-xvmc
 else
-- 
2.20.1

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

* [Buildroot] [PATCH/next v9 06/12] package/mesa3d: Gallium xa state tracker is only available for nouveau and svga Gallium drivers
  2019-08-11 13:17 [Buildroot] [PATCH/next v9 01/12] package/python3-mako: new package Bernd Kuhls
                   ` (3 preceding siblings ...)
  2019-08-11 13:17 ` [Buildroot] [PATCH/next v9 05/12] package/mesa3d: add xvmc option Bernd Kuhls
@ 2019-08-11 13:17 ` Bernd Kuhls
  2019-08-11 13:17 ` [Buildroot] [PATCH/next v9 07/12] package/mesa3d: add a new option to enable GLX support Bernd Kuhls
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 17+ messages in thread
From: Bernd Kuhls @ 2019-08-11 13:17 UTC (permalink / raw)
  To: buildroot

From: Romain Naour <romain.naour@smile.fr>

i915 and freedreno Gallium drivers are not currently supported by mesa3d package.

https://cgit.freedesktop.org/mesa/mesa/commit/?id=0ba909f0f111824223bc38563d1a6bc73e69c2cc

Signed-off-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
 package/mesa3d/Config.in | 6 +++---
 package/mesa3d/mesa3d.mk | 1 -
 2 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/package/mesa3d/Config.in b/package/mesa3d/Config.in
index 72548adf57..eba218efb2 100644
--- a/package/mesa3d/Config.in
+++ b/package/mesa3d/Config.in
@@ -80,6 +80,9 @@ config BR2_PACKAGE_MESA3D_VULKAN_DRIVER
 config BR2_PACKAGE_MESA3D_DRIVER
 	bool
 
+# Gallium xa state tracker.
+# Quote from mesa3d meson.build: "XA state tracker requires at least
+# one of the following gallium drivers: nouveau, freedreno, i915, svga.
 config BR2_PACKAGE_MESA3D_NEEDS_XA
 	bool
 
@@ -129,7 +132,6 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_R600
 	select BR2_PACKAGE_LLVM_AMDGPU if BR2_PACKAGE_MESA3D_LLVM
 	select BR2_PACKAGE_ELFUTILS if BR2_PACKAGE_MESA3D_LLVM
 	select BR2_PACKAGE_MESA3D_NEEDS_ELFUTILS if BR2_PACKAGE_MESA3D_LLVM
-	select BR2_PACKAGE_MESA3D_NEEDS_XA
 	help
 	  Driver for ATI/AMD Radeon R600/R700/HD5000/HD6000 GPUs.
 
@@ -151,7 +153,6 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_RADEONSI
 	select BR2_PACKAGE_LLVM_AMDGPU
 	select BR2_PACKAGE_ELFUTILS
 	select BR2_PACKAGE_MESA3D_NEEDS_ELFUTILS
-	select BR2_PACKAGE_MESA3D_NEEDS_XA
 	help
 	  Driver for ATI/AMD Radeon HD7000/HD8000/Rx200 GPUs.
 
@@ -188,7 +189,6 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VC4
 	select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
 	select BR2_PACKAGE_MESA3D_GALLIUM_KMSRO
 	select BR2_PACKAGE_LIBDRM_VC4
-	select BR2_PACKAGE_MESA3D_NEEDS_XA
 	select BR2_PACKAGE_MESA3D_OPENGL_EGL
 	help
 	  Driver for Broadcom VC4 (rpi2/3) GPUs.
diff --git a/package/mesa3d/mesa3d.mk b/package/mesa3d/mesa3d.mk
index 5fb6c5aee9..caa38771e6 100644
--- a/package/mesa3d/mesa3d.mk
+++ b/package/mesa3d/mesa3d.mk
@@ -83,7 +83,6 @@ MESA3D_DEPENDENCIES += \
 	xorgproto \
 	libxcb
 MESA3D_CONF_OPTS += --enable-glx --disable-mangling
-# quote from mesa3d configure "Building xa requires at least one non swrast gallium driver."
 ifeq ($(BR2_PACKAGE_MESA3D_NEEDS_XA),y)
 MESA3D_CONF_OPTS += --enable-xa
 else
-- 
2.20.1

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

* [Buildroot] [PATCH/next v9 07/12] package/mesa3d: add a new option to enable GLX support
  2019-08-11 13:17 [Buildroot] [PATCH/next v9 01/12] package/python3-mako: new package Bernd Kuhls
                   ` (4 preceding siblings ...)
  2019-08-11 13:17 ` [Buildroot] [PATCH/next v9 06/12] package/mesa3d: Gallium xa state tracker is only available for nouveau and svga Gallium drivers Bernd Kuhls
@ 2019-08-11 13:17 ` Bernd Kuhls
  2019-08-11 20:31   ` Romain Naour
  2019-08-11 13:17 ` [Buildroot] [PATCH/next v9 08/12] package/mesa3d: switch build system to meson Bernd Kuhls
                   ` (4 subsequent siblings)
  10 siblings, 1 reply; 17+ messages in thread
From: Bernd Kuhls @ 2019-08-11 13:17 UTC (permalink / raw)
  To: buildroot

From: Romain Naour <romain.naour@smile.fr>

When switching to meson build system, enabling GLX support
require at least one DRI or Gallium dirver.

So add a dependency on BR2_PACKAGE_MESA3D_DRIVER for
BR2_PACKAGE_MESA3D_OPENGL_GLX option.

quoting the meson build system:
"dri based GLX requires at least one DRI driver." [1]
"Even when building just gallium drivers the user probably wants dri." [2]

[1] https://cgit.freedesktop.org/mesa/mesa/tree/meson.build?h=19.0#n340
[2] https://cgit.freedesktop.org/mesa/mesa/tree/meson.build?h=19.0#n266

Signed-off-by: Romain Naour <romain.naour@smile.fr>
[Bernd: moved x11 dependencies from glx condition to xorg7 condition to
 fix build error with enabled egl without glx
 BR2_PACKAGE_HAS_LIBGL needs to depend on BR2_PACKAGE_MESA3D_OPENGL_GLX]

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
v9: fixed x11 dependency

 package/mesa3d/Config.in | 32 ++++++++++++++++++++++----------
 package/mesa3d/mesa3d.mk | 24 ++++++++++++------------
 2 files changed, 34 insertions(+), 22 deletions(-)

diff --git a/package/mesa3d/Config.in b/package/mesa3d/Config.in
index eba218efb2..f5f3f63e22 100644
--- a/package/mesa3d/Config.in
+++ b/package/mesa3d/Config.in
@@ -6,16 +6,7 @@ menuconfig BR2_PACKAGE_MESA3D
 	depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
 	select BR2_PACKAGE_LIBDRM
 	select BR2_PACKAGE_EXPAT
-	select BR2_PACKAGE_HAS_LIBGL if BR2_PACKAGE_XORG7
 	select BR2_PACKAGE_WAYLAND_PROTOCOLS if BR2_PACKAGE_WAYLAND
-	select BR2_PACKAGE_XORGPROTO if BR2_PACKAGE_XORG7
-	select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_XORG7
-	select BR2_PACKAGE_XLIB_LIBXEXT if BR2_PACKAGE_XORG7
-	select BR2_PACKAGE_XLIB_LIBXDAMAGE if BR2_PACKAGE_XORG7
-	select BR2_PACKAGE_XLIB_LIBXFIXES if BR2_PACKAGE_XORG7
-	select BR2_PACKAGE_XLIB_LIBXRANDR if BR2_PACKAGE_XORG7
-	select BR2_PACKAGE_XLIB_LIBXXF86VM if BR2_PACKAGE_XORG7
-	select BR2_PACKAGE_LIBXCB if BR2_PACKAGE_XORG7
 	select BR2_PACKAGE_ZLIB
 	help
 	  Mesa 3D, an open-source implementation of the OpenGL
@@ -281,6 +272,27 @@ comment "OSMesa classic requires dri (classic) swrast"
 
 if BR2_PACKAGE_MESA3D_DRIVER
 
+comment "OpenGL API Support"
+
+config BR2_PACKAGE_MESA3D_OPENGL_GLX
+	bool "OpenGL GLX"
+	depends on BR2_PACKAGE_XORG7
+	select BR2_PACKAGE_HAS_LIBGL
+	select BR2_PACKAGE_LIBXCB
+	select BR2_PACKAGE_XLIB_LIBX11
+	select BR2_PACKAGE_XLIB_LIBXDAMAGE
+	select BR2_PACKAGE_XLIB_LIBXEXT
+	select BR2_PACKAGE_XLIB_LIBXFIXES
+	select BR2_PACKAGE_XLIB_LIBXRANDR
+	select BR2_PACKAGE_XLIB_LIBXXF86VM
+	select BR2_PACKAGE_XORGPROTO
+	help
+	  Enable GLX graphic acceleration (OpenGL + X11).
+	  GLX support needs X11 and at least one DRI or Gallium driver.
+
+comment "OpenGL GLX support needs X11"
+	depends on !BR2_PACKAGE_XORG7
+
 comment "Additional API Support"
 
 config BR2_PACKAGE_MESA3D_OPENGL_EGL
@@ -301,7 +313,7 @@ config BR2_PACKAGE_MESA3D_OPENGL_ES
 endif # BR2_PACKAGE_MESA3D_DRIVER
 
 config BR2_PACKAGE_PROVIDES_LIBGL
-	default "mesa3d" if BR2_PACKAGE_XORG7
+	default "mesa3d" if BR2_PACKAGE_MESA3D_OPENGL_GLX
 
 config BR2_PACKAGE_PROVIDES_LIBEGL
 	default "mesa3d" if BR2_PACKAGE_MESA3D_OPENGL_EGL
diff --git a/package/mesa3d/mesa3d.mk b/package/mesa3d/mesa3d.mk
index caa38771e6..1987cb358a 100644
--- a/package/mesa3d/mesa3d.mk
+++ b/package/mesa3d/mesa3d.mk
@@ -72,16 +72,7 @@ MESA3D_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -mno-compact-eh"
 MESA3D_CONF_ENV += CXXFLAGS="$(TARGET_CXXFLAGS) -mno-compact-eh"
 endif
 
-ifeq ($(BR2_PACKAGE_XORG7),y)
-MESA3D_DEPENDENCIES += \
-	xlib_libX11 \
-	xlib_libXext \
-	xlib_libXdamage \
-	xlib_libXfixes \
-	xlib_libXrandr \
-	xlib_libXxf86vm \
-	xorgproto \
-	libxcb
+ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_GLX),y)
 MESA3D_CONF_OPTS += --enable-glx --disable-mangling
 ifeq ($(BR2_PACKAGE_MESA3D_NEEDS_XA),y)
 MESA3D_CONF_OPTS += --enable-xa
@@ -170,7 +161,7 @@ MESA3D_CONF_OPTS += --enable-opengl --enable-dri
 MESA3D_CONF_OPTS += --disable-va
 
 # libGL is only provided for a full xorg stack
-ifeq ($(BR2_PACKAGE_XORG7),y)
+ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_GLX),y)
 MESA3D_PROVIDES += libgl
 else
 define MESA3D_REMOVE_OPENGL_HEADERS
@@ -195,7 +186,16 @@ ifeq ($(BR2_PACKAGE_WAYLAND),y)
 MESA3D_DEPENDENCIES += wayland wayland-protocols
 MESA3D_PLATFORMS += wayland
 endif
-ifeq ($(BR2_PACKAGE_XORG7),y)
+ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_GLX),y)
+MESA3D_DEPENDENCIES += \
+	xlib_libX11 \
+	xlib_libXext \
+	xlib_libXdamage \
+	xlib_libXfixes \
+	xlib_libXrandr \
+	xlib_libXxf86vm \
+	xorgproto \
+	libxcb
 MESA3D_PLATFORMS += x11
 endif
 
-- 
2.20.1

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

* [Buildroot] [PATCH/next v9 08/12] package/mesa3d: switch build system to meson
  2019-08-11 13:17 [Buildroot] [PATCH/next v9 01/12] package/python3-mako: new package Bernd Kuhls
                   ` (5 preceding siblings ...)
  2019-08-11 13:17 ` [Buildroot] [PATCH/next v9 07/12] package/mesa3d: add a new option to enable GLX support Bernd Kuhls
@ 2019-08-11 13:17 ` Bernd Kuhls
  2019-08-11 20:39   ` Romain Naour
  2019-08-11 13:17 ` [Buildroot] [PATCH/next v9 09/12] package/mesa3d: select kmsro for etnaviv Bernd Kuhls
                   ` (3 subsequent siblings)
  10 siblings, 1 reply; 17+ messages in thread
From: Bernd Kuhls @ 2019-08-11 13:17 UTC (permalink / raw)
  To: buildroot

Update patches for meson:
0002-configure.ac-invert-order-for-wayland-scanner-check.patch
0003-set-LIBCLC_INCLUDEDIR.patch

Disable unused options that are set to "auto" mode.
(valgrind, gallium-omx, power8).

Remove --disable-static option since there is no meson equivalent.
Remove --disable-mangling since it's not yet supported by meson.

Use r100 instead of radeon as DRI name for BR2_PACKAGE_MESA3D_DRI_DRIVER_RADEON.

Add a new depedency on host-python3-mako since we can't use
generated headers from the release archive [2].

[1] http://patchwork.ozlabs.org/patch/1084248/
[2] http://lists.busybox.net/pipermail/buildroot/2019-April/249057.html

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Romain Naour <romain.naour@smile.fr>
Cc: Peter Seiderer <ps.report@gmx.net>
---
 ...vert-order-for-wayland-scanner-check.patch |  51 --------
 ...d-scanner-provided-by-wayland-scanne.patch |  52 ++++++++
 ...t-proper-value-for-LIBCLC_INCLUDEDIR.patch |  39 ++++++
 .../mesa3d/0003-set-LIBCLC_INCLUDEDIR.patch   |  37 ------
 package/mesa3d/Config.in                      |   3 +-
 package/mesa3d/mesa3d.mk                      | 118 +++++++++---------
 6 files changed, 149 insertions(+), 151 deletions(-)
 delete mode 100644 package/mesa3d/0002-configure.ac-invert-order-for-wayland-scanner-check.patch
 create mode 100644 package/mesa3d/0002-meson-use-wayland-scanner-provided-by-wayland-scanne.patch
 create mode 100644 package/mesa3d/0003-meson-Set-proper-value-for-LIBCLC_INCLUDEDIR.patch
 delete mode 100644 package/mesa3d/0003-set-LIBCLC_INCLUDEDIR.patch

diff --git a/package/mesa3d/0002-configure.ac-invert-order-for-wayland-scanner-check.patch b/package/mesa3d/0002-configure.ac-invert-order-for-wayland-scanner-check.patch
deleted file mode 100644
index 5135528795..0000000000
--- a/package/mesa3d/0002-configure.ac-invert-order-for-wayland-scanner-check.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From ef96bac7cbbb11b98606864ead0f731dd5b71d5a Mon Sep 17 00:00:00 2001
-From: Gustavo Zacarias <gustavo@zacarias.com.ar>
-Date: Thu, 17 Nov 2016 15:36:54 -0300
-Subject: [PATCH] configure.ac: invert order for wayland-scanner check
-
-When cross-compiling the .pc file might point to the wrong
-wayland-scanner binary (target rather than host) resulting in a
-non-executable and wrong scanner.
-Try searching the PATH first, and if that fails fall back into
-pkg-config.
-
-[Vincent: tweak patch for 17.1.1 version]
-
-Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
-Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
-[Romain: rebase on 18.1]
-Signed-off-by: Romain Naour <romain.naour@gmail.com>
-[Bernd rebase on 18.3]
-Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
----
- configure.ac | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index f1fbdcc6c7..dcf87e7dd6 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -1841,17 +1841,16 @@
-         fi
-         WAYLAND_PROTOCOLS_DATADIR=`$PKG_CONFIG --variable=pkgdatadir wayland-protocols`
- 
--        PKG_CHECK_MODULES([WAYLAND_SCANNER], [wayland-scanner],
-+        AC_PATH_PROG([WAYLAND_SCANNER], [wayland-scanner], [:])
-+        if test "x$WAYLAND_SCANNER" = x; then
-+                PKG_CHECK_MODULES([WAYLAND_SCANNER], [wayland-scanner],
-                           WAYLAND_SCANNER=`$PKG_CONFIG --variable=wayland_scanner wayland-scanner`,
-                           WAYLAND_SCANNER='')
-+        fi
-         PKG_CHECK_EXISTS([wayland-scanner >= 1.15],
-                           AC_SUBST(SCANNER_ARG, 'private-code'),
-                           AC_SUBST(SCANNER_ARG, 'code'))
- 
--        if test "x$WAYLAND_SCANNER" = x; then
--            AC_PATH_PROG([WAYLAND_SCANNER], [wayland-scanner], [:])
--        fi
--
-         if test "x$WAYLAND_SCANNER" = "x:"; then
-                 AC_MSG_ERROR([wayland-scanner is needed to compile the wayland platform])
-         fi
--- 
-2.14.3
diff --git a/package/mesa3d/0002-meson-use-wayland-scanner-provided-by-wayland-scanne.patch b/package/mesa3d/0002-meson-use-wayland-scanner-provided-by-wayland-scanne.patch
new file mode 100644
index 0000000000..784b27c4a2
--- /dev/null
+++ b/package/mesa3d/0002-meson-use-wayland-scanner-provided-by-wayland-scanne.patch
@@ -0,0 +1,52 @@
+From 0e107f7bac8d84d8fb2bb5b83bfb4474348a82c1 Mon Sep 17 00:00:00 2001
+From: Romain Naour <romain.naour@smile.fr>
+Date: Wed, 17 Apr 2019 22:47:05 +0200
+Subject: [PATCH] meson: use wayland-scanner provided by wayland-scanner-path
+
+When cross-compiling the .pc file might point to the wrong
+wayland-scanner binary (target rather than host) resulting in a
+non-executable and wrong scanner.
+First try by using the path provided by wayland-scanner-path,
+and if that fails fall back into pkg-config.
+
+Based on the patch for autotools provided by Gustavo Zacarias.
+
+Signed-off-by: Romain Naour <romain.naour@smile.fr>
+---
+ meson.build       | 5 ++++-
+ meson_options.txt | 6 ++++++
+ 2 files changed, 10 insertions(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 6c4f1508855..ef0532b2cfb 100644
+--- a/meson.build
++++ b/meson.build
+@@ -1319,7 +1319,10 @@ endif
+ 
+ if with_platform_wayland
+   dep_wl_scanner = dependency('wayland-scanner', native: true)
+-  prog_wl_scanner = find_program(dep_wl_scanner.get_pkgconfig_variable('wayland_scanner'))
++  prog_wl_scanner = get_option('wayland-scanner-path')
++  if prog_wl_scanner == ''
++    prog_wl_scanner = find_program(dep_wl_scanner.get_pkgconfig_variable('wayland_scanner'))
++  endif
+   if dep_wl_scanner.version().version_compare('>= 1.15')
+     wl_scanner_arg = 'private-code'
+   else
+diff --git a/meson_options.txt b/meson_options.txt
+index ccf70659ff7..59ff8df8337 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -324,3 +324,9 @@ option(
+   value : true,
+   description : 'Enable direct rendering in GLX and EGL for DRI',
+ )
++option(
++  'wayland-scanner-path',
++  type : 'string',
++  value : '',
++  description : 'Locations to wayland-scanner binary. Default: use path from pkg-config'
++)
+-- 
+2.20.1
+
diff --git a/package/mesa3d/0003-meson-Set-proper-value-for-LIBCLC_INCLUDEDIR.patch b/package/mesa3d/0003-meson-Set-proper-value-for-LIBCLC_INCLUDEDIR.patch
new file mode 100644
index 0000000000..072d79a213
--- /dev/null
+++ b/package/mesa3d/0003-meson-Set-proper-value-for-LIBCLC_INCLUDEDIR.patch
@@ -0,0 +1,39 @@
+From 7b46756a99aca7f27a45c3b99460f088570f6f53 Mon Sep 17 00:00:00 2001
+From: Romain Naour <romain.naour@smile.fr>
+Date: Wed, 17 Apr 2019 23:07:42 +0200
+Subject: [PATCH] meson: Set proper value for LIBCLC_INCLUDEDIR
+
+LIBCLC_INCLUDEDIR is the location where mesa3d OpenCL implementation
+will look for OpenCL "headers" on the target, when building the OpenCL
+kernels.
+
+The value returned by pkg-config for includedir is relevant when
+cross-compiling, on the build machine. But in this specific case, we
+really need a value that is valid on the target.
+
+Those headers are installed by the libclc package in /usr/share so
+that they are not removed by Buildroot target-finalize logic.
+
+Based on the patch for autotools provided by Valentin Korenblit.
+
+Signed-off-by: Romain Naour <romain.naour@smile.fr>
+---
+ src/gallium/state_trackers/clover/meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/gallium/state_trackers/clover/meson.build b/src/gallium/state_trackers/clover/meson.build
+index 62ac5f5278d..ecdeb39669c 100644
+--- a/src/gallium/state_trackers/clover/meson.build
++++ b/src/gallium/state_trackers/clover/meson.build
+@@ -49,7 +49,7 @@ libclllvm = static_library(
+   include_directories : clover_incs,
+   cpp_args : [
+     cpp_vis_args,
+-    '-DLIBCLC_INCLUDEDIR="@0@/"'.format(dep_clc.get_pkgconfig_variable('includedir')),
++    '-DLIBCLC_INCLUDEDIR="/usr/share"',
+     '-DLIBCLC_LIBEXECDIR="@0@/"'.format(dep_clc.get_pkgconfig_variable('libexecdir')),
+     '-DCLANG_RESOURCE_DIR="@0@"'.format(join_paths(
+       dep_llvm.get_configtool_variable('libdir'), 'clang',
+-- 
+2.20.1
+
diff --git a/package/mesa3d/0003-set-LIBCLC_INCLUDEDIR.patch b/package/mesa3d/0003-set-LIBCLC_INCLUDEDIR.patch
deleted file mode 100644
index 42ae826a36..0000000000
--- a/package/mesa3d/0003-set-LIBCLC_INCLUDEDIR.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 94bceeb621e36f3188c6246a763def8695526578 Mon Sep 17 00:00:00 2001
-From: Valentin Korenblit <valentinkorenblit@gmail.com>
-Date: Sat, 20 Oct 2018 10:56:23 +0200
-Subject: [PATCH] Set proper value for LIBCLC_INCLUDEDIR
-
-LIBCLC_INCLUDEDIR is the location where mesa3d OpenCL implementation
-will look for OpenCL "headers" on the target, when building the OpenCL
-kernels.
-
-The value returned by pkg-config for includedir is relevant when
-cross-compiling, on the build machine. But in this specific case, we
-really need a value that is valid on the target.
-
-Those headers are installed by the libclc package in /usr/share so
-that they are not removed by Buildroot target-finalize logic.
-
-Signed-off-by: Valentin Korenblit <valentinkorenblit@gmail.com>
----
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index 864dcae..cc2390b 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -2429,7 +2429,7 @@ if test "x$enable_opencl" = xyes; then
-                     PKG_CONFIG_PATH environment variable.
-                     By default libclc.pc is installed to /usr/local/share/pkgconfig/])
-     else
--        LIBCLC_INCLUDEDIR=`$PKG_CONFIG --variable=includedir libclc`
-+        LIBCLC_INCLUDEDIR="/usr/share"
-         LIBCLC_LIBEXECDIR=`$PKG_CONFIG --variable=libexecdir libclc`
-         AC_SUBST([LIBCLC_INCLUDEDIR])
-         AC_SUBST([LIBCLC_LIBEXECDIR])
--- 
-2.7.4
-
diff --git a/package/mesa3d/Config.in b/package/mesa3d/Config.in
index f5f3f63e22..67e6dbaba4 100644
--- a/package/mesa3d/Config.in
+++ b/package/mesa3d/Config.in
@@ -78,8 +78,7 @@ config BR2_PACKAGE_MESA3D_NEEDS_XA
 	bool
 
 # Quote from mesa3d meson.build: "kmsro driver requires one or more
-# renderonly drivers (vc4, etnaviv, freedreno)". But only vc4 support
-# is available by using the (deprecated) autotools build system.
+# renderonly drivers (vc4, etnaviv, freedreno)".
 config BR2_PACKAGE_MESA3D_GALLIUM_KMSRO
 	bool
 
diff --git a/package/mesa3d/mesa3d.mk b/package/mesa3d/mesa3d.mk
index 1987cb358a..d57f0e9140 100644
--- a/package/mesa3d/mesa3d.mk
+++ b/package/mesa3d/mesa3d.mk
@@ -21,31 +21,24 @@ MESA3D_PROVIDES =
 MESA3D_DEPENDENCIES = \
 	host-bison \
 	host-flex \
+	host-python3-mako \
 	expat \
 	libdrm \
 	zlib
 
-# Disable assembly usage.
-MESA3D_CONF_OPTS = --disable-asm
-
-# autotools are deprecated in favour of meson, for now force autotools
-MESA3D_CONF_OPTS += --enable-autotools
-
-# Disable static, otherwise configure will fail with: "Cannot enable both static
-# and shared."
-ifeq ($(BR2_SHARED_STATIC_LIBS),y)
-MESA3D_CONF_OPTS += --disable-static
-endif
+MESA3D_CONF_OPTS = \
+	-Dasm=false \
+	-Dgallium-omx=disabled \
+	-Dpower8=false \
+	-Dvalgrind=false
 
 ifeq ($(BR2_PACKAGE_MESA3D_LLVM),y)
 MESA3D_DEPENDENCIES += host-llvm llvm
-MESA3D_CONF_OPTS += \
-	--with-llvm-prefix=$(STAGING_DIR)/usr \
-	--enable-llvm-shared-libs \
-	--enable-llvm
+MESA3D_CONF_ENV += LLVM_CONFIG=$(STAGING_DIR)/usr/bin/llvm-config
+MESA3D_CONF_OPTS += -Dllvm=true
 else
 # Avoid automatic search of llvm-config
-MESA3D_CONF_OPTS += --disable-llvm
+MESA3D_CONF_OPTS += -Dllvm=false
 endif
 
 # Disable opencl-icd: OpenCL lib will be named libOpenCL instead of
@@ -53,11 +46,9 @@ endif
 ifeq ($(BR2_PACKAGE_MESA3D_OPENCL),y)
 MESA3D_PROVIDES += libopencl
 MESA3D_DEPENDENCIES += clang libclc
-MESA3D_CONF_OPTS += --enable-opencl \
-	--disable-opencl-icd \
-	--with-clang-libdir=$(STAGING_DIR)/usr/lib
+MESA3D_CONF_OPTS += -Dgallium-opencl=standalone
 else
-MESA3D_CONF_OPTS += --disable-opencl
+MESA3D_CONF_OPTS += -Dgallium-opencl=disabled
 endif
 
 ifeq ($(BR2_PACKAGE_MESA3D_NEEDS_ELFUTILS),y)
@@ -73,16 +64,21 @@ MESA3D_CONF_ENV += CXXFLAGS="$(TARGET_CXXFLAGS) -mno-compact-eh"
 endif
 
 ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_GLX),y)
-MESA3D_CONF_OPTS += --enable-glx --disable-mangling
+# Disable-mangling not yet supported by meson build system.
+# glx:
+#  dri          : dri based GLX requires at least one DRI driver || dri based GLX requires shared-glapi
+#  xlib         : xlib conflicts with any dri driver
+#  gallium-xlib : Gallium-xlib based GLX requires at least one gallium driver || Gallium-xlib based GLX requires softpipe or llvmpipe || gallium-xlib conflicts with any dri driver.
+MESA3D_CONF_OPTS += -Dglx=dri
 ifeq ($(BR2_PACKAGE_MESA3D_NEEDS_XA),y)
-MESA3D_CONF_OPTS += --enable-xa
+MESA3D_CONF_OPTS += -Dgallium-xa=true
 else
-MESA3D_CONF_OPTS += --disable-xa
+MESA3D_CONF_OPTS += -Dgallium-xa=false
 endif
 else
 MESA3D_CONF_OPTS += \
-	--disable-glx \
-	--disable-xa
+	-Dglx=disabled \
+	-Dgallium-xa=false
 endif
 
 # Drivers
@@ -102,63 +98,62 @@ MESA3D_DRI_DRIVERS-$(BR2_PACKAGE_MESA3D_DRI_DRIVER_SWRAST) += swrast
 MESA3D_DRI_DRIVERS-$(BR2_PACKAGE_MESA3D_DRI_DRIVER_I915)   += i915
 MESA3D_DRI_DRIVERS-$(BR2_PACKAGE_MESA3D_DRI_DRIVER_I965)   += i965
 MESA3D_DRI_DRIVERS-$(BR2_PACKAGE_MESA3D_DRI_DRIVER_NOUVEAU) += nouveau
-MESA3D_DRI_DRIVERS-$(BR2_PACKAGE_MESA3D_DRI_DRIVER_RADEON) += radeon
+MESA3D_DRI_DRIVERS-$(BR2_PACKAGE_MESA3D_DRI_DRIVER_RADEON) += r100
 # Vulkan Drivers
 MESA3D_VULKAN_DRIVERS-$(BR2_PACKAGE_MESA3D_VULKAN_DRIVER_INTEL)   += intel
 
 ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER),)
 MESA3D_CONF_OPTS += \
-	--without-gallium-drivers \
-	--disable-gallium-extra-hud
+	-Dgallium-drivers= \
+	-Dgallium-extra-hud=false
 else
 MESA3D_CONF_OPTS += \
-	--enable-shared-glapi \
-	--with-gallium-drivers=$(subst $(space),$(comma),$(MESA3D_GALLIUM_DRIVERS-y)) \
-	--enable-gallium-extra-hud
+	-Dshared-glapi=true \
+	-Dgallium-drivers=$(subst $(space),$(comma),$(MESA3D_GALLIUM_DRIVERS-y)) \
+	-Dgallium-extra-hud=true
 endif
 
 ifeq ($(BR2_PACKAGE_MESA3D_DRI_DRIVER),)
 MESA3D_CONF_OPTS += \
-	--without-dri-drivers --disable-dri3
+	-Ddri-drivers= -Ddri3=false
 else
 ifeq ($(BR2_PACKAGE_XLIB_LIBXSHMFENCE),y)
 MESA3D_DEPENDENCIES += xlib_libxshmfence
-MESA3D_CONF_OPTS += --enable-dri3
+MESA3D_CONF_OPTS += -Ddri3=true
 else
-MESA3D_CONF_OPTS += --disable-dri3
+MESA3D_CONF_OPTS += -Ddri3=false
 endif
 MESA3D_CONF_OPTS += \
-	--enable-shared-glapi \
-	--enable-driglx-direct \
-	--with-dri-driverdir=/usr/lib/dri \
-	--with-dri-drivers=$(subst $(space),$(comma),$(MESA3D_DRI_DRIVERS-y))
+	-Dshared-glapi=true \
+	-Dglx-direct=true \
+	-Ddri-drivers=$(subst $(space),$(comma),$(MESA3D_DRI_DRIVERS-y))
 endif
 
 ifeq ($(BR2_PACKAGE_MESA3D_VULKAN_DRIVER),)
 MESA3D_CONF_OPTS += \
-	--without-vulkan-drivers
+	-Dvulkan-drivers=
 else
 MESA3D_DEPENDENCIES += xlib_libxshmfence
 MESA3D_CONF_OPTS += \
-	--enable-dri3 \
-	--with-vulkan-drivers=$(subst $(space),$(comma),$(MESA3D_VULKAN_DRIVERS-y))
+	-Ddri3=true \
+	-Dvulkan-drivers=$(subst $(space),$(comma),$(MESA3D_VULKAN_DRIVERS-y))
 endif
 
 # APIs
 
 ifeq ($(BR2_PACKAGE_MESA3D_OSMESA_CLASSIC),y)
-MESA3D_CONF_OPTS += --enable-osmesa
+MESA3D_CONF_OPTS += -Dosmesa=classic
 else
-MESA3D_CONF_OPTS += --disable-osmesa
+MESA3D_CONF_OPTS += -Dosmesa=none
 endif
 
 # Always enable OpenGL:
-#   - it is needed for GLES (mesa3d's ./configure is a bit weird)
-MESA3D_CONF_OPTS += --enable-opengl --enable-dri
+#   - Building OpenGL ES without OpenGL is not supported, so always keep opengl enabled.
+MESA3D_CONF_OPTS += -Dopengl=true
 
 # libva and mesa3d have a circular dependency
 # we do not need libva support in mesa3d, therefore disable this option
-MESA3D_CONF_OPTS += --disable-va
+MESA3D_CONF_OPTS += -Dgallium-va=false
 
 # libGL is only provided for a full xorg stack
 ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_GLX),y)
@@ -185,6 +180,7 @@ endif
 ifeq ($(BR2_PACKAGE_WAYLAND),y)
 MESA3D_DEPENDENCIES += wayland wayland-protocols
 MESA3D_PLATFORMS += wayland
+MESA3D_CONF_OPTS += -Dwayland-scanner-path=$(HOST_DIR)/bin/wayland-scanner
 endif
 ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_GLX),y)
 MESA3D_DEPENDENCIES += \
@@ -200,51 +196,51 @@ MESA3D_PLATFORMS += x11
 endif
 
 MESA3D_CONF_OPTS += \
-	--with-platforms=$(subst $(space),$(comma),$(MESA3D_PLATFORMS))
+	-Dplatforms=$(subst $(space),$(comma),$(MESA3D_PLATFORMS))
 
 ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_EGL),y)
 MESA3D_PROVIDES += libegl
 MESA3D_CONF_OPTS += \
-	--enable-gbm \
-	--enable-egl
+	-Dgbm=true \
+	-Degl=true
 else
 MESA3D_CONF_OPTS += \
-	--disable-egl
+	-Degl=false
 endif
 
 ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_ES),y)
 MESA3D_PROVIDES += libgles
-MESA3D_CONF_OPTS += --enable-gles1 --enable-gles2
+MESA3D_CONF_OPTS += -Dgles1=true -Dgles2=true
 else
-MESA3D_CONF_OPTS += --disable-gles1 --disable-gles2
+MESA3D_CONF_OPTS += -Dgles1=false -Dgles2=false
 endif
 
 ifeq ($(BR2_PACKAGE_MESA3D_XVMC),y)
 MESA3D_DEPENDENCIES += xlib_libXvMC
-MESA3D_CONF_OPTS += --enable-xvmc
+MESA3D_CONF_OPTS += -Dgallium-xvmc=true
 else
-MESA3D_CONF_OPTS += --disable-xvmc
+MESA3D_CONF_OPTS += -Dgallium-xvmc=false
 endif
 
 ifeq ($(BR2_PACKAGE_LIBUNWIND),y)
-MESA3D_CONF_OPTS += --enable-libunwind
+MESA3D_CONF_OPTS += -Dlibunwind=true
 MESA3D_DEPENDENCIES += libunwind
 else
-MESA3D_CONF_OPTS += --disable-libunwind
+MESA3D_CONF_OPTS += -Dlibunwind=false
 endif
 
 ifeq ($(BR2_PACKAGE_LIBVDPAU),y)
 MESA3D_DEPENDENCIES += libvdpau
-MESA3D_CONF_OPTS += --enable-vdpau
+MESA3D_CONF_OPTS += -Dgallium-vdpau=true
 else
-MESA3D_CONF_OPTS += --disable-vdpau
+MESA3D_CONF_OPTS += -Dgallium-vdpau=false
 endif
 
 ifeq ($(BR2_PACKAGE_LM_SENSORS),y)
-MESA3D_CONF_OPTS += --enable-lmsensors
+MESA3D_CONF_OPTS += -Dlmsensors=true
 MESA3D_DEPENDENCIES += lm-sensors
 else
-MESA3D_CONF_OPTS += --disable-lmsensors
+MESA3D_CONF_OPTS += -Dlmsensors=false
 endif
 
-$(eval $(autotools-package))
+$(eval $(meson-package))
-- 
2.20.1

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

* [Buildroot] [PATCH/next v9 09/12] package/mesa3d: select kmsro for etnaviv
  2019-08-11 13:17 [Buildroot] [PATCH/next v9 01/12] package/python3-mako: new package Bernd Kuhls
                   ` (6 preceding siblings ...)
  2019-08-11 13:17 ` [Buildroot] [PATCH/next v9 08/12] package/mesa3d: switch build system to meson Bernd Kuhls
@ 2019-08-11 13:17 ` Bernd Kuhls
  2019-08-11 13:17 ` [Buildroot] [PATCH/next v9 10/12] package/{mesa3d, mesa3d-headers}: bump version to 19.1.4 Bernd Kuhls
                   ` (2 subsequent siblings)
  10 siblings, 0 replies; 17+ messages in thread
From: Bernd Kuhls @ 2019-08-11 13:17 UTC (permalink / raw)
  To: buildroot

From: Romain Naour <romain.naour@smile.fr>

Quote from mesa3d meson.build:
"kmsro driver requires one or more renderonly drivers
(vc4, etnaviv, freedreno)".

Signed-off-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
 package/mesa3d/Config.in | 1 +
 1 file changed, 1 insertion(+)

diff --git a/package/mesa3d/Config.in b/package/mesa3d/Config.in
index 67e6dbaba4..3631e22cc3 100644
--- a/package/mesa3d/Config.in
+++ b/package/mesa3d/Config.in
@@ -88,6 +88,7 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_ETNAVIV
 	bool "Gallium Etnaviv driver"
 	select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
 	select BR2_PACKAGE_LIBDRM_ETNAVIV
+	select BR2_PACKAGE_MESA3D_GALLIUM_KMSRO
 	select BR2_PACKAGE_MESA3D_OPENGL_EGL
 	help
 	  Mesa driver for Vivante GPUs.
-- 
2.20.1

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

* [Buildroot] [PATCH/next v9 10/12] package/{mesa3d, mesa3d-headers}: bump version to 19.1.4
  2019-08-11 13:17 [Buildroot] [PATCH/next v9 01/12] package/python3-mako: new package Bernd Kuhls
                   ` (7 preceding siblings ...)
  2019-08-11 13:17 ` [Buildroot] [PATCH/next v9 09/12] package/mesa3d: select kmsro for etnaviv Bernd Kuhls
@ 2019-08-11 13:17 ` Bernd Kuhls
  2019-08-11 13:17 ` [Buildroot] [PATCH/next v9 11/12] package/mesa3d: add support for gallium lima driver Bernd Kuhls
  2019-08-11 13:17 ` [Buildroot] [PATCH/next v9 12/12] package/mesa3d: add support for gallium panfrost driver Bernd Kuhls
  10 siblings, 0 replies; 17+ messages in thread
From: Bernd Kuhls @ 2019-08-11 13:17 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
 package/mesa3d-headers/mesa3d-headers.mk |  2 +-
 package/mesa3d/mesa3d.hash               | 11 ++++++-----
 package/mesa3d/mesa3d.mk                 |  2 +-
 3 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/package/mesa3d-headers/mesa3d-headers.mk b/package/mesa3d-headers/mesa3d-headers.mk
index 9d6980c3d7..edc6fa895c 100644
--- a/package/mesa3d-headers/mesa3d-headers.mk
+++ b/package/mesa3d-headers/mesa3d-headers.mk
@@ -12,7 +12,7 @@ endif
 
 # Not possible to directly refer to mesa3d variables, because of
 # first/second expansion trickery...
-MESA3D_HEADERS_VERSION = 19.0.8
+MESA3D_HEADERS_VERSION = 19.1.4
 MESA3D_HEADERS_SOURCE = mesa-$(MESA3D_HEADERS_VERSION).tar.xz
 MESA3D_HEADERS_SITE = https://mesa.freedesktop.org/archive
 MESA3D_HEADERS_DL_SUBDIR = mesa3d
diff --git a/package/mesa3d/mesa3d.hash b/package/mesa3d/mesa3d.hash
index 0b82342fc6..e4dab7dbc6 100644
--- a/package/mesa3d/mesa3d.hash
+++ b/package/mesa3d/mesa3d.hash
@@ -1,7 +1,8 @@
-# From https://lists.freedesktop.org/archives/mesa-announce/2019-June/000525.html
-md5 9634964d87f1ce8d0230493e43f34c50  mesa-19.0.8.tar.xz
-sha1 5fd340a6304f7501014e1bd7291e4cfa7a6efcdb  mesa-19.0.8.tar.xz
-sha256 d017eb53a810c32dabeedf6ca2238ae1e897ce9090e470e9ce1d6c9e3f1b0862  mesa-19.0.8.tar.xz
-sha512 fbddc3a74f223564343027380af776b3fa5d63fe1af4e34121273235d1c6eced96439f601eb19bf658eb927aff3965b520f0329fcbd4650f3112167303e1746d  mesa-19.0.8.tar.xz
+# From https://lists.freedesktop.org/archives/mesa-announce/2019-August/000534.html
+md5 90eed05e3239c96ad9e92eb11eb67ada  mesa-19.1.4.tar.xz
+sha1 393053bfa41b7fc65add756713004f034c39c3ce  mesa-19.1.4.tar.xz
+sha256 a6d268a7d9edcfd92b6da80f2e34e6e0a7baaa442efbeba2fc66c404943c6bfb  mesa-19.1.4.tar.xz
+sha512 234032d917c9b378c3f6ceb921677b64e549344c3957331810b50fd73e0dccd2f4f62e2bd39e619590f389bc58fdab10fab4b88f7c117557cbeb1dda049b9fc5  mesa-19.1.4.tar.xz
+
 # License
 sha256 630e75b4fdeb75ee2bf9e55db54dd1e3ff7353d52d9314ca8512bfd460f8e24c  docs/license.html
diff --git a/package/mesa3d/mesa3d.mk b/package/mesa3d/mesa3d.mk
index d57f0e9140..1497659202 100644
--- a/package/mesa3d/mesa3d.mk
+++ b/package/mesa3d/mesa3d.mk
@@ -5,7 +5,7 @@
 ################################################################################
 
 # When updating the version, please also update mesa3d-headers
-MESA3D_VERSION = 19.0.8
+MESA3D_VERSION = 19.1.4
 MESA3D_SOURCE = mesa-$(MESA3D_VERSION).tar.xz
 MESA3D_SITE = https://mesa.freedesktop.org/archive
 MESA3D_LICENSE = MIT, SGI, Khronos
-- 
2.20.1

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

* [Buildroot] [PATCH/next v9 11/12] package/mesa3d: add support for gallium lima driver
  2019-08-11 13:17 [Buildroot] [PATCH/next v9 01/12] package/python3-mako: new package Bernd Kuhls
                   ` (8 preceding siblings ...)
  2019-08-11 13:17 ` [Buildroot] [PATCH/next v9 10/12] package/{mesa3d, mesa3d-headers}: bump version to 19.1.4 Bernd Kuhls
@ 2019-08-11 13:17 ` Bernd Kuhls
  2019-08-11 20:41   ` Romain Naour
  2019-08-11 13:17 ` [Buildroot] [PATCH/next v9 12/12] package/mesa3d: add support for gallium panfrost driver Bernd Kuhls
  10 siblings, 1 reply; 17+ messages in thread
From: Bernd Kuhls @ 2019-08-11 13:17 UTC (permalink / raw)
  To: buildroot

More infos can be found here:
https://gitlab.freedesktop.org/lima/web/wikis/home

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
 package/mesa3d/Config.in | 7 +++++++
 package/mesa3d/mesa3d.mk | 3 +++
 2 files changed, 10 insertions(+)

diff --git a/package/mesa3d/Config.in b/package/mesa3d/Config.in
index 3631e22cc3..1cf241e552 100644
--- a/package/mesa3d/Config.in
+++ b/package/mesa3d/Config.in
@@ -103,6 +103,13 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_KMSRO
 comment "Gallium KMSRO needs one or more renderonly drivers"
 	depends on !BR2_PACKAGE_MESA3D_GALLIUM_KMSRO
 
+config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_LIMA
+	bool "Gallium lima driver"
+	select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
+	select BR2_PACKAGE_MESA3D_GALLIUM_KMSRO
+	help
+	  Mesa driver for ARM Mali Utgard GPUs.
+
 config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_NOUVEAU
 	bool "Gallium nouveau driver"
 	depends on BR2_i386 || BR2_x86_64
diff --git a/package/mesa3d/mesa3d.mk b/package/mesa3d/mesa3d.mk
index 1497659202..80abd392ba 100644
--- a/package/mesa3d/mesa3d.mk
+++ b/package/mesa3d/mesa3d.mk
@@ -86,6 +86,7 @@ endif
 #Gallium Drivers
 MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_ETNAVIV)  += etnaviv
 MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_KMSRO)    += kmsro
+MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_LIMA)     += lima
 MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_NOUVEAU)  += nouveau
 MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_R600)     += r600
 MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_RADEONSI) += radeonsi
@@ -172,6 +173,8 @@ else ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VC4),y)
 MESA3D_PLATFORMS = drm
 else ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_ETNAVIV),y)
 MESA3D_PLATFORMS = drm
+else ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_LIMA),y)
+MESA3D_PLATFORMS = drm
 else ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VIRGL),y)
 MESA3D_PLATFORMS = drm
 else ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_RADEONSI),y)
-- 
2.20.1

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

* [Buildroot] [PATCH/next v9 12/12] package/mesa3d: add support for gallium panfrost driver
  2019-08-11 13:17 [Buildroot] [PATCH/next v9 01/12] package/python3-mako: new package Bernd Kuhls
                   ` (9 preceding siblings ...)
  2019-08-11 13:17 ` [Buildroot] [PATCH/next v9 11/12] package/mesa3d: add support for gallium lima driver Bernd Kuhls
@ 2019-08-11 13:17 ` Bernd Kuhls
  2019-08-11 20:43   ` Romain Naour
  10 siblings, 1 reply; 17+ messages in thread
From: Bernd Kuhls @ 2019-08-11 13:17 UTC (permalink / raw)
  To: buildroot

For details see https://panfrost.freedesktop.org

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
 package/mesa3d/Config.in | 7 +++++++
 package/mesa3d/mesa3d.mk | 3 +++
 2 files changed, 10 insertions(+)

diff --git a/package/mesa3d/Config.in b/package/mesa3d/Config.in
index 1cf241e552..035b018a5a 100644
--- a/package/mesa3d/Config.in
+++ b/package/mesa3d/Config.in
@@ -119,6 +119,13 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_NOUVEAU
 	help
 	  Supports all Nvidia GPUs.
 
+config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_PANFROST
+	bool "Gallium panfrost driver"
+	select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
+	select BR2_PACKAGE_MESA3D_GALLIUM_KMSRO
+	help
+	  Mesa driver for ARM Mali Midgard and Bifrost GPUs.
+
 config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_R600
 	bool "Gallium Radeon R600 driver"
 	depends on BR2_i386 || BR2_x86_64
diff --git a/package/mesa3d/mesa3d.mk b/package/mesa3d/mesa3d.mk
index 80abd392ba..2fbb38c305 100644
--- a/package/mesa3d/mesa3d.mk
+++ b/package/mesa3d/mesa3d.mk
@@ -88,6 +88,7 @@ MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_ETNAVIV)  += etnaviv
 MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_KMSRO)    += kmsro
 MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_LIMA)     += lima
 MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_NOUVEAU)  += nouveau
+MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_PANFROST) += panfrost
 MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_R600)     += r600
 MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_RADEONSI) += radeonsi
 MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SVGA)     += svga
@@ -175,6 +176,8 @@ else ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_ETNAVIV),y)
 MESA3D_PLATFORMS = drm
 else ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_LIMA),y)
 MESA3D_PLATFORMS = drm
+else ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_PANFROST),y)
+MESA3D_PLATFORMS = drm
 else ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VIRGL),y)
 MESA3D_PLATFORMS = drm
 else ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_RADEONSI),y)
-- 
2.20.1

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

* [Buildroot] [PATCH/next v9 07/12] package/mesa3d: add a new option to enable GLX support
  2019-08-11 13:17 ` [Buildroot] [PATCH/next v9 07/12] package/mesa3d: add a new option to enable GLX support Bernd Kuhls
@ 2019-08-11 20:31   ` Romain Naour
  0 siblings, 0 replies; 17+ messages in thread
From: Romain Naour @ 2019-08-11 20:31 UTC (permalink / raw)
  To: buildroot

Hi Bernd,

Le 11/08/2019 ? 15:17, Bernd Kuhls a ?crit?:
> From: Romain Naour <romain.naour@smile.fr>
> 
> When switching to meson build system, enabling GLX support
> require at least one DRI or Gallium dirver.
> 
> So add a dependency on BR2_PACKAGE_MESA3D_DRIVER for
> BR2_PACKAGE_MESA3D_OPENGL_GLX option.
> 
> quoting the meson build system:
> "dri based GLX requires at least one DRI driver." [1]
> "Even when building just gallium drivers the user probably wants dri." [2]
> 
> [1] https://cgit.freedesktop.org/mesa/mesa/tree/meson.build?h=19.0#n340
> [2] https://cgit.freedesktop.org/mesa/mesa/tree/meson.build?h=19.0#n266
> 
> Signed-off-by: Romain Naour <romain.naour@smile.fr>
> [Bernd: moved x11 dependencies from glx condition to xorg7 condition to
>  fix build error with enabled egl without glx
>  BR2_PACKAGE_HAS_LIBGL needs to depend on BR2_PACKAGE_MESA3D_OPENGL_GLX]
> 
> Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
> ---
> v9: fixed x11 dependency
> 
>  package/mesa3d/Config.in | 32 ++++++++++++++++++++++----------
>  package/mesa3d/mesa3d.mk | 24 ++++++++++++------------
>  2 files changed, 34 insertions(+), 22 deletions(-)
> 
> diff --git a/package/mesa3d/Config.in b/package/mesa3d/Config.in
> index eba218efb2..f5f3f63e22 100644
> --- a/package/mesa3d/Config.in
> +++ b/package/mesa3d/Config.in
> @@ -6,16 +6,7 @@ menuconfig BR2_PACKAGE_MESA3D
>  	depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
>  	select BR2_PACKAGE_LIBDRM
>  	select BR2_PACKAGE_EXPAT
> -	select BR2_PACKAGE_HAS_LIBGL if BR2_PACKAGE_XORG7
>  	select BR2_PACKAGE_WAYLAND_PROTOCOLS if BR2_PACKAGE_WAYLAND
> -	select BR2_PACKAGE_XORGPROTO if BR2_PACKAGE_XORG7
> -	select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_XORG7
> -	select BR2_PACKAGE_XLIB_LIBXEXT if BR2_PACKAGE_XORG7
> -	select BR2_PACKAGE_XLIB_LIBXDAMAGE if BR2_PACKAGE_XORG7
> -	select BR2_PACKAGE_XLIB_LIBXFIXES if BR2_PACKAGE_XORG7
> -	select BR2_PACKAGE_XLIB_LIBXRANDR if BR2_PACKAGE_XORG7
> -	select BR2_PACKAGE_XLIB_LIBXXF86VM if BR2_PACKAGE_XORG7
> -	select BR2_PACKAGE_LIBXCB if BR2_PACKAGE_XORG7
>  	select BR2_PACKAGE_ZLIB
>  	help
>  	  Mesa 3D, an open-source implementation of the OpenGL
> @@ -281,6 +272,27 @@ comment "OSMesa classic requires dri (classic) swrast"
>  
>  if BR2_PACKAGE_MESA3D_DRIVER
>  
> +comment "OpenGL API Support"
> +
> +config BR2_PACKAGE_MESA3D_OPENGL_GLX
> +	bool "OpenGL GLX"
> +	depends on BR2_PACKAGE_XORG7
> +	select BR2_PACKAGE_HAS_LIBGL
> +	select BR2_PACKAGE_LIBXCB
> +	select BR2_PACKAGE_XLIB_LIBX11
> +	select BR2_PACKAGE_XLIB_LIBXDAMAGE
> +	select BR2_PACKAGE_XLIB_LIBXEXT
> +	select BR2_PACKAGE_XLIB_LIBXFIXES
> +	select BR2_PACKAGE_XLIB_LIBXRANDR
> +	select BR2_PACKAGE_XLIB_LIBXXF86VM
> +	select BR2_PACKAGE_XORGPROTO
> +	help
> +	  Enable GLX graphic acceleration (OpenGL + X11).
> +	  GLX support needs X11 and at least one DRI or Gallium driver.
> +
> +comment "OpenGL GLX support needs X11"
> +	depends on !BR2_PACKAGE_XORG7
> +
>  comment "Additional API Support"
>  
>  config BR2_PACKAGE_MESA3D_OPENGL_EGL
> @@ -301,7 +313,7 @@ config BR2_PACKAGE_MESA3D_OPENGL_ES
>  endif # BR2_PACKAGE_MESA3D_DRIVER
>  
>  config BR2_PACKAGE_PROVIDES_LIBGL
> -	default "mesa3d" if BR2_PACKAGE_XORG7
> +	default "mesa3d" if BR2_PACKAGE_MESA3D_OPENGL_GLX
>  
>  config BR2_PACKAGE_PROVIDES_LIBEGL
>  	default "mesa3d" if BR2_PACKAGE_MESA3D_OPENGL_EGL
> diff --git a/package/mesa3d/mesa3d.mk b/package/mesa3d/mesa3d.mk
> index caa38771e6..1987cb358a 100644
> --- a/package/mesa3d/mesa3d.mk
> +++ b/package/mesa3d/mesa3d.mk
> @@ -72,16 +72,7 @@ MESA3D_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -mno-compact-eh"
>  MESA3D_CONF_ENV += CXXFLAGS="$(TARGET_CXXFLAGS) -mno-compact-eh"
>  endif
>  
> -ifeq ($(BR2_PACKAGE_XORG7),y)
> -MESA3D_DEPENDENCIES += \
> -	xlib_libX11 \
> -	xlib_libXext \
> -	xlib_libXdamage \
> -	xlib_libXfixes \
> -	xlib_libXrandr \
> -	xlib_libXxf86vm \
> -	xorgproto \
> -	libxcb
> +ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_GLX),y)

Maybe we can squash all BR2_PACKAGE_MESA3D_OPENGL_GLX together.
This can be done in a followup patch.

Reviewed-by: Romain Naour <romain.naour@gmail.com>

Best regards,
Romain


>  MESA3D_CONF_OPTS += --enable-glx --disable-mangling
>  ifeq ($(BR2_PACKAGE_MESA3D_NEEDS_XA),y)
>  MESA3D_CONF_OPTS += --enable-xa
> @@ -170,7 +161,7 @@ MESA3D_CONF_OPTS += --enable-opengl --enable-dri
>  MESA3D_CONF_OPTS += --disable-va
>  
>  # libGL is only provided for a full xorg stack
> -ifeq ($(BR2_PACKAGE_XORG7),y)
> +ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_GLX),y)
>  MESA3D_PROVIDES += libgl
>  else
>  define MESA3D_REMOVE_OPENGL_HEADERS
> @@ -195,7 +186,16 @@ ifeq ($(BR2_PACKAGE_WAYLAND),y)
>  MESA3D_DEPENDENCIES += wayland wayland-protocols
>  MESA3D_PLATFORMS += wayland
>  endif
> -ifeq ($(BR2_PACKAGE_XORG7),y)
> +ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_GLX),y)
> +MESA3D_DEPENDENCIES += \
> +	xlib_libX11 \
> +	xlib_libXext \
> +	xlib_libXdamage \
> +	xlib_libXfixes \
> +	xlib_libXrandr \
> +	xlib_libXxf86vm \
> +	xorgproto \
> +	libxcb
>  MESA3D_PLATFORMS += x11
>  endif
>  
> 

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

* [Buildroot] [PATCH/next v9 08/12] package/mesa3d: switch build system to meson
  2019-08-11 13:17 ` [Buildroot] [PATCH/next v9 08/12] package/mesa3d: switch build system to meson Bernd Kuhls
@ 2019-08-11 20:39   ` Romain Naour
  0 siblings, 0 replies; 17+ messages in thread
From: Romain Naour @ 2019-08-11 20:39 UTC (permalink / raw)
  To: buildroot

Hi Bernd,

Le 11/08/2019 ? 15:17, Bernd Kuhls a ?crit?:
> Update patches for meson:
> 0002-configure.ac-invert-order-for-wayland-scanner-check.patch
> 0003-set-LIBCLC_INCLUDEDIR.patch
> 
> Disable unused options that are set to "auto" mode.
> (valgrind, gallium-omx, power8).
> 
> Remove --disable-static option since there is no meson equivalent.
> Remove --disable-mangling since it's not yet supported by meson.
> 
> Use r100 instead of radeon as DRI name for BR2_PACKAGE_MESA3D_DRI_DRIVER_RADEON.
> 
> Add a new depedency on host-python3-mako since we can't use
> generated headers from the release archive [2].
> 
> [1] http://patchwork.ozlabs.org/patch/1084248/
> [2] http://lists.busybox.net/pipermail/buildroot/2019-April/249057.html
> 
> Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
> Signed-off-by: Romain Naour <romain.naour@smile.fr>
> Cc: Peter Seiderer <ps.report@gmx.net>
> ---
>  ...vert-order-for-wayland-scanner-check.patch |  51 --------
>  ...d-scanner-provided-by-wayland-scanne.patch |  52 ++++++++
>  ...t-proper-value-for-LIBCLC_INCLUDEDIR.patch |  39 ++++++
>  .../mesa3d/0003-set-LIBCLC_INCLUDEDIR.patch   |  37 ------
>  package/mesa3d/Config.in                      |   3 +-
>  package/mesa3d/mesa3d.mk                      | 118 +++++++++---------
>  6 files changed, 149 insertions(+), 151 deletions(-)
>  delete mode 100644 package/mesa3d/0002-configure.ac-invert-order-for-wayland-scanner-check.patch
>  create mode 100644 package/mesa3d/0002-meson-use-wayland-scanner-provided-by-wayland-scanne.patch
>  create mode 100644 package/mesa3d/0003-meson-Set-proper-value-for-LIBCLC_INCLUDEDIR.patch
>  delete mode 100644 package/mesa3d/0003-set-LIBCLC_INCLUDEDIR.patch
> 
> diff --git a/package/mesa3d/0002-configure.ac-invert-order-for-wayland-scanner-check.patch b/package/mesa3d/0002-configure.ac-invert-order-for-wayland-scanner-check.patch
> deleted file mode 100644
> index 5135528795..0000000000
> --- a/package/mesa3d/0002-configure.ac-invert-order-for-wayland-scanner-check.patch
> +++ /dev/null
> @@ -1,51 +0,0 @@
> -From ef96bac7cbbb11b98606864ead0f731dd5b71d5a Mon Sep 17 00:00:00 2001
> -From: Gustavo Zacarias <gustavo@zacarias.com.ar>
> -Date: Thu, 17 Nov 2016 15:36:54 -0300
> -Subject: [PATCH] configure.ac: invert order for wayland-scanner check
> -
> -When cross-compiling the .pc file might point to the wrong
> -wayland-scanner binary (target rather than host) resulting in a
> -non-executable and wrong scanner.
> -Try searching the PATH first, and if that fails fall back into
> -pkg-config.
> -
> -[Vincent: tweak patch for 17.1.1 version]
> -
> -Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
> -Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
> -[Romain: rebase on 18.1]
> -Signed-off-by: Romain Naour <romain.naour@gmail.com>
> -[Bernd rebase on 18.3]
> -Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
> ----
> - configure.ac | 8 ++++----
> - 1 file changed, 4 insertions(+), 4 deletions(-)
> -
> -diff --git a/configure.ac b/configure.ac
> -index f1fbdcc6c7..dcf87e7dd6 100644
> ---- a/configure.ac
> -+++ b/configure.ac
> -@@ -1841,17 +1841,16 @@
> -         fi
> -         WAYLAND_PROTOCOLS_DATADIR=`$PKG_CONFIG --variable=pkgdatadir wayland-protocols`
> - 
> --        PKG_CHECK_MODULES([WAYLAND_SCANNER], [wayland-scanner],
> -+        AC_PATH_PROG([WAYLAND_SCANNER], [wayland-scanner], [:])
> -+        if test "x$WAYLAND_SCANNER" = x; then
> -+                PKG_CHECK_MODULES([WAYLAND_SCANNER], [wayland-scanner],
> -                           WAYLAND_SCANNER=`$PKG_CONFIG --variable=wayland_scanner wayland-scanner`,
> -                           WAYLAND_SCANNER='')
> -+        fi
> -         PKG_CHECK_EXISTS([wayland-scanner >= 1.15],
> -                           AC_SUBST(SCANNER_ARG, 'private-code'),
> -                           AC_SUBST(SCANNER_ARG, 'code'))
> - 
> --        if test "x$WAYLAND_SCANNER" = x; then
> --            AC_PATH_PROG([WAYLAND_SCANNER], [wayland-scanner], [:])
> --        fi
> --
> -         if test "x$WAYLAND_SCANNER" = "x:"; then
> -                 AC_MSG_ERROR([wayland-scanner is needed to compile the wayland platform])
> -         fi
> --- 
> -2.14.3
> diff --git a/package/mesa3d/0002-meson-use-wayland-scanner-provided-by-wayland-scanne.patch b/package/mesa3d/0002-meson-use-wayland-scanner-provided-by-wayland-scanne.patch
> new file mode 100644
> index 0000000000..784b27c4a2
> --- /dev/null
> +++ b/package/mesa3d/0002-meson-use-wayland-scanner-provided-by-wayland-scanne.patch
> @@ -0,0 +1,52 @@
> +From 0e107f7bac8d84d8fb2bb5b83bfb4474348a82c1 Mon Sep 17 00:00:00 2001
> +From: Romain Naour <romain.naour@smile.fr>
> +Date: Wed, 17 Apr 2019 22:47:05 +0200
> +Subject: [PATCH] meson: use wayland-scanner provided by wayland-scanner-path
> +
> +When cross-compiling the .pc file might point to the wrong
> +wayland-scanner binary (target rather than host) resulting in a
> +non-executable and wrong scanner.
> +First try by using the path provided by wayland-scanner-path,
> +and if that fails fall back into pkg-config.
> +
> +Based on the patch for autotools provided by Gustavo Zacarias.
> +
> +Signed-off-by: Romain Naour <romain.naour@smile.fr>
> +---
> + meson.build       | 5 ++++-
> + meson_options.txt | 6 ++++++
> + 2 files changed, 10 insertions(+), 1 deletion(-)
> +
> +diff --git a/meson.build b/meson.build
> +index 6c4f1508855..ef0532b2cfb 100644
> +--- a/meson.build
> ++++ b/meson.build
> +@@ -1319,7 +1319,10 @@ endif
> + 
> + if with_platform_wayland
> +   dep_wl_scanner = dependency('wayland-scanner', native: true)
> +-  prog_wl_scanner = find_program(dep_wl_scanner.get_pkgconfig_variable('wayland_scanner'))
> ++  prog_wl_scanner = get_option('wayland-scanner-path')
> ++  if prog_wl_scanner == ''
> ++    prog_wl_scanner = find_program(dep_wl_scanner.get_pkgconfig_variable('wayland_scanner'))
> ++  endif
> +   if dep_wl_scanner.version().version_compare('>= 1.15')
> +     wl_scanner_arg = 'private-code'
> +   else
> +diff --git a/meson_options.txt b/meson_options.txt
> +index ccf70659ff7..59ff8df8337 100644
> +--- a/meson_options.txt
> ++++ b/meson_options.txt
> +@@ -324,3 +324,9 @@ option(
> +   value : true,
> +   description : 'Enable direct rendering in GLX and EGL for DRI',
> + )
> ++option(
> ++  'wayland-scanner-path',
> ++  type : 'string',
> ++  value : '',
> ++  description : 'Locations to wayland-scanner binary. Default: use path from pkg-config'
> ++)
> +-- 
> +2.20.1
> +
> diff --git a/package/mesa3d/0003-meson-Set-proper-value-for-LIBCLC_INCLUDEDIR.patch b/package/mesa3d/0003-meson-Set-proper-value-for-LIBCLC_INCLUDEDIR.patch
> new file mode 100644
> index 0000000000..072d79a213
> --- /dev/null
> +++ b/package/mesa3d/0003-meson-Set-proper-value-for-LIBCLC_INCLUDEDIR.patch
> @@ -0,0 +1,39 @@
> +From 7b46756a99aca7f27a45c3b99460f088570f6f53 Mon Sep 17 00:00:00 2001
> +From: Romain Naour <romain.naour@smile.fr>
> +Date: Wed, 17 Apr 2019 23:07:42 +0200
> +Subject: [PATCH] meson: Set proper value for LIBCLC_INCLUDEDIR
> +
> +LIBCLC_INCLUDEDIR is the location where mesa3d OpenCL implementation
> +will look for OpenCL "headers" on the target, when building the OpenCL
> +kernels.
> +
> +The value returned by pkg-config for includedir is relevant when
> +cross-compiling, on the build machine. But in this specific case, we
> +really need a value that is valid on the target.
> +
> +Those headers are installed by the libclc package in /usr/share so
> +that they are not removed by Buildroot target-finalize logic.
> +
> +Based on the patch for autotools provided by Valentin Korenblit.
> +
> +Signed-off-by: Romain Naour <romain.naour@smile.fr>
> +---
> + src/gallium/state_trackers/clover/meson.build | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/src/gallium/state_trackers/clover/meson.build b/src/gallium/state_trackers/clover/meson.build
> +index 62ac5f5278d..ecdeb39669c 100644
> +--- a/src/gallium/state_trackers/clover/meson.build
> ++++ b/src/gallium/state_trackers/clover/meson.build
> +@@ -49,7 +49,7 @@ libclllvm = static_library(
> +   include_directories : clover_incs,
> +   cpp_args : [
> +     cpp_vis_args,
> +-    '-DLIBCLC_INCLUDEDIR="@0@/"'.format(dep_clc.get_pkgconfig_variable('includedir')),
> ++    '-DLIBCLC_INCLUDEDIR="/usr/share"',
> +     '-DLIBCLC_LIBEXECDIR="@0@/"'.format(dep_clc.get_pkgconfig_variable('libexecdir')),
> +     '-DCLANG_RESOURCE_DIR="@0@"'.format(join_paths(
> +       dep_llvm.get_configtool_variable('libdir'), 'clang',
> +-- 
> +2.20.1
> +
> diff --git a/package/mesa3d/0003-set-LIBCLC_INCLUDEDIR.patch b/package/mesa3d/0003-set-LIBCLC_INCLUDEDIR.patch
> deleted file mode 100644
> index 42ae826a36..0000000000
> --- a/package/mesa3d/0003-set-LIBCLC_INCLUDEDIR.patch
> +++ /dev/null
> @@ -1,37 +0,0 @@
> -From 94bceeb621e36f3188c6246a763def8695526578 Mon Sep 17 00:00:00 2001
> -From: Valentin Korenblit <valentinkorenblit@gmail.com>
> -Date: Sat, 20 Oct 2018 10:56:23 +0200
> -Subject: [PATCH] Set proper value for LIBCLC_INCLUDEDIR
> -
> -LIBCLC_INCLUDEDIR is the location where mesa3d OpenCL implementation
> -will look for OpenCL "headers" on the target, when building the OpenCL
> -kernels.
> -
> -The value returned by pkg-config for includedir is relevant when
> -cross-compiling, on the build machine. But in this specific case, we
> -really need a value that is valid on the target.
> -
> -Those headers are installed by the libclc package in /usr/share so
> -that they are not removed by Buildroot target-finalize logic.
> -
> -Signed-off-by: Valentin Korenblit <valentinkorenblit@gmail.com>
> ----
> - configure.ac | 2 +-
> - 1 file changed, 1 insertion(+), 1 deletion(-)
> -
> -diff --git a/configure.ac b/configure.ac
> -index 864dcae..cc2390b 100644
> ---- a/configure.ac
> -+++ b/configure.ac
> -@@ -2429,7 +2429,7 @@ if test "x$enable_opencl" = xyes; then
> -                     PKG_CONFIG_PATH environment variable.
> -                     By default libclc.pc is installed to /usr/local/share/pkgconfig/])
> -     else
> --        LIBCLC_INCLUDEDIR=`$PKG_CONFIG --variable=includedir libclc`
> -+        LIBCLC_INCLUDEDIR="/usr/share"
> -         LIBCLC_LIBEXECDIR=`$PKG_CONFIG --variable=libexecdir libclc`
> -         AC_SUBST([LIBCLC_INCLUDEDIR])
> -         AC_SUBST([LIBCLC_LIBEXECDIR])
> --- 
> -2.7.4
> -
> diff --git a/package/mesa3d/Config.in b/package/mesa3d/Config.in
> index f5f3f63e22..67e6dbaba4 100644
> --- a/package/mesa3d/Config.in
> +++ b/package/mesa3d/Config.in
> @@ -78,8 +78,7 @@ config BR2_PACKAGE_MESA3D_NEEDS_XA
>  	bool
>  
>  # Quote from mesa3d meson.build: "kmsro driver requires one or more
> -# renderonly drivers (vc4, etnaviv, freedreno)". But only vc4 support
> -# is available by using the (deprecated) autotools build system.
> +# renderonly drivers (vc4, etnaviv, freedreno)".
>  config BR2_PACKAGE_MESA3D_GALLIUM_KMSRO
>  	bool
>  
> diff --git a/package/mesa3d/mesa3d.mk b/package/mesa3d/mesa3d.mk
> index 1987cb358a..d57f0e9140 100644
> --- a/package/mesa3d/mesa3d.mk
> +++ b/package/mesa3d/mesa3d.mk
> @@ -21,31 +21,24 @@ MESA3D_PROVIDES =
>  MESA3D_DEPENDENCIES = \
>  	host-bison \
>  	host-flex \
> +	host-python3-mako \
>  	expat \
>  	libdrm \
>  	zlib
>  
> -# Disable assembly usage.
> -MESA3D_CONF_OPTS = --disable-asm
> -
> -# autotools are deprecated in favour of meson, for now force autotools
> -MESA3D_CONF_OPTS += --enable-autotools
> -
> -# Disable static, otherwise configure will fail with: "Cannot enable both static
> -# and shared."
> -ifeq ($(BR2_SHARED_STATIC_LIBS),y)
> -MESA3D_CONF_OPTS += --disable-static
> -endif
> +MESA3D_CONF_OPTS = \
> +	-Dasm=false \
> +	-Dgallium-omx=disabled \
> +	-Dpower8=false \
> +	-Dvalgrind=false
>  
>  ifeq ($(BR2_PACKAGE_MESA3D_LLVM),y)
>  MESA3D_DEPENDENCIES += host-llvm llvm
> -MESA3D_CONF_OPTS += \
> -	--with-llvm-prefix=$(STAGING_DIR)/usr \
> -	--enable-llvm-shared-libs \
> -	--enable-llvm
> +MESA3D_CONF_ENV += LLVM_CONFIG=$(STAGING_DIR)/usr/bin/llvm-config
> +MESA3D_CONF_OPTS += -Dllvm=true
>  else
>  # Avoid automatic search of llvm-config
> -MESA3D_CONF_OPTS += --disable-llvm
> +MESA3D_CONF_OPTS += -Dllvm=false
>  endif
>  
>  # Disable opencl-icd: OpenCL lib will be named libOpenCL instead of
> @@ -53,11 +46,9 @@ endif
>  ifeq ($(BR2_PACKAGE_MESA3D_OPENCL),y)
>  MESA3D_PROVIDES += libopencl
>  MESA3D_DEPENDENCIES += clang libclc
> -MESA3D_CONF_OPTS += --enable-opencl \
> -	--disable-opencl-icd \
> -	--with-clang-libdir=$(STAGING_DIR)/usr/lib
> +MESA3D_CONF_OPTS += -Dgallium-opencl=standalone
>  else
> -MESA3D_CONF_OPTS += --disable-opencl
> +MESA3D_CONF_OPTS += -Dgallium-opencl=disabled
>  endif
>  
>  ifeq ($(BR2_PACKAGE_MESA3D_NEEDS_ELFUTILS),y)
> @@ -73,16 +64,21 @@ MESA3D_CONF_ENV += CXXFLAGS="$(TARGET_CXXFLAGS) -mno-compact-eh"
>  endif
>  
>  ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_GLX),y)
> -MESA3D_CONF_OPTS += --enable-glx --disable-mangling
> +# Disable-mangling not yet supported by meson build system.
> +# glx:
> +#  dri          : dri based GLX requires at least one DRI driver || dri based GLX requires shared-glapi
> +#  xlib         : xlib conflicts with any dri driver
> +#  gallium-xlib : Gallium-xlib based GLX requires at least one gallium driver || Gallium-xlib based GLX requires softpipe or llvmpipe || gallium-xlib conflicts with any dri driver.
> +MESA3D_CONF_OPTS += -Dglx=dri
>  ifeq ($(BR2_PACKAGE_MESA3D_NEEDS_XA),y)
> -MESA3D_CONF_OPTS += --enable-xa
> +MESA3D_CONF_OPTS += -Dgallium-xa=true
>  else
> -MESA3D_CONF_OPTS += --disable-xa
> +MESA3D_CONF_OPTS += -Dgallium-xa=false
>  endif
>  else
>  MESA3D_CONF_OPTS += \
> -	--disable-glx \
> -	--disable-xa
> +	-Dglx=disabled \
> +	-Dgallium-xa=false
>  endif
>  
>  # Drivers
> @@ -102,63 +98,62 @@ MESA3D_DRI_DRIVERS-$(BR2_PACKAGE_MESA3D_DRI_DRIVER_SWRAST) += swrast
>  MESA3D_DRI_DRIVERS-$(BR2_PACKAGE_MESA3D_DRI_DRIVER_I915)   += i915
>  MESA3D_DRI_DRIVERS-$(BR2_PACKAGE_MESA3D_DRI_DRIVER_I965)   += i965
>  MESA3D_DRI_DRIVERS-$(BR2_PACKAGE_MESA3D_DRI_DRIVER_NOUVEAU) += nouveau
> -MESA3D_DRI_DRIVERS-$(BR2_PACKAGE_MESA3D_DRI_DRIVER_RADEON) += radeon
> +MESA3D_DRI_DRIVERS-$(BR2_PACKAGE_MESA3D_DRI_DRIVER_RADEON) += r100
>  # Vulkan Drivers
>  MESA3D_VULKAN_DRIVERS-$(BR2_PACKAGE_MESA3D_VULKAN_DRIVER_INTEL)   += intel
>  
>  ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER),)
>  MESA3D_CONF_OPTS += \
> -	--without-gallium-drivers \
> -	--disable-gallium-extra-hud
> +	-Dgallium-drivers= \
> +	-Dgallium-extra-hud=false
>  else
>  MESA3D_CONF_OPTS += \
> -	--enable-shared-glapi \
> -	--with-gallium-drivers=$(subst $(space),$(comma),$(MESA3D_GALLIUM_DRIVERS-y)) \
> -	--enable-gallium-extra-hud
> +	-Dshared-glapi=true \
> +	-Dgallium-drivers=$(subst $(space),$(comma),$(MESA3D_GALLIUM_DRIVERS-y)) \
> +	-Dgallium-extra-hud=true
>  endif
>  
>  ifeq ($(BR2_PACKAGE_MESA3D_DRI_DRIVER),)
>  MESA3D_CONF_OPTS += \
> -	--without-dri-drivers --disable-dri3
> +	-Ddri-drivers= -Ddri3=false
>  else
>  ifeq ($(BR2_PACKAGE_XLIB_LIBXSHMFENCE),y)
>  MESA3D_DEPENDENCIES += xlib_libxshmfence
> -MESA3D_CONF_OPTS += --enable-dri3
> +MESA3D_CONF_OPTS += -Ddri3=true
>  else
> -MESA3D_CONF_OPTS += --disable-dri3
> +MESA3D_CONF_OPTS += -Ddri3=false
>  endif
>  MESA3D_CONF_OPTS += \
> -	--enable-shared-glapi \
> -	--enable-driglx-direct \
> -	--with-dri-driverdir=/usr/lib/dri \
> -	--with-dri-drivers=$(subst $(space),$(comma),$(MESA3D_DRI_DRIVERS-y))
> +	-Dshared-glapi=true \
> +	-Dglx-direct=true \
> +	-Ddri-drivers=$(subst $(space),$(comma),$(MESA3D_DRI_DRIVERS-y))
>  endif
>  
>  ifeq ($(BR2_PACKAGE_MESA3D_VULKAN_DRIVER),)
>  MESA3D_CONF_OPTS += \
> -	--without-vulkan-drivers
> +	-Dvulkan-drivers=
>  else
>  MESA3D_DEPENDENCIES += xlib_libxshmfence
>  MESA3D_CONF_OPTS += \
> -	--enable-dri3 \
> -	--with-vulkan-drivers=$(subst $(space),$(comma),$(MESA3D_VULKAN_DRIVERS-y))
> +	-Ddri3=true \
> +	-Dvulkan-drivers=$(subst $(space),$(comma),$(MESA3D_VULKAN_DRIVERS-y))
>  endif
>  
>  # APIs
>  
>  ifeq ($(BR2_PACKAGE_MESA3D_OSMESA_CLASSIC),y)
> -MESA3D_CONF_OPTS += --enable-osmesa
> +MESA3D_CONF_OPTS += -Dosmesa=classic
>  else
> -MESA3D_CONF_OPTS += --disable-osmesa
> +MESA3D_CONF_OPTS += -Dosmesa=none
>  endif
>  
>  # Always enable OpenGL:
> -#   - it is needed for GLES (mesa3d's ./configure is a bit weird)
> -MESA3D_CONF_OPTS += --enable-opengl --enable-dri
> +#   - Building OpenGL ES without OpenGL is not supported, so always keep opengl enabled.
> +MESA3D_CONF_OPTS += -Dopengl=true
>  
>  # libva and mesa3d have a circular dependency
>  # we do not need libva support in mesa3d, therefore disable this option
> -MESA3D_CONF_OPTS += --disable-va
> +MESA3D_CONF_OPTS += -Dgallium-va=false
>  
>  # libGL is only provided for a full xorg stack
>  ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_GLX),y)
> @@ -185,6 +180,7 @@ endif
>  ifeq ($(BR2_PACKAGE_WAYLAND),y)
>  MESA3D_DEPENDENCIES += wayland wayland-protocols
>  MESA3D_PLATFORMS += wayland
> +MESA3D_CONF_OPTS += -Dwayland-scanner-path=$(HOST_DIR)/bin/wayland-scanner
>  endif
>  ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_GLX),y)
>  MESA3D_DEPENDENCIES += \
> @@ -200,51 +196,51 @@ MESA3D_PLATFORMS += x11

Not related to this patch, what about adding "surfaceless" platform?

Best regards,
Romain


>  endif
>  
>  MESA3D_CONF_OPTS += \
> -	--with-platforms=$(subst $(space),$(comma),$(MESA3D_PLATFORMS))
> +	-Dplatforms=$(subst $(space),$(comma),$(MESA3D_PLATFORMS))
>  
>  ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_EGL),y)
>  MESA3D_PROVIDES += libegl
>  MESA3D_CONF_OPTS += \
> -	--enable-gbm \
> -	--enable-egl
> +	-Dgbm=true \
> +	-Degl=true
>  else
>  MESA3D_CONF_OPTS += \
> -	--disable-egl
> +	-Degl=false
>  endif
>  
>  ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_ES),y)
>  MESA3D_PROVIDES += libgles
> -MESA3D_CONF_OPTS += --enable-gles1 --enable-gles2
> +MESA3D_CONF_OPTS += -Dgles1=true -Dgles2=true
>  else
> -MESA3D_CONF_OPTS += --disable-gles1 --disable-gles2
> +MESA3D_CONF_OPTS += -Dgles1=false -Dgles2=false
>  endif
>  
>  ifeq ($(BR2_PACKAGE_MESA3D_XVMC),y)
>  MESA3D_DEPENDENCIES += xlib_libXvMC
> -MESA3D_CONF_OPTS += --enable-xvmc
> +MESA3D_CONF_OPTS += -Dgallium-xvmc=true
>  else
> -MESA3D_CONF_OPTS += --disable-xvmc
> +MESA3D_CONF_OPTS += -Dgallium-xvmc=false
>  endif
>  
>  ifeq ($(BR2_PACKAGE_LIBUNWIND),y)
> -MESA3D_CONF_OPTS += --enable-libunwind
> +MESA3D_CONF_OPTS += -Dlibunwind=true
>  MESA3D_DEPENDENCIES += libunwind
>  else
> -MESA3D_CONF_OPTS += --disable-libunwind
> +MESA3D_CONF_OPTS += -Dlibunwind=false
>  endif
>  
>  ifeq ($(BR2_PACKAGE_LIBVDPAU),y)
>  MESA3D_DEPENDENCIES += libvdpau
> -MESA3D_CONF_OPTS += --enable-vdpau
> +MESA3D_CONF_OPTS += -Dgallium-vdpau=true
>  else
> -MESA3D_CONF_OPTS += --disable-vdpau
> +MESA3D_CONF_OPTS += -Dgallium-vdpau=false
>  endif
>  
>  ifeq ($(BR2_PACKAGE_LM_SENSORS),y)
> -MESA3D_CONF_OPTS += --enable-lmsensors
> +MESA3D_CONF_OPTS += -Dlmsensors=true
>  MESA3D_DEPENDENCIES += lm-sensors
>  else
> -MESA3D_CONF_OPTS += --disable-lmsensors
> +MESA3D_CONF_OPTS += -Dlmsensors=false
>  endif
>  
> -$(eval $(autotools-package))
> +$(eval $(meson-package))
> 

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

* [Buildroot] [PATCH/next v9 11/12] package/mesa3d: add support for gallium lima driver
  2019-08-11 13:17 ` [Buildroot] [PATCH/next v9 11/12] package/mesa3d: add support for gallium lima driver Bernd Kuhls
@ 2019-08-11 20:41   ` Romain Naour
  0 siblings, 0 replies; 17+ messages in thread
From: Romain Naour @ 2019-08-11 20:41 UTC (permalink / raw)
  To: buildroot

Le 11/08/2019 ? 15:17, Bernd Kuhls a ?crit?:
> More infos can be found here:
> https://gitlab.freedesktop.org/lima/web/wikis/home
> 
> Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>

I'm testing on Potato Board with Lima DRM driver and a kernel 5.2.

Reviewed-by: Romain Naour <romain.naour@gmail.com>
Tested-by: Romain Naour <romain.naour@gmail.com>

Best regards,
Romain


> ---
>  package/mesa3d/Config.in | 7 +++++++
>  package/mesa3d/mesa3d.mk | 3 +++
>  2 files changed, 10 insertions(+)
> 
> diff --git a/package/mesa3d/Config.in b/package/mesa3d/Config.in
> index 3631e22cc3..1cf241e552 100644
> --- a/package/mesa3d/Config.in
> +++ b/package/mesa3d/Config.in
> @@ -103,6 +103,13 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_KMSRO
>  comment "Gallium KMSRO needs one or more renderonly drivers"
>  	depends on !BR2_PACKAGE_MESA3D_GALLIUM_KMSRO
>  
> +config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_LIMA
> +	bool "Gallium lima driver"
> +	select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
> +	select BR2_PACKAGE_MESA3D_GALLIUM_KMSRO
> +	help
> +	  Mesa driver for ARM Mali Utgard GPUs.
> +
>  config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_NOUVEAU
>  	bool "Gallium nouveau driver"
>  	depends on BR2_i386 || BR2_x86_64
> diff --git a/package/mesa3d/mesa3d.mk b/package/mesa3d/mesa3d.mk
> index 1497659202..80abd392ba 100644
> --- a/package/mesa3d/mesa3d.mk
> +++ b/package/mesa3d/mesa3d.mk
> @@ -86,6 +86,7 @@ endif
>  #Gallium Drivers
>  MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_ETNAVIV)  += etnaviv
>  MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_KMSRO)    += kmsro
> +MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_LIMA)     += lima
>  MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_NOUVEAU)  += nouveau
>  MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_R600)     += r600
>  MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_RADEONSI) += radeonsi
> @@ -172,6 +173,8 @@ else ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VC4),y)
>  MESA3D_PLATFORMS = drm
>  else ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_ETNAVIV),y)
>  MESA3D_PLATFORMS = drm
> +else ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_LIMA),y)
> +MESA3D_PLATFORMS = drm
>  else ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VIRGL),y)
>  MESA3D_PLATFORMS = drm
>  else ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_RADEONSI),y)
> 

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

* [Buildroot] [PATCH/next v9 12/12] package/mesa3d: add support for gallium panfrost driver
  2019-08-11 13:17 ` [Buildroot] [PATCH/next v9 12/12] package/mesa3d: add support for gallium panfrost driver Bernd Kuhls
@ 2019-08-11 20:43   ` Romain Naour
  0 siblings, 0 replies; 17+ messages in thread
From: Romain Naour @ 2019-08-11 20:43 UTC (permalink / raw)
  To: buildroot

Hi,

Le 11/08/2019 ? 15:17, Bernd Kuhls a ?crit?:
> For details see https://panfrost.freedesktop.org
> 
> Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Reviewed-by: Romain Naour <romain.naour@gmail.com>

Best regards,
Romain


> ---
>  package/mesa3d/Config.in | 7 +++++++
>  package/mesa3d/mesa3d.mk | 3 +++
>  2 files changed, 10 insertions(+)
> 
> diff --git a/package/mesa3d/Config.in b/package/mesa3d/Config.in
> index 1cf241e552..035b018a5a 100644
> --- a/package/mesa3d/Config.in
> +++ b/package/mesa3d/Config.in
> @@ -119,6 +119,13 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_NOUVEAU
>  	help
>  	  Supports all Nvidia GPUs.
>  
> +config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_PANFROST
> +	bool "Gallium panfrost driver"
> +	select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
> +	select BR2_PACKAGE_MESA3D_GALLIUM_KMSRO
> +	help
> +	  Mesa driver for ARM Mali Midgard and Bifrost GPUs.
> +
>  config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_R600
>  	bool "Gallium Radeon R600 driver"
>  	depends on BR2_i386 || BR2_x86_64
> diff --git a/package/mesa3d/mesa3d.mk b/package/mesa3d/mesa3d.mk
> index 80abd392ba..2fbb38c305 100644
> --- a/package/mesa3d/mesa3d.mk
> +++ b/package/mesa3d/mesa3d.mk
> @@ -88,6 +88,7 @@ MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_ETNAVIV)  += etnaviv
>  MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_KMSRO)    += kmsro
>  MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_LIMA)     += lima
>  MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_NOUVEAU)  += nouveau
> +MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_PANFROST) += panfrost
>  MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_R600)     += r600
>  MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_RADEONSI) += radeonsi
>  MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SVGA)     += svga
> @@ -175,6 +176,8 @@ else ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_ETNAVIV),y)
>  MESA3D_PLATFORMS = drm
>  else ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_LIMA),y)
>  MESA3D_PLATFORMS = drm
> +else ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_PANFROST),y)
> +MESA3D_PLATFORMS = drm
>  else ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VIRGL),y)
>  MESA3D_PLATFORMS = drm
>  else ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_RADEONSI),y)
> 

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

* [Buildroot] [PATCH/next v9 02/12] package/mesa3d: rename OSMesa option
  2019-08-11 13:17 ` [Buildroot] [PATCH/next v9 02/12] package/mesa3d: rename OSMesa option Bernd Kuhls
@ 2019-08-13 19:09   ` André Hentschel
  0 siblings, 0 replies; 17+ messages in thread
From: André Hentschel @ 2019-08-13 19:09 UTC (permalink / raw)
  To: buildroot

Am 11.08.19 um 15:17 schrieb Bernd Kuhls:
> From: Romain Naour <romain.naour@smile.fr>
> 
> This option is renamed in order to match the naming used by the
> meson buildsystem.
> 
> Signed-off-by: Romain Naour <romain.naour@smile.fr>
> Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
> ---
>  Config.in.legacy                     | 10 ++++++++++
>  package/mesa3d-demos/mesa3d-demos.mk |  2 +-
>  package/mesa3d/Config.in             |  8 ++++----
>  package/mesa3d/mesa3d.mk             |  2 +-
>  package/wine/wine.mk                 |  2 +-
>  5 files changed, 17 insertions(+), 7 deletions(-)
> 
> diff --git a/Config.in.legacy b/Config.in.legacy
> index de05b07c97..4b5a2ce41e 100644
> --- a/Config.in.legacy
> +++ b/Config.in.legacy
> @@ -144,6 +144,16 @@ endif
>  
>  ###############################################################################
>  
> +comment "Legacy options removed in 2019.11"
> +
> +config BR2_PACKAGE_MESA3D_OSMESA
> +	bool "mesa OSMesa option renamed"
> +	select BR2_PACKAGE_MESA3D_OSMESA_CLASSIC
> +	select BR2_LEGACY
> +	help
> +	  The option was renamed in order to match the naming used
> +	  by the meson buildsystem.
> +
>  comment "Legacy options removed in 2019.08"
>  
>  config BR2_GCC_VERSION_6_X
> diff --git a/package/mesa3d-demos/mesa3d-demos.mk b/package/mesa3d-demos/mesa3d-demos.mk
> index ddff9b9ed9..e9aa44dc2e 100644
> --- a/package/mesa3d-demos/mesa3d-demos.mk
> +++ b/package/mesa3d-demos/mesa3d-demos.mk
> @@ -61,7 +61,7 @@ ifeq ($(BR2_PACKAGE_LIBFREEGLUT),y)
>  MESA3D_DEMOS_DEPENDENCIES += libfreeglut
>  MESA3D_DEMOS_CONF_OPTS += --with-glut=$(STAGING_DIR)/usr
>  # osmesa support depends on glut
> -ifeq ($(BR2_PACKAGE_MESA3D_OSMESA),y)
> +ifeq ($(BR2_PACKAGE_MESA3D_OSMESA_CLASSIC),y)
>  MESA3D_DEMOS_CONF_OPTS += --enable-osmesa
>  else
>  MESA3D_DEMOS_CONF_OPTS += --disable-osmesa
> diff --git a/package/mesa3d/Config.in b/package/mesa3d/Config.in
> index 3f44e94229..bd05116aca 100644
> --- a/package/mesa3d/Config.in
> +++ b/package/mesa3d/Config.in
> @@ -265,11 +265,11 @@ comment "intel vulkan depends on X.org and needs a glibc toolchain w/ headers >=
>  
>  comment "Off-screen Rendering"
>  
> -config BR2_PACKAGE_MESA3D_OSMESA
> -	bool "OSMesa library"
> +config BR2_PACKAGE_MESA3D_OSMESA_CLASSIC
> +	bool "OSMesa (classic) library"
>  	help
> -	  The OSMesa API provides functions for making off-screen
> -	  renderings.
> +	  The OSMesa classic API provides functions for
> +	  making off-screen renderings.
>  
>  if BR2_PACKAGE_MESA3D_DRIVER
>  
> diff --git a/package/mesa3d/mesa3d.mk b/package/mesa3d/mesa3d.mk
> index b1799067ee..81736c83d3 100644
> --- a/package/mesa3d/mesa3d.mk
> +++ b/package/mesa3d/mesa3d.mk
> @@ -156,7 +156,7 @@ endif
>  
>  # APIs
>  
> -ifeq ($(BR2_PACKAGE_MESA3D_OSMESA),y)
> +ifeq ($(BR2_PACKAGE_MESA3D_OSMESA_CLASSIC),y)
>  MESA3D_CONF_OPTS += --enable-osmesa
>  else
>  MESA3D_CONF_OPTS += --disable-osmesa
> diff --git a/package/wine/wine.mk b/package/wine/wine.mk
> index 78fa860ecf..a09fcdff23 100644
> --- a/package/wine/wine.mk
> +++ b/package/wine/wine.mk
> @@ -195,7 +195,7 @@ else
>  WINE_CONF_OPTS += --without-ldap
>  endif
>  
> -ifeq ($(BR2_PACKAGE_MESA3D_OSMESA),y)
> +ifeq ($(BR2_PACKAGE_MESA3D_OSMESA_CLASSIC),y)
>  WINE_CONF_OPTS += --with-osmesa
>  WINE_DEPENDENCIES += mesa3d
>  else
> 

Acked-by: Andr? Hentschel <nerv@dawncrow.de>

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

end of thread, other threads:[~2019-08-13 19:09 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-08-11 13:17 [Buildroot] [PATCH/next v9 01/12] package/python3-mako: new package Bernd Kuhls
2019-08-11 13:17 ` [Buildroot] [PATCH/next v9 02/12] package/mesa3d: rename OSMesa option Bernd Kuhls
2019-08-13 19:09   ` André Hentschel
2019-08-11 13:17 ` [Buildroot] [PATCH/next v9 03/12] package/mesa3d: add OSMesa classic needs dri swrast Bernd Kuhls
2019-08-11 13:17 ` [Buildroot] [PATCH/next v9 04/12] package/mesa3d: Only one swrast provider can be built Bernd Kuhls
2019-08-11 13:17 ` [Buildroot] [PATCH/next v9 05/12] package/mesa3d: add xvmc option Bernd Kuhls
2019-08-11 13:17 ` [Buildroot] [PATCH/next v9 06/12] package/mesa3d: Gallium xa state tracker is only available for nouveau and svga Gallium drivers Bernd Kuhls
2019-08-11 13:17 ` [Buildroot] [PATCH/next v9 07/12] package/mesa3d: add a new option to enable GLX support Bernd Kuhls
2019-08-11 20:31   ` Romain Naour
2019-08-11 13:17 ` [Buildroot] [PATCH/next v9 08/12] package/mesa3d: switch build system to meson Bernd Kuhls
2019-08-11 20:39   ` Romain Naour
2019-08-11 13:17 ` [Buildroot] [PATCH/next v9 09/12] package/mesa3d: select kmsro for etnaviv Bernd Kuhls
2019-08-11 13:17 ` [Buildroot] [PATCH/next v9 10/12] package/{mesa3d, mesa3d-headers}: bump version to 19.1.4 Bernd Kuhls
2019-08-11 13:17 ` [Buildroot] [PATCH/next v9 11/12] package/mesa3d: add support for gallium lima driver Bernd Kuhls
2019-08-11 20:41   ` Romain Naour
2019-08-11 13:17 ` [Buildroot] [PATCH/next v9 12/12] package/mesa3d: add support for gallium panfrost driver Bernd Kuhls
2019-08-11 20:43   ` Romain Naour

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox