All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yann E. MORIN <yann.morin.1998@free.fr>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH v8 21/28] xbmc: Add X.org/OpenGL support
Date: Tue, 20 May 2014 18:49:24 +0200	[thread overview]
Message-ID: <20140520164924.GA3506@free.fr> (raw)
In-Reply-To: <537B83C6.6080403@mind.be>

Arnout, All,

On 2014-05-20 18:33 +0200, Arnout Vandecappelle spake thusly:
> On 18/05/14 19:29, Yann E. MORIN wrote:
> > Bernd, All,
> > 
> > On 2014-05-18 18:58 +0200, Bernd Kuhls spake thusly:
> >> "Yann E. MORIN" <yann.morin.1998@free.fr> wrote in
> >> news:20140518162900.GA3631 at free.fr: 
> >>
> >>> Something like:
> >> [...]
> >>> should do the trick.
> >>
> >> Hi,
> >>
> >> for further comments I posted my current patch here:
> >> http://pastebin.com/zv7jueLB (expires in one week).
> >>
> >> Especially the last "depends on" block looks crude, but seems to work.
> > 
> > Yep, it looks too dense. I think we can factor it into:
> > 
> >     depends on BR2_arm || BR2_i386 || BR2_x86_64
> >     depends on HAS_LIBEGL && HAS_LIBGLES \
> >             || (BR2_i386 || BR2_x86_64) && HAS_LIBGL
> 
>  I don't agree with you Yann that the () should be left out here. Not many
> people know enough about the Kconfig logic to be able to be sure about the
> precedence here.

Well, the precedence of the || and && operators is always the same in
virtually all languages: C, shell, java, you-name-it. kconfig does just
abide by the usual standards, here, and it's clearly stated in the
kconfig grammar.

Furthermore, leaving the () would falsely imply that || would have
precedence over &&, which is not the case.

> > So, it first ensures that it is only visible for ARM or x86 (the only
> > archs we currently support SBMC on.)
> > 
> > Then, it is available only for EGL+GLES or x86+GL, since EGL+GLES is
> > posible on ARM and x86 alike, but full GL is only possible on x86.
> 
>  I think there's something more fundamentally inappropriate about the approach
> taken here. I think the way out could be to add auxiliary symbols to identify
> which provider is used. Something like:
> 
> config BR2_PACKAGE_XBMC_EGL_GLES
> 	bool
> 	default y
> 	depends on BR2_PACKAGE_HAS_LIBEGL
> 	depends on BR2_PACKAGE_HAS_LIBGLES
> 	depends on !BR2_PACKAGE_XBMC_GL # prefer GL if available
> 
> config BR2_PACKAGE_XBMC_GL
> 	bool

Missing 'default y' here too, I guess. ;-)

> 	depends on BR2_PACKAGE_XORG7
> 	depends on BR2_PACKAGE_HAS_LIBGL

And as Bernd said, full openGL support in XBMC is not possible on ARM,
so it is missing a dependency on !BR2_arm. But the basis are here,
granted.

> comment "xbmc requires an OpenGL-capable backend"

I think we want to differentiate the full-openGL vs. openGL EGL/GLES
cases, here, since ARM can only work with EGL/GLES, while x86 can use
either. So we'd need a comment for ARM (or any arch that requires
GL/GLES), and another comment for x86 (or any arch that supports both.)

> 	depends on BR2_USE_MMU
> 	depends on BR2_arm || BR2_i386 || BR2_x86_64
> 	depends on !BR2_PACKAGE_XBMC_EGL_GLES
> 	depends on !BR2_PACKAGE_XBMC_GL
> 
> config BR2_PACKAGE_XBMC
> 	...
> 	depends on BR2_PACKAGE_XBMC_EGL_GLES || BR2_PACKAGE_XBMC_GL

Yes, this seems more sound, indeed. I tried to come up with something
like that, but I failed to properly abstract the situation. Your
solution is pretty good, I like it. ;-)

>  That also allows you to use these new symbols in the .mk file instead of the
> _HAS_LIBGL which IMHO is not sufficiently accurate and future-safe.

I disagree. _HAS_LIBGL is just that: we do have a libGL implementation
available.

Now, I never managed to grasp all those lib*GL* stuff. What about libGLX?

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

  reply	other threads:[~2014-05-20 16:49 UTC|newest]

