Commit Graph

15 Commits

Author SHA1 Message Date
Baruch Siach
783c8f5acb mesa3d: needs NPTL threading
Strictly speaking, linuxthreads (new) should be enough, since it includes
pthread_barrier_* implementation. However, we currently have no clean way to
distinguish between LT and LT.old.

Fixes:
http://autobuild.buildroot.net/results/66a/66a9d2c664e0a9b2b0c51b998c72c2ceda90ff9b/

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-04-20 10:54:32 +02:00
Yann E. MORIN
384d601d4e package/mesa3d: always enable openGL
Currently, we only pass --enable-opengl is at least one DRI driver is
enabled, since full OpenGL is only possible with a DRI driver (and the
X.Org stack). Otherwise, we pass --disable-opengl on the assumption that
OpenGL is not possible.

But mesa3d's ./configure is a bit weird: enabling OpenGL-ES and diabling
full OpenGL is an error (see autobuild failure below).

It turns out that, if there is no DRI driver enabled, but --enable-opengl
is passed, ./configure will behave properly wrt OpenGL-ES, and will not
build the full OpenGL libgl.

Thanks to Paul for explaining this.

Fixes:
    http://autobuild.buildroot.net/results/61c/61c1c566dc0e829cb663ca30b1fd6cf9cc6cd931/

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Paul Cercueil <paul@crapouillou.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-04-20 00:04:38 +02:00
Yann E. MORIN
dbc989558c package/mesa3d: with a DRI driver, is a full OpenGL provider
Make mesa3d a provider for full OpenGL, as soon as a DRI driver is enabled.

Full OpenGL is only possible when:
  - a DRI driver is enabled,
  - and X.Org is enabled

Since DRI driver in fact depend on X.Org being enabled in the first place,
we can safely declare mesa3d as a full openGL provider as soon as at least
one DRI driver is enabled.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Bernd Kuhls <berndkuhls@hotmail.com>
Cc: Paul Cercueil <paul@crapouillou.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-04-17 22:59:59 +02:00
Yann E. MORIN
c0d7d1c5bb package/mesa3d: only enable full OpenGL when a DRI driver is enabled
Full OpenGL is only provided when:
  - a DRI driver is enabled,
  - and X.Org is enabled

Since DRI driver depend on X.Org being selected, this means that we
can (have to) enable full OpenGL as soon as a DRI driver is enabled.

On the other hand, Gallium drivers, which currently do enable full
OpenGL, only really provide OpenGL EGL and GLES, not full OpenGL.

So we exclude Gallium drivers when checking whether to enable full
OpenGL in mesa3d.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Paul Cercueil <paul@crapouillou.net>
Cc: Bernd Kuhls <berndkuhls@hotmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-04-17 22:58:04 +02:00
Yann E. MORIN
ca2176efaf package/mesa3d: simplify the code enabling full-OpenGL
Currently, full-OpenGL is enabled by checking that at least one driver
is enabled. This is done by checking that the just-constructed lists of
drivers are not empty.

But we already have a variable that is set to 'y' as soon as a driver
is selected:

  - DRI drivers select BR2_PACKAGE_MESA3D_DRI_DRIVER

  - Gallium drivers select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER

  - both BR2_PACKAGE_MESA3D_DRI_DRIVER and BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
    select BR2_PACKAGE_MESA3D_DRIVER

So, BR2_PACKAGE_MESA3D_DRIVER is set to 'y' as soon as at least one
driver is selected. We can use that variable rather than comparing the
lists of drivers.

Also, rearrange the code in a more logical way, by moving the code that
enables OpenGL nearer to the code enabling EGL and GLES.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Paul Cercueil <paul@crapouillou.net>
Cc: Bernd Kuhls <berndkuhls@hotmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-04-17 22:57:27 +02:00
Yann E. MORIN
dcec14b7f4 package/mesa3d: add comment for when OpenGL EGL is not available
OpenGL EGL needs udev support, so add a comment stating so.

Also, reword the OpenGL EGL prompt to be in the same format as the
OpenGL ES prompt (and like the full OpenGL prompt that will shortly
be added, too.)

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Paul Cercueil <paul@crapouillou.net>
Cc: Bernd Kuhls <berndkuhls@hotmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-04-17 22:56:50 +02:00
Yann E. MORIN
c65d7e55a6 package/mesa3d: DRI drivers depend on X.org
It does not make sense to build DRI drivers without X.org.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Paul Cercueil <paul@crapouillou.net>
Cc: Bernd Kuhls <berndkuhls@hotmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-04-17 22:56:25 +02:00
Yann E. MORIN
7c4765f574 package/mesa3d: re-arrange menu items
Make mesa3d a menuconfig, ie. a sub-menu on the boolean option.

