All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/1] package/gstreamer1: gl enabled when either GL or GLES2 is present
@ 2019-07-25 11:42 Charlie Turner
  2019-07-31  6:18 ` Charles Turner
  2019-08-08 10:11 ` Adrian Perez de Castro
  0 siblings, 2 replies; 7+ messages in thread
From: Charlie Turner @ 2019-07-25 11:42 UTC (permalink / raw)
  To: buildroot

When building gst1-plugins-base with GL support on the rpi3 (which
supports only GLES2, not full desktop GL), GStreamer was being asked to
disable its GL support completely. This isn't correct since it can be
used with either GL or GLES2.

Signed-off-by: Charlie Turner <cturner@igalia.com>
---
 .../gstreamer1/gst1-plugins-base/gst1-plugins-base.mk    | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk b/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk
index 66c136c36c..b572c0e992 100644
--- a/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk
+++ b/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk
@@ -39,13 +39,18 @@ GST1_PLUGINS_BASE_CONF_OPTS += -Dorc=disabled
 endif
 
 ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_OPENGL),y)
-GST1_PLUGINS_BASE_GL_API_LIST = opengl
 GST1_PLUGINS_BASE_CONF_OPTS += -Dgl=enabled
-GST1_PLUGINS_BASE_DEPENDENCIES += libgl libglu
+else ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_GLES2),y)
+GST1_PLUGINS_BASE_CONF_OPTS += -Dgl=enabled
 else
 GST1_PLUGINS_BASE_CONF_OPTS += -Dgl=disabled
 endif
 
+ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_OPENGL),y)
+GST1_PLUGINS_BASE_GL_API_LIST = opengl
+GST1_PLUGINS_BASE_DEPENDENCIES += libgl libglu
+endif
+
 ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_GLES2),y)
 GST1_PLUGINS_BASE_GL_API_LIST += gles2
 GST1_PLUGINS_BASE_DEPENDENCIES += libgles
-- 
2.17.1

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

* [Buildroot] [PATCH 1/1] package/gstreamer1: gl enabled when either GL or GLES2 is present
  2019-07-25 11:42 [Buildroot] [PATCH 1/1] package/gstreamer1: gl enabled when either GL or GLES2 is present Charlie Turner
@ 2019-07-31  6:18 ` Charles Turner
  2019-08-08 10:11 ` Adrian Perez de Castro
  1 sibling, 0 replies; 7+ messages in thread
From: Charles Turner @ 2019-07-31  6:18 UTC (permalink / raw)
  To: buildroot

Ping

On Thu, 2019-07-25 at 12:42 +0100, Charlie Turner wrote:
> When building gst1-plugins-base with GL support on the rpi3 (which
> supports only GLES2, not full desktop GL), GStreamer was being asked
> to
> disable its GL support completely. This isn't correct since it can be
> used with either GL or GLES2.
> 
> Signed-off-by: Charlie Turner <cturner@igalia.com>
> ---
>  .../gstreamer1/gst1-plugins-base/gst1-plugins-base.mk    | 9
> +++++++--
>  1 file changed, 7 insertions(+), 2 deletions(-)
> 
> diff --git a/package/gstreamer1/gst1-plugins-base/gst1-plugins-
> base.mk b/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk
> index 66c136c36c..b572c0e992 100644
> --- a/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk
> +++ b/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk
> @@ -39,13 +39,18 @@ GST1_PLUGINS_BASE_CONF_OPTS += -Dorc=disabled
>  endif
>  
>  ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_OPENGL),y)
> -GST1_PLUGINS_BASE_GL_API_LIST = opengl
>  GST1_PLUGINS_BASE_CONF_OPTS += -Dgl=enabled
> -GST1_PLUGINS_BASE_DEPENDENCIES += libgl libglu
> +else ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_GLES2),y)
> +GST1_PLUGINS_BASE_CONF_OPTS += -Dgl=enabled
>  else
>  GST1_PLUGINS_BASE_CONF_OPTS += -Dgl=disabled
>  endif
>  
> +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_OPENGL),y)
> +GST1_PLUGINS_BASE_GL_API_LIST = opengl
> +GST1_PLUGINS_BASE_DEPENDENCIES += libgl libglu
> +endif
> +
>  ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_GLES2),y)
>  GST1_PLUGINS_BASE_GL_API_LIST += gles2
>  GST1_PLUGINS_BASE_DEPENDENCIES += libgles

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

