diff mbox series

[7/8] package/kmscube: use libgbm virtual package

Message ID 20210921130326.3462783-8-kamel.bouhara@bootlin.com
State Changes Requested
Headers show
Series Use gbm API features | expand

Commit Message

Kamel Bouhara Sept. 21, 2021, 1:03 p.m. UTC
From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>

kmscube requires a libgbm implementation, which until now, only Mesa3D
was providing, so kmscube had a direct dependency on Mesa3D.

However, now that we have a proper libgbm virtual package, so this
commit converts the kmscube package to use the libegl, libgbm and
libgles virtual packages.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Kamel Bouhara <kamel.bouhara@bootlin.com>
[ Kamel : add dependency on recent libgbm ]
---
 package/kmscube/Config.in  | 18 ++++++++++++++----
 package/kmscube/kmscube.mk |  3 ++-
 2 files changed, 16 insertions(+), 5 deletions(-)

Comments

Thomas Petazzoni Sept. 21, 2021, 2:16 p.m. UTC | #1
Hello Kamel,

On Tue, 21 Sep 2021 15:03:24 +0200
Kamel Bouhara <kamel.bouhara@bootlin.com> wrote:

> From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> 
> kmscube requires a libgbm implementation, which until now, only Mesa3D
> was providing, so kmscube had a direct dependency on Mesa3D.
> 
> However, now that we have a proper libgbm virtual package, so this
> commit converts the kmscube package to use the libegl, libgbm and
> libgles virtual packages.
> 
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> Signed-off-by: Kamel Bouhara <kamel.bouhara@bootlin.com>
> [ Kamel : add dependency on recent libgbm ]
> ---
>  package/kmscube/Config.in  | 18 ++++++++++++++----
>  package/kmscube/kmscube.mk |  3 ++-
>  2 files changed, 16 insertions(+), 5 deletions(-)
> 
> diff --git a/package/kmscube/Config.in b/package/kmscube/Config.in
> index b6ad305bfb..d97b0f962e 100644
> --- a/package/kmscube/Config.in
> +++ b/package/kmscube/Config.in
> @@ -1,9 +1,19 @@
>  config BR2_PACKAGE_KMSCUBE
>  	bool "kmscube"
> -	# requires libgbm from mesa3d
> -	depends on BR2_PACKAGE_MESA3D_OPENGL_EGL
> -	depends on BR2_PACKAGE_MESA3D_OPENGL_ES
> +	depends on BR2_PACKAGE_HAS_LIBEGL
> +	depends on BR2_PACKAGE_HAS_LIBGBM
> +	depends on BR2_PACKAGE_LIBGBM_HAS_FEATURE_FORMAT_NAME_DESC

This does not exist in your PATCH 2/8:

+config BR2_PACKAGE_LIBGBM_HAS_FEATURE_FORMAT_MODIFIER_PLANE_COUNT

+config BR2_PACKAGE_LIBGBM_HAS_FEATURE_DMA_BUF

Did you test this patch ?


> +comment "kmscube needs a toolchain w/ threads support"
> +	depends on BR2_PACKAGE_HAS_LIBEGL
> +	depends on BR2_PACKAGE_HAS_LIBGBM
> +	depends on BR2_PACKAGE_LIBGBM_HAS_FEATURE_FORMAT_NAME_DESC
> +	depends on BR2_PACKAGE_HAS_LIBGLES
> +	depends on !BR2_TOOLCHAIN_HAS_THREADS

This should be:

comment "kmscube needs EGL, GBM and OpenGL ES, and a toolchain w/ thread support"

> diff --git a/package/kmscube/kmscube.mk b/package/kmscube/kmscube.mk
> index 7b458376dc..26c82d2688 100644
> --- a/package/kmscube/kmscube.mk
> +++ b/package/kmscube/kmscube.mk
> @@ -8,6 +8,7 @@ KMSCUBE_VERSION = 4660a7dca6512b6e658759d00cff7d4ad2a2059d
>  KMSCUBE_SITE = https://gitlab.freedesktop.org/mesa/kmscube/-/archive/$(KMSCUBE_VERSION)
>  KMSCUBE_LICENSE = MIT
>  KMSCUBE_LICENSE_FILES = COPYING
> -KMSCUBE_DEPENDENCIES = host-pkgconf mesa3d libdrm
> +KMSCUBE_DEPENDENCIES = host-pkgconf libgles libegl libgbm libdrm
> +KMSCUBE_AUTORECONF = YES

Why is autoreconf being added here ? On a meson-package, this doesn't
make much sense.

Thomas
Kamel Bouhara Sept. 22, 2021, 9:26 a.m. UTC | #2
On Tue, Sep 21, 2021 at 04:16:24PM +0200, Thomas Petazzoni wrote:
> Hello Kamel,
>
> On Tue, 21 Sep 2021 15:03:24 +0200
> Kamel Bouhara <kamel.bouhara@bootlin.com> wrote:
>
> > From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> >
> > kmscube requires a libgbm implementation, which until now, only Mesa3D
> > was providing, so kmscube had a direct dependency on Mesa3D.
> >
> > However, now that we have a proper libgbm virtual package, so this
> > commit converts the kmscube package to use the libegl, libgbm and
> > libgles virtual packages.
> >
> > Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> > Signed-off-by: Kamel Bouhara <kamel.bouhara@bootlin.com>
> > [ Kamel : add dependency on recent libgbm ]
> > ---
> >  package/kmscube/Config.in  | 18 ++++++++++++++----
> >  package/kmscube/kmscube.mk |  3 ++-
> >  2 files changed, 16 insertions(+), 5 deletions(-)
> >
> > diff --git a/package/kmscube/Config.in b/package/kmscube/Config.in
> > index b6ad305bfb..d97b0f962e 100644
> > --- a/package/kmscube/Config.in
> > +++ b/package/kmscube/Config.in
> > @@ -1,9 +1,19 @@
> >  config BR2_PACKAGE_KMSCUBE
> >  	bool "kmscube"
> > -	# requires libgbm from mesa3d
> > -	depends on BR2_PACKAGE_MESA3D_OPENGL_EGL
> > -	depends on BR2_PACKAGE_MESA3D_OPENGL_ES
> > +	depends on BR2_PACKAGE_HAS_LIBEGL
> > +	depends on BR2_PACKAGE_HAS_LIBGBM
> > +	depends on BR2_PACKAGE_LIBGBM_HAS_FEATURE_FORMAT_NAME_DESC
>
> This does not exist in your PATCH 2/8:
>
> +config BR2_PACKAGE_LIBGBM_HAS_FEATURE_FORMAT_MODIFIER_PLANE_COUNT
>
> +config BR2_PACKAGE_LIBGBM_HAS_FEATURE_DMA_BUF
>
> Did you test this patch ?
>