Thread overview: 68+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-17 15:57 [Buildroot] [PATCH v8 00/28] xbmc: bump version to 13.0-Gotham Bernd Kuhls
2014-05-17 15:57 ` [Buildroot] [PATCH v8 01/28] xproto_dri3proto: New package Bernd Kuhls
2014-05-17 15:57 ` [Buildroot] [PATCH v8 02/28] mesa3d: Bump version to 10.2-rc3 Bernd Kuhls
2014-05-17 15:57 ` [Buildroot] [PATCH v8 03/28] mesa3d: Depend on xorg meta package instead of xserver_xorg-server Bernd Kuhls
2014-05-17 19:56   ` Yann E. MORIN
2014-05-17 20:50     ` Bernd Kuhls
2014-05-17 21:07       ` Yann E. MORIN
2014-05-17 15:57 ` [Buildroot] [PATCH v8 04/28] mesa3d: add dependency xproto_presentproto Bernd Kuhls
2014-05-17 15:57 ` [Buildroot] [PATCH v8 05/28] mesa3d: Remove dependency for the libxml2 module of host-python Bernd Kuhls
2014-05-17 15:57 ` [Buildroot] [PATCH v8 06/28] mesa3d: Add dri3 support Bernd Kuhls
2014-05-17 15:57 ` [Buildroot] [PATCH v8 07/28] mesa3d: dri2 does not need udev support Bernd Kuhls
2014-05-17 15:57 ` [Buildroot] [PATCH v8 08/28] libva: new package Bernd Kuhls
2014-05-17 15:57 ` [Buildroot] [PATCH v8 09/28] libva-intel-driver: " Bernd Kuhls
2014-05-17 15:57 ` [Buildroot] [PATCH v8 10/28] ffmpeg: Add libva support Bernd Kuhls
2014-05-17 15:57 ` [Buildroot] [PATCH v8 11/28] libglu: new package Bernd Kuhls
2014-05-17 15:57 ` [Buildroot] [PATCH v8 12/28] libglew: " Bernd Kuhls
2014-05-17 15:57 ` [Buildroot] [PATCH v8 13/28] sdl: Add new dependency libglu for opengl support Bernd Kuhls
2014-05-17 20:00   ` Yann E. MORIN
2014-05-17 15:57 ` [Buildroot] [PATCH v8 14/28] xdriver_xf86-video-intel: Bump version to 2.99.911 Bernd Kuhls
2014-05-17 20:06   ` Yann E. MORIN
2014-05-17 20:51     ` Bernd Kuhls
2014-05-17 21:09       ` Yann E. MORIN
2014-05-17 21:17         ` Bernd Kuhls
2014-05-17 15:57 ` [Buildroot] [PATCH v8 15/28] rtmpdump: Add KSV patch Bernd Kuhls
2014-05-17 20:11   ` Yann E. MORIN
2014-05-17 21:15     ` Bernd Kuhls
2014-05-17 15:57 ` [Buildroot] [PATCH v8 16/28] xbmc: bump version to 13.0 Bernd Kuhls
2014-05-18 16:54   ` Bernd Kuhls
2014-05-17 15:57 ` [Buildroot] [PATCH v8 17/28] xbmc-pvr-addons: Version bump to xbmc Gotham-compatible addon Bernd Kuhls
2014-05-17 20:15   ` Yann E. MORIN
2014-05-17 20:51     ` Bernd Kuhls
2014-05-17 15:57 ` [Buildroot] [PATCH v8 18/28] xbmc-addon-xvdr: " Bernd Kuhls
2014-05-17 20:16   ` Yann E. MORIN
2014-05-17 20:52     ` Bernd Kuhls
2014-05-17 15:57 ` [Buildroot] [PATCH v8 19/28] xbmc: Add host-gettext dependency Bernd Kuhls
2014-05-17 20:29   ` Yann E. MORIN
2014-05-17 20:52     ` Bernd Kuhls
2014-05-17 15:57 ` [Buildroot] [PATCH v8 20/28] xbmc: Allow compilation with uClibc Bernd Kuhls
2014-05-17 20:40   ` Yann E. MORIN
2014-05-17 20:47     ` Bernd Kuhls
2014-05-17 20:56       ` Yann E. MORIN
2014-05-17 15:57 ` [Buildroot] [PATCH v8 21/28] xbmc: Add X.org/OpenGL support Bernd Kuhls
2014-05-17 20:55   ` Yann E. MORIN
2014-05-17 21:01     ` Bernd Kuhls
2014-05-17 21:17       ` Yann E. MORIN
2014-05-18 11:58     ` Bernd Kuhls
2014-05-18 16:29       ` Yann E. MORIN
2014-05-18 16:52         ` Bernd Kuhls
2014-05-18 17:07           ` Yann E. MORIN
2014-05-18 16:58         ` Bernd Kuhls
2014-05-18 17:29           ` Yann E. MORIN
2014-05-18 17:40             ` Bernd Kuhls
2014-05-20 16:33             ` Arnout Vandecappelle
2014-05-20 16:49               ` Yann E. MORIN [this message]
2014-05-20 21:10                 ` Peter Korsgaard
2014-05-20 23:16                 ` Arnout Vandecappelle
2014-05-21  7:39                   ` Bernd Kuhls
2014-05-17 15:57 ` [Buildroot] [PATCH v8 22/28] xbmc: Add VA-API support Bernd Kuhls
2014-05-17 21:01   ` Yann E. MORIN
2014-05-17 15:57 ` [Buildroot] [PATCH v8 23/28] xbmc: Add alsa support Bernd Kuhls
2014-05-17 15:57 ` [Buildroot] [PATCH v8 24/28] xbmc: Add lame support Bernd Kuhls
2014-05-17 15:57 ` [Buildroot] [PATCH v8 25/28] xbmc: Disable broken rsxs screensaver Bernd Kuhls
2014-05-17 15:57 ` [Buildroot] [PATCH v8 26/28] xbmc: Add option for Goom screensaver Bernd Kuhls
2014-05-17 21:04   ` Yann E. MORIN
2014-05-17 15:57 ` [Buildroot] [PATCH v8 27/28] xbmc: add nasm/yasm dependency Bernd Kuhls
2014-05-17 21:06   ` Yann E. MORIN
2014-05-17 15:57 ` [Buildroot] [PATCH v8 28/28] xbmc: Fix TexturePacker compile Bernd Kuhls
2014-05-17 21:13   ` Yann E. MORIN

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20140520164924.GA3506@free.fr \
    --to=yann.morin.1998@free.fr \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.