All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnout Vandecappelle <arnout@mind.be>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH v8 21/28] xbmc: Add X.org/OpenGL support
Date: Wed, 21 May 2014 01:16:15 +0200	[thread overview]
Message-ID: <537BE23F.602@mind.be> (raw)
In-Reply-To: <20140520164924.GA3506@free.fr>

On 20/05/14 18:49, Yann E. MORIN wrote:
> 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.

 In shell, || and && have equal precedence. So I disagree here.

> 
> 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.

 Agreed if there is a specific ARM dependency in XBMC itself. I don't agree if
this is just because only mesa3d on x86 implements libgl.

>> 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.)

 Other packages use "requires an OpenGL-capable backend" even if they need
EGL/GLES. But admittedly these others are all qt5.

> 
>> 	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.

 Well, if we get another libgl provider that doesn't require X, then the
_HAS_LIBGL condition will be incorrect...


 Regards,
 Arnout


> Now, I never managed to grasp all those lib*GL* stuff. What about libGLX?
> 
> Regards,
> Yann E. MORIN.
> 


-- 
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F

  parent reply	other threads:[~2014-05-20 23:16 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
2014-05-20 21:10                 ` Peter Korsgaard
2014-05-20 23:16                 ` Arnout Vandecappelle [this message]
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=537BE23F.602@mind.be \
    --to=arnout@mind.be \
    --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.