Move drivers and additional API selections out of their own submenus,
add a comment as separator.

This will make it easier to further re-arrange the config items in
the following patches, to fix-enhance the packaging to handle the
full-openGL provider stuff.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Paul Cercueil <paul@crapouillou.net>
Cc: Bernd Kuhls <berndkuhls@hotmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-04-17 22:56:02 +02:00
Yann E. MORIN
7e2ba248c6 package/mesa3d: fix improper dependency of blind option
Currently, the blind option BR2_PACKAGE_MESA3D_DRI_DRIVER depends
on !STATIC.

But this option is also selected by the various DRI drivers, and
none of them currently depend on !STATIC (although there is a comment
stating DRI drivers need !STATIC, there's nothing to enforce that).

So, we could well end-up with an inconsistent configuration, where some
DRI drivers are selected even though STATIC is set.

Enclose all DRI drivers in an 'if !STATIC' condition, remove the
dependency from the blind option, move the comment so it is nearer
the affected drivers, rephrase the comment to match the rules about
dependencies on toolchain features.

[Thomas: really use the right wording for the comment about the
dynamic library dependency.]

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Paul Cercueil <paul@crapouillou.net>
Cc: Bernd Kuhls <berndkuhls@hotmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-04-16 19:59:25 +02:00
Eric Le Bihan
36ed6bec09 mesa3d: fix khrplatform.h installation.
Mesa3D only installs khrplatform.h if EGL support is enabled, whereas
this header file is needed by the headers of OpenGL|ES and OpenVG.

The supplied patch forces Mesa3D to install this header unconditionally.

Fixes http://autobuild.buildroot.net/results/e07/e079219d70830a123977c3ee09d3c11b863d0691

Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-04-12 16:09:31 +02:00
Yann E. MORIN
2bb9df30ad package/libegl: rename the _HAS and _PROVIDES variables
The basic rule for a package is to have its options named
after the package name. There is no reason this should not
also be the case for virtual packages.

Besides, this will allow us to switch libegl to use the
soon-to-be-introduced virtual-package infrastructure.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Eric Le Bihan <eric.le.bihan.dev@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Thomas De Schampheleire <patrickdepinguin@gmail.com>
Cc: Mike Zick <minimod@morethan.org>
Cc: Samuel Martin <s.martin49@gmail.com>
Reviewed-by: Samuel Martin <s.martin49@gmail.com>
cc: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-04-05 19:20:50 +02:00
Yann E. MORIN
ec0de5d26b package/libgles: rename the _HAS and _PROVIDES variables
The basic rule for a package is to have its options named
after the package name. There is no reason this should not
also be the case for virtual packages.

Besides, this will allow us to switch libgles to use the
soon-to-be-introduced virtual-package infrastructure.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Eric Le Bihan <eric.le.bihan.dev@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Thomas De Schampheleire <patrickdepinguin@gmail.com>
Cc: Mike Zick <minimod@morethan.org>
Cc: Samuel Martin <s.martin49@gmail.com>
Reviewed-by: Samuel Martin <s.martin49@gmail.com>
Cc: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Acked-by: Arnout Vandecappelle <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-04-05 19:17:13 +02:00
Yann E. MORIN
694c876e55 package/mesa3d: fix EGL/GLES provider
mesa3d being selected is not enough for it to be an EGL provider.

The corresponding options BR2_PACKAGE_MESA3D_OPENGL_EGL should be
enabled. This option already correctlt selects BR2_PACKAGE_HAS_OPENGL_EGL.

So, only declare mesa3d as an EGL provider if the option is set.

Ditto for GLES.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Bernd Kuhls <berndkuhls@hotmail.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-03-30 11:31:08 +02:00
Bernd Kuhls
3199fd4ef5 mesa3d: modularize and bump to version 10.0.4
- add options to select mesa3d drivers
- uClibc support was fixed in mesa3d v9.2
  https://bugs.freedesktop.org/show_bug.cgi?id=51782
  therefore mesa3d-uclibc-locale.patch was removed
- removed MESA3D_AUTORECONF=yes as it was needed only
  for mesa3d-uclibc-locale.patch

Signed-off-by: Bernd Kuhls <berndkuhls@hotmail.com>
Signed-off-by: Spenser Gilliland <spenser@gillilanding.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-03-29 23:11:08 +01:00
Bernd Kuhls
e5fcd32f16 mesa3d: pull out from x11
mesa3d does not depend on x11, it can be used by wayland or other apps

Signed-off-by: Bernd Kuhls <berndkuhls@hotmail.com>
Signed-off-by: Spenser Gilliland <spenser@gillilanding.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-03-29 23:10:56 +01:00