* [Buildroot] [PATCH 1/1] package/gstreamer1: gl enabled when either GL or GLES2 is present
  2019-07-25 11:42 [Buildroot] [PATCH 1/1] package/gstreamer1: gl enabled when either GL or GLES2 is present Charlie Turner
  2019-07-31  6:18 ` Charles Turner
@ 2019-08-08 10:11 ` Adrian Perez de Castro
  1 sibling, 0 replies; 7+ messages in thread
From: Adrian Perez de Castro @ 2019-08-08 10:11 UTC (permalink / raw)
  To: buildroot

Hello!

On Thu, 25 Jul 2019 12:42:25 +0100, Charlie Turner <cturner@igalia.com> wrote:
> When building gst1-plugins-base with GL support on the rpi3 (which
> supports only GLES2, not full desktop GL), GStreamer was being asked to
> disable its GL support completely. This isn't correct since it can be
> used with either GL or GLES2.

Precisely yesterday we were having a discussion in the #buildroot IRC channel
about how it should be possible to build the GStreamer GL support with APIs
other than desktop OpenGL. This will also enable using it in systems with
EGL+GLES2 support for which GStreamer has support (Vivante, Wayland, etc.),
as I can see from the corresponding ?meson.build? file:

 https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/blob/master/gst-libs/gst/gl/meson.build#L228

All in all, your patch looks good to me (thanks, and sorry that it has been
sitting without a review for so long!), and I just have a comment below
asking for a small simplification?please take a look.

> Signed-off-by: Charlie Turner <cturner@igalia.com>

Reviewed-by: Adrian Perez de Castro <aperez@igalia.com>

> ---
>  .../gstreamer1/gst1-plugins-base/gst1-plugins-base.mk    | 9 +++++++--
>  1 file changed, 7 insertions(+), 2 deletions(-)
> 
> diff --git a/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk b/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk
> index 66c136c36c..b572c0e992 100644
> --- a/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk
> +++ b/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk
> @@ -39,13 +39,18 @@ GST1_PLUGINS_BASE_CONF_OPTS += -Dorc=disabled
>  endif
>  
>  ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_OPENGL),y)
> -GST1_PLUGINS_BASE_GL_API_LIST = opengl
>  GST1_PLUGINS_BASE_CONF_OPTS += -Dgl=enabled
> -GST1_PLUGINS_BASE_DEPENDENCIES += libgl libglu
> +else ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_GLES2),y)
> +GST1_PLUGINS_BASE_CONF_OPTS += -Dgl=enabled
>  else
>  GST1_PLUGINS_BASE_CONF_OPTS += -Dgl=disabled
>  endif

I would probably do the check for both _OPENGL_OPENGL and _OPENGL_GLES2
in a single line, like this:

  ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_OPENGL)$(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_GLES2),)
  GST1_PLUGINS_BASE_CONF_OPTS += -Dgl=disabled
  else
  GST1_PLUGINS_BASE_CONF_OPTS += -Dgl=enabled
  endif

(Options which are disabled expand to the empty string, so if both are empty
the comparison with the empty string succeeds and we pass -Dgl=disabled to
Meson.)

> +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_OPENGL),y)
> +GST1_PLUGINS_BASE_GL_API_LIST = opengl
> +GST1_PLUGINS_BASE_DEPENDENCIES += libgl libglu
> +endif
> +
>  ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_GLES2),y)
>  GST1_PLUGINS_BASE_GL_API_LIST += gles2
>  GST1_PLUGINS_BASE_DEPENDENCIES += libgles
> -- 
> 2.17.1

Cheers,
-Adrian
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20190808/10b2685e/attachment.asc>

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