I guess not since my last rebase, I'll do so for next version.

>
> > +comment "kmscube needs a toolchain w/ threads support"
> > +	depends on BR2_PACKAGE_HAS_LIBEGL
> > +	depends on BR2_PACKAGE_HAS_LIBGBM
> > +	depends on BR2_PACKAGE_LIBGBM_HAS_FEATURE_FORMAT_NAME_DESC
> > +	depends on BR2_PACKAGE_HAS_LIBGLES
> > +	depends on !BR2_TOOLCHAIN_HAS_THREADS
>
> This should be:
>
> comment "kmscube needs EGL, GBM and OpenGL ES, and a toolchain w/ thread support"

OK.

>
> > diff --git a/package/kmscube/kmscube.mk b/package/kmscube/kmscube.mk
> > index 7b458376dc..26c82d2688 100644
> > --- a/package/kmscube/kmscube.mk
> > +++ b/package/kmscube/kmscube.mk
> > @@ -8,6 +8,7 @@ KMSCUBE_VERSION = 4660a7dca6512b6e658759d00cff7d4ad2a2059d
> >  KMSCUBE_SITE = https://gitlab.freedesktop.org/mesa/kmscube/-/archive/$(KMSCUBE_VERSION)
> >  KMSCUBE_LICENSE = MIT
> >  KMSCUBE_LICENSE_FILES = COPYING
> > -KMSCUBE_DEPENDENCIES = host-pkgconf mesa3d libdrm
> > +KMSCUBE_DEPENDENCIES = host-pkgconf libgles libegl libgbm libdrm
> > +KMSCUBE_AUTORECONF = YES
>
> Why is autoreconf being added here ? On a meson-package, this doesn't
> make much sense.

Indeed, I think it's a bad merge.

>
> Thomas
> --
> Thomas Petazzoni, co-owner and CEO, Bootlin
> Embedded Linux and Kernel engineering and training
> https://bootlin.com

--
Kamel Bouhara, Bootlin
Embedded Linux and kernel engineering
https://bootlin.com
diff mbox series

Patch

diff --git a/package/kmscube/Config.in b/package/kmscube/Config.in
index b6ad305bfb..d97b0f962e 100644
--- a/package/kmscube/Config.in
+++ b/package/kmscube/Config.in
@@ -1,9 +1,19 @@ 
 config BR2_PACKAGE_KMSCUBE
 	bool "kmscube"
-	# requires libgbm from mesa3d
-	depends on BR2_PACKAGE_MESA3D_OPENGL_EGL
-	depends on BR2_PACKAGE_MESA3D_OPENGL_ES
+	depends on BR2_PACKAGE_HAS_LIBEGL
+	depends on BR2_PACKAGE_HAS_LIBGBM
+	depends on BR2_PACKAGE_LIBGBM_HAS_FEATURE_FORMAT_NAME_DESC
+	depends on BR2_PACKAGE_HAS_LIBGLES
+	depends on BR2_TOOLCHAIN_HAS_THREADS # libdrm
+	select BR2_PACKAGE_LIBDRM
 	help
 	  kmscube is an application to test kms/drm drivers.
 
-	  https://gitlab.freedesktop.org/mesa/kmscube
+	  https://cgit.freedesktop.org/mesa/kmscube/
+
+comment "kmscube needs a toolchain w/ threads support"
+	depends on BR2_PACKAGE_HAS_LIBEGL
+	depends on BR2_PACKAGE_HAS_LIBGBM
+	depends on BR2_PACKAGE_LIBGBM_HAS_FEATURE_FORMAT_NAME_DESC
+	depends on BR2_PACKAGE_HAS_LIBGLES
+	depends on !BR2_TOOLCHAIN_HAS_THREADS
diff --git a/package/kmscube/kmscube.mk b/package/kmscube/kmscube.mk
index 7b458376dc..26c82d2688 100644
--- a/package/kmscube/kmscube.mk
+++ b/package/kmscube/kmscube.mk
@@ -8,6 +8,7 @@  KMSCUBE_VERSION = 4660a7dca6512b6e658759d00cff7d4ad2a2059d
 KMSCUBE_SITE = https://gitlab.freedesktop.org/mesa/kmscube/-/archive/$(KMSCUBE_VERSION)
 KMSCUBE_LICENSE = MIT
 KMSCUBE_LICENSE_FILES = COPYING
-KMSCUBE_DEPENDENCIES = host-pkgconf mesa3d libdrm
+KMSCUBE_DEPENDENCIES = host-pkgconf libgles libegl libgbm libdrm
+KMSCUBE_AUTORECONF = YES
 
 $(eval $(meson-package))