* [Buildroot] [PATCH 1/1] package/gstreamer1: gl enabled when either GL or GLES2 is present
  2019-10-11 22:04 ` Arnout Vandecappelle
@ 2019-10-29  8:04   ` Peter Korsgaard
  0 siblings, 0 replies; 7+ messages in thread
From: Peter Korsgaard @ 2019-10-29  8:04 UTC (permalink / raw)
  To: buildroot

>>>>> "Arnout" == Arnout Vandecappelle <arnout@mind.be> writes:

 >  Hi Charlie,
 > On 08/08/2019 13:36, Charlie Turner wrote:
 >> When building gst1-plugins-base with GL support on the rpi3 (which
 >> supports only GLES2, not full desktop GL), GStreamer was being asked to
 >> disable its GL support completely. This isn't correct since it can be
 >> used with either GL or GLES2.
 >> 
 >> Signed-off-by: Charlie Turner <cturner@igalia.com>

 >  I *finally* applied to master, thanks.

Committed to 2019.08.x, thanks. 2019.02.x uses an older gstreamer1 /
autotools, so it isn't (directly) applicable.

-- 
Bye, Peter Korsgaard

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

* [Buildroot] [PATCH 1/1] package/gstreamer1: gl enabled when either GL or GLES2 is present
  2019-08-08 11:36 Charlie Turner
  2019-08-08 11:51 ` Adrian Perez de Castro
@ 2019-10-11 22:04 ` Arnout Vandecappelle
  2019-10-29  8:04   ` Peter Korsgaard
  1 sibling, 1 reply; 7+ messages in thread
From: Arnout Vandecappelle @ 2019-10-11 22:04 UTC (permalink / raw)
  To: buildroot

 Hi Charlie,

On 08/08/2019 13:36, Charlie Turner wrote:
> When building gst1-plugins-base with GL support on the rpi3 (which
> supports only GLES2, not full desktop GL), GStreamer was being asked to
> disable its GL support completely. This isn't correct since it can be
> used with either GL or GLES2.
> 
> Signed-off-by: Charlie Turner <cturner@igalia.com>

 I *finally* applied to master, thanks.

> ---
>  .../gstreamer1/gst1-plugins-base/gst1-plugins-base.mk    | 9 ++++++---
>  1 file changed, 6 insertions(+), 3 deletions(-)
> 
> diff --git a/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk b/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk
> index 66c136c36c..e80b301b82 100644
> --- a/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk
> +++ b/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk
> @@ -38,12 +38,15 @@ else
>  GST1_PLUGINS_BASE_CONF_OPTS += -Dorc=disabled
>  endif
>  
> +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_OPENGL)$(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_GLES2),)

 Instead of this, I refactored it using the
BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_HAS_API option, which is selected by
those two. It has exactly the same effect and is much easer to read.

> +GST1_PLUGINS_BASE_CONF_OPTS += -Dgl=disabled
> +else
> +GST1_PLUGINS_BASE_CONF_OPTS += -Dgl=enabled
> +endif
> +
>  ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_OPENGL),y)

... and I also moved these two conditions under the _API condition, so it's
clear that it all belongs together.

 Regards,
 Arnout

>  GST1_PLUGINS_BASE_GL_API_LIST = opengl
> -GST1_PLUGINS_BASE_CONF_OPTS += -Dgl=enabled
>  GST1_PLUGINS_BASE_DEPENDENCIES += libgl libglu
> -else
> -GST1_PLUGINS_BASE_CONF_OPTS += -Dgl=disabled
>  endif
>  
>  ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_GLES2),y)
> 

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

* [Buildroot] [PATCH 1/1] package/gstreamer1: gl enabled when either GL or GLES2 is present
  2019-08-08 11:36 Charlie Turner
@ 2019-08-08 11:51 ` Adrian Perez de Castro
  2019-10-11 22:04 ` Arnout Vandecappelle
  1 sibling, 0 replies; 7+ messages in thread
From: Adrian Perez de Castro @ 2019-08-08 11:51 UTC (permalink / raw)
  To: buildroot

Hello Charlie,

Thanks for the quick update, patch looks all good to me ?

On Thu,  8 Aug 2019 12:36:31 +0100, Charlie Turner <cturner@igalia.com> wrote:
> When building gst1-plugins-base with GL support on the rpi3 (which
> supports only GLES2, not full desktop GL), GStreamer was being asked to
> disable its GL support completely. This isn't correct since it can be
> used with either GL or GLES2.
> 
> Signed-off-by: Charlie Turner <cturner@igalia.com>

Reviewed-By: Adrian Perez de Castro <aperez@igalia.com>

> ---
>  .../gstreamer1/gst1-plugins-base/gst1-plugins-base.mk    | 9 ++++++---
>  1 file changed, 6 insertions(+), 3 deletions(-)
> 
> diff --git a/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk b/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk
> index 66c136c36c..e80b301b82 100644
> --- a/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk
> +++ b/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk
> @@ -38,12 +38,15 @@ else
>  GST1_PLUGINS_BASE_CONF_OPTS += -Dorc=disabled
>  endif
>  
> +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_OPENGL)$(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_GLES2),)
> +GST1_PLUGINS_BASE_CONF_OPTS += -Dgl=disabled
> +else
> +GST1_PLUGINS_BASE_CONF_OPTS += -Dgl=enabled
> +endif
> +
>  ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_OPENGL),y)
>  GST1_PLUGINS_BASE_GL_API_LIST = opengl
> -GST1_PLUGINS_BASE_CONF_OPTS += -Dgl=enabled
>  GST1_PLUGINS_BASE_DEPENDENCIES += libgl libglu
> -else
> -GST1_PLUGINS_BASE_CONF_OPTS += -Dgl=disabled
>  endif
>  
>  ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_GLES2),y)
> -- 
> 2.17.1

Cheers,
?Adri?n
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20190808/96db39d2/attachment.asc>

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

* [Buildroot] [PATCH 1/1] package/gstreamer1: gl enabled when either GL or GLES2 is present
@ 2019-08-08 11:36 Charlie Turner
  2019-08-08 11:51 ` Adrian Perez de Castro
  2019-10-11 22:04 ` Arnout Vandecappelle
  0 siblings, 2 replies; 7+ messages in thread
From: Charlie Turner @ 2019-08-08 11:36 UTC (permalink / raw)
  To: buildroot

When building gst1-plugins-base with GL support on the rpi3 (which
supports only GLES2, not full desktop GL), GStreamer was being asked to
disable its GL support completely. This isn't correct since it can be
used with either GL or GLES2.

Signed-off-by: Charlie Turner <cturner@igalia.com>
---
 .../gstreamer1/gst1-plugins-base/gst1-plugins-base.mk    | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk b/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk
index 66c136c36c..e80b301b82 100644
--- a/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk
+++ b/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk
@@ -38,12 +38,15 @@ else
 GST1_PLUGINS_BASE_CONF_OPTS += -Dorc=disabled
 endif
 
+ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_OPENGL)$(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_GLES2),)
+GST1_PLUGINS_BASE_CONF_OPTS += -Dgl=disabled
+else
+GST1_PLUGINS_BASE_CONF_OPTS += -Dgl=enabled
+endif
+
 ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_OPENGL),y)
 GST1_PLUGINS_BASE_GL_API_LIST = opengl
-GST1_PLUGINS_BASE_CONF_OPTS += -Dgl=enabled
 GST1_PLUGINS_BASE_DEPENDENCIES += libgl libglu
-else
-GST1_PLUGINS_BASE_CONF_OPTS += -Dgl=disabled
 endif
 
 ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_GLES2),y)
-- 
2.17.1

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

end of thread, other threads:[~2019-10-29  8:04 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-07-25 11:42 [Buildroot] [PATCH 1/1] package/gstreamer1: gl enabled when either GL or GLES2 is present Charlie Turner
2019-07-31  6:18 ` Charles Turner
2019-08-08 10:11 ` Adrian Perez de Castro
2019-08-08 11:36 Charlie Turner
2019-08-08 11:51 ` Adrian Perez de Castro
2019-10-11 22:04 ` Arnout Vandecappelle
2019-10-29  8:04   ` Peter Korsgaard

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