Patchwork [0/8] Enable EGL and GLES in x86 Mesa

login
register
mail settings
Submitter Ross Burton
Date Aug. 13, 2012, 6:58 p.m.
Message ID <cover.1344884283.git.ross.burton@intel.com>
Download mbox
Permalink /patch/34347/
State New
Headers show

Pull-request

git://git.yoctoproject.org/poky-contrib ross/mesa

Comments

Ross Burton - Aug. 13, 2012, 6:58 p.m.
Hopefully the final Mesa patch set.  First pulls in an essential fix to
PACKAGECONFIG, and then enables GLES and EGL using PACKAGECONFIG, based on
whether the MACHINE_FEATURES contains x86.

Ross

The following changes since commit 2dec760b79bb7e2e79c33c5127fa64685bd86a18:

  foomatic: fix perl path for target (2012-08-08 10:06:00 +0100)

are available in the git repository at:

  git://git.yoctoproject.org/poky-contrib ross/mesa

for you to fetch changes up to 938675e4208fd34908653e1a7565c58f53067d77:

  mesa: enable EGL, with DRM and X11 platforms (2012-08-13 12:53:45 +0100)

----------------------------------------------------------------
Damien Lespiau (2):
      mesa: Add a mesa-dri-glsl-native_git recipe
      core: Prefer mesa-dri as virtual/libopengles1/2 provider

Ross Burton (5):
      clutter: DOLT isn't used anymore
      mesa: enable GLES v1 and v2
      mesa-demos: fix GLES2 build
      mesa: respect x11 DISTRO_FEATURE
      mesa: enable EGL, with DRM and X11 platforms

Yao Zhao (1):
      base.bbclass: fix PACKAGECONFIG handling code

 meta/classes/base.bbclass                          |   25 ++++++++---------
 meta/conf/distro/include/default-providers.inc     |    2 ++
 meta/conf/machine/qemux86-64.conf                  |    2 ++
 meta/conf/machine/qemux86.conf                     |    2 ++
 meta/recipes-graphics/clutter/clutter-1.8_1.8.4.bb |    7 +----
 meta/recipes-graphics/clutter/clutter-1.8_git.bb   |    7 +----
 meta/recipes-graphics/clutter/cogl_git.bb          |    7 +----
 meta/recipes-graphics/mesa/mesa-8.0.4.inc          |    1 +
 meta/recipes-graphics/mesa/mesa-common.inc         |   26 ++++++++++++------
 .../mesa/mesa-demos/gles2-info.patch               |   15 ++++++++++
 meta/recipes-graphics/mesa/mesa-demos_8.0.1.bb     |    5 ++--
 .../recipes-graphics/mesa/mesa-dri-glsl-native.inc |    7 +++++
 .../mesa/mesa-dri-glsl-native_8.0.4.bb             |    9 ++----
 .../mesa/mesa-dri-glsl-native_git.bb               |   23 ++++++++++++++++
 meta/recipes-graphics/mesa/mesa-dri.inc            |    8 +++++-
 meta/recipes-graphics/mesa/mesa-git.inc            |    2 ++
 ...-gross-hack-to-prevent-from-install-libgl.patch |   29 ++++++++++++++++++++
 .../arch/qemu/conf/machine/{{=machine}}.conf       |    2 ++
 18 files changed, 129 insertions(+), 50 deletions(-)
 create mode 100644 meta/recipes-graphics/mesa/mesa-demos/gles2-info.patch
 create mode 100644 meta/recipes-graphics/mesa/mesa-dri-glsl-native.inc
 create mode 100644 meta/recipes-graphics/mesa/mesa-dri-glsl-native_git.bb
 create mode 100644 meta/recipes-graphics/mesa/mesa/0004-gross-hack-to-prevent-from-install-libgl.patch

Damien Lespiau (2):
  mesa: Add a mesa-dri-glsl-native_git recipe
  core: Prefer mesa-dri as virtual/libopengles1/2 provider

Ross Burton (5):
  clutter: DOLT isn't used anymore
  mesa: enable GLES v1 and v2
  mesa-demos: fix GLES2 build
  mesa: respect x11 DISTRO_FEATURE
  mesa: enable EGL, with DRM and X11 platforms

Yao Zhao (1):
  base.bbclass: fix PACKAGECONFIG handling code

 meta/classes/base.bbclass                          |   25 ++++++++---------
 meta/conf/distro/include/default-providers.inc     |    2 ++
 meta/conf/machine/qemux86-64.conf                  |    2 ++
 meta/conf/machine/qemux86.conf                     |    2 ++
 meta/recipes-graphics/clutter/clutter-1.8_1.8.4.bb |    7 +----
 meta/recipes-graphics/clutter/clutter-1.8_git.bb   |    7 +----
 meta/recipes-graphics/clutter/cogl_git.bb          |    7 +----
 meta/recipes-graphics/mesa/mesa-8.0.4.inc          |    1 +
 meta/recipes-graphics/mesa/mesa-common.inc         |   26 ++++++++++++------
 .../mesa/mesa-demos/gles2-info.patch               |   15 ++++++++++
 meta/recipes-graphics/mesa/mesa-demos_8.0.1.bb     |    5 ++--
 .../recipes-graphics/mesa/mesa-dri-glsl-native.inc |    7 +++++
 .../mesa/mesa-dri-glsl-native_8.0.4.bb             |    9 ++----
 .../mesa/mesa-dri-glsl-native_git.bb               |   23 ++++++++++++++++
 meta/recipes-graphics/mesa/mesa-dri.inc            |    8 +++++-
 meta/recipes-graphics/mesa/mesa-git.inc            |    2 ++
 ...-gross-hack-to-prevent-from-install-libgl.patch |   29 ++++++++++++++++++++
 .../arch/qemu/conf/machine/{{=machine}}.conf       |    2 ++
 18 files changed, 129 insertions(+), 50 deletions(-)
 create mode 100644 meta/recipes-graphics/mesa/mesa-demos/gles2-info.patch
 create mode 100644 meta/recipes-graphics/mesa/mesa-dri-glsl-native.inc
 create mode 100644 meta/recipes-graphics/mesa/mesa-dri-glsl-native_git.bb
 create mode 100644 meta/recipes-graphics/mesa/mesa/0004-gross-hack-to-prevent-from-install-libgl.patch
Saul Wold - Aug. 15, 2012, 1:22 a.m.
On 08/13/2012 09:58 PM, Ross Burton wrote:
> Hopefully the final Mesa patch set.  First pulls in an essential fix to
> PACKAGECONFIG, and then enables GLES and EGL using PACKAGECONFIG, based on
> whether the MACHINE_FEATURES contains x86.
>
Ross,

Sorry not quite yet, there seems to be an issue with this patch set:
(found with and arm and world builds)

> | arm-poky-linux-gnueabi-gcc  -march=armv5te  -marm -mthumb-interwork  -mtune=arm926ej-s --sysroot=/srv/ssd/sgw_ab/yocto-autobuilder/yocto-slave/nightly-arm/build/build/tmp/sysroots/qemuarm -c -I../../../../include -I../../../../src/gbm/main  -O2 -pipe -g -feliminate-unused-debug-types -Wall -Wmissing-prototypes -std=c99 -fno-strict-aliasing -fno-builtin-memcmp -O2 -pipe -g -feliminate-unused-debug-types  -fPIC   -D_GNU_SOURCE -DPTHREADS -DHAVE_POSIX_MEMALIGN -DUSE_XCB -DUSE_XSHM -DGLX_USE_TLS -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER -DHAVE_ALIAS -fvisibility=hidden -DDEFAULT_DRIVER_DIR=\"/usr/lib/dri\"   driver_name.c -o driver_name.o
> | In file included from gbm_driint.h:37:0,
> |                  from driver_name.c:34:
> | ../../../../include/GL/internal/dri_interface.h:51:17: fatal error: drm.h: No such file or directory
> | compilation terminated.
> | In file included from gbm_dri.c:40:0:
> | ../../../../include/GL/internal/dri_interface.h:51:17: fatal error: drm.h: No such file or directory
> | compilation terminated.

Sau!


> Ross
>
> The following changes since commit 2dec760b79bb7e2e79c33c5127fa64685bd86a18:
>
>    foomatic: fix perl path for target (2012-08-08 10:06:00 +0100)
>
> are available in the git repository at:
>
>    git://git.yoctoproject.org/poky-contrib ross/mesa
>
> for you to fetch changes up to 938675e4208fd34908653e1a7565c58f53067d77:
>
>    mesa: enable EGL, with DRM and X11 platforms (2012-08-13 12:53:45 +0100)
>
> ----------------------------------------------------------------
> Damien Lespiau (2):
>        mesa: Add a mesa-dri-glsl-native_git recipe
>        core: Prefer mesa-dri as virtual/libopengles1/2 provider
>
> Ross Burton (5):
>        clutter: DOLT isn't used anymore
>        mesa: enable GLES v1 and v2
>        mesa-demos: fix GLES2 build
>        mesa: respect x11 DISTRO_FEATURE
>        mesa: enable EGL, with DRM and X11 platforms
>
> Yao Zhao (1):
>        base.bbclass: fix PACKAGECONFIG handling code
>
>   meta/classes/base.bbclass                          |   25 ++++++++---------
>   meta/conf/distro/include/default-providers.inc     |    2 ++
>   meta/conf/machine/qemux86-64.conf                  |    2 ++
>   meta/conf/machine/qemux86.conf                     |    2 ++
>   meta/recipes-graphics/clutter/clutter-1.8_1.8.4.bb |    7 +----
>   meta/recipes-graphics/clutter/clutter-1.8_git.bb   |    7 +----
>   meta/recipes-graphics/clutter/cogl_git.bb          |    7 +----
>   meta/recipes-graphics/mesa/mesa-8.0.4.inc          |    1 +
>   meta/recipes-graphics/mesa/mesa-common.inc         |   26 ++++++++++++------
>   .../mesa/mesa-demos/gles2-info.patch               |   15 ++++++++++
>   meta/recipes-graphics/mesa/mesa-demos_8.0.1.bb     |    5 ++--
>   .../recipes-graphics/mesa/mesa-dri-glsl-native.inc |    7 +++++
>   .../mesa/mesa-dri-glsl-native_8.0.4.bb             |    9 ++----
>   .../mesa/mesa-dri-glsl-native_git.bb               |   23 ++++++++++++++++
>   meta/recipes-graphics/mesa/mesa-dri.inc            |    8 +++++-
>   meta/recipes-graphics/mesa/mesa-git.inc            |    2 ++
>   ...-gross-hack-to-prevent-from-install-libgl.patch |   29 ++++++++++++++++++++
>   .../arch/qemu/conf/machine/{{=machine}}.conf       |    2 ++
>   18 files changed, 129 insertions(+), 50 deletions(-)
>   create mode 100644 meta/recipes-graphics/mesa/mesa-demos/gles2-info.patch
>   create mode 100644 meta/recipes-graphics/mesa/mesa-dri-glsl-native.inc
>   create mode 100644 meta/recipes-graphics/mesa/mesa-dri-glsl-native_git.bb
>   create mode 100644 meta/recipes-graphics/mesa/mesa/0004-gross-hack-to-prevent-from-install-libgl.patch
>
> Damien Lespiau (2):
>    mesa: Add a mesa-dri-glsl-native_git recipe
>    core: Prefer mesa-dri as virtual/libopengles1/2 provider
>
> Ross Burton (5):
>    clutter: DOLT isn't used anymore
>    mesa: enable GLES v1 and v2
>    mesa-demos: fix GLES2 build
>    mesa: respect x11 DISTRO_FEATURE
>    mesa: enable EGL, with DRM and X11 platforms
>
> Yao Zhao (1):
>    base.bbclass: fix PACKAGECONFIG handling code
>
>   meta/classes/base.bbclass                          |   25 ++++++++---------
>   meta/conf/distro/include/default-providers.inc     |    2 ++
>   meta/conf/machine/qemux86-64.conf                  |    2 ++
>   meta/conf/machine/qemux86.conf                     |    2 ++
>   meta/recipes-graphics/clutter/clutter-1.8_1.8.4.bb |    7 +----
>   meta/recipes-graphics/clutter/clutter-1.8_git.bb   |    7 +----
>   meta/recipes-graphics/clutter/cogl_git.bb          |    7 +----
>   meta/recipes-graphics/mesa/mesa-8.0.4.inc          |    1 +
>   meta/recipes-graphics/mesa/mesa-common.inc         |   26 ++++++++++++------
>   .../mesa/mesa-demos/gles2-info.patch               |   15 ++++++++++
>   meta/recipes-graphics/mesa/mesa-demos_8.0.1.bb     |    5 ++--
>   .../recipes-graphics/mesa/mesa-dri-glsl-native.inc |    7 +++++
>   .../mesa/mesa-dri-glsl-native_8.0.4.bb             |    9 ++----
>   .../mesa/mesa-dri-glsl-native_git.bb               |   23 ++++++++++++++++
>   meta/recipes-graphics/mesa/mesa-dri.inc            |    8 +++++-
>   meta/recipes-graphics/mesa/mesa-git.inc            |    2 ++
>   ...-gross-hack-to-prevent-from-install-libgl.patch |   29 ++++++++++++++++++++
>   .../arch/qemu/conf/machine/{{=machine}}.conf       |    2 ++
>   18 files changed, 129 insertions(+), 50 deletions(-)
>   create mode 100644 meta/recipes-graphics/mesa/mesa-demos/gles2-info.patch
>   create mode 100644 meta/recipes-graphics/mesa/mesa-dri-glsl-native.inc
>   create mode 100644 meta/recipes-graphics/mesa/mesa-dri-glsl-native_git.bb
>   create mode 100644 meta/recipes-graphics/mesa/mesa/0004-gross-hack-to-prevent-from-install-libgl.patch
>
Khem Raj - Aug. 15, 2012, 1:30 a.m.
On Tue, Aug 14, 2012 at 6:22 PM, Saul Wold <sgw@linux.intel.com> wrote:
> On 08/13/2012 09:58 PM, Ross Burton wrote:
>>
>> Hopefully the final Mesa patch set.  First pulls in an essential fix to
>> PACKAGECONFIG, and then enables GLES and EGL using PACKAGECONFIG, based on
>> whether the MACHINE_FEATURES contains x86.
>>
> Ross,
>
> Sorry not quite yet, there seems to be an issue with this patch set:
> (found with and arm and world builds)
>
>> | arm-poky-linux-gnueabi-gcc  -march=armv5te  -marm -mthumb-interwork
>> -mtune=arm926ej-s
>> --sysroot=/srv/ssd/sgw_ab/yocto-autobuilder/yocto-slave/nightly-arm/build/build/tmp/sysroots/qemuarm
>> -c -I../../../../include -I../../../../src/gbm/main  -O2 -pipe -g
>> -feliminate-unused-debug-types -Wall -Wmissing-prototypes -std=c99
>> -fno-strict-aliasing -fno-builtin-memcmp -O2 -pipe -g
>> -feliminate-unused-debug-types  -fPIC   -D_GNU_SOURCE -DPTHREADS
>> -DHAVE_POSIX_MEMALIGN -DUSE_XCB -DUSE_XSHM -DGLX_USE_TLS -DPTHREADS
>> -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER -DHAVE_ALIAS -fvisibility=hidden
>> -DDEFAULT_DRIVER_DIR=\"/usr/lib/dri\"   driver_name.c -o driver_name.o
>> | In file included from gbm_driint.h:37:0,
>> |                  from driver_name.c:34:
>> | ../../../../include/GL/internal/dri_interface.h:51:17: fatal error:
>> drm.h: No such file or directory
>> | compilation terminated.
>> | In file included from gbm_dri.c:40:0:
>> | ../../../../include/GL/internal/dri_interface.h:51:17: fatal error:
>> drm.h: No such file or directory
>> | compilation terminated.

drm/drm.h should come from kernel-headers I wonder if its included
correctly or not.
Ross Burton - Aug. 15, 2012, 6:56 a.m.
On 15 August 2012 02:22, Saul Wold <sgw@linux.intel.com> wrote:
>> | ../../../../include/GL/internal/dri_interface.h:51:17: fatal error:
>> drm.h: No such file or directory

Not what I was expecting.  I've kicked off a local qemuarm build to investigate.

Ross
Ross Burton - Aug. 15, 2012, 7:36 a.m.
On 15 August 2012 07:56, Burton, Ross <ross.burton@intel.com> wrote:
> On 15 August 2012 02:22, Saul Wold <sgw@linux.intel.com> wrote:
>>> | ../../../../include/GL/internal/dri_interface.h:51:17: fatal error:
>>> drm.h: No such file or directory
>
> Not what I was expecting.  I've kicked off a local qemuarm build to investigate.

Hm, worked on qemuarm for me, and from what I can tell in the failed
autobuilder log linux-libc-headers was correctly built
(understandably) before mesa-dri.

Ross
Ross Burton - Aug. 15, 2012, 9:52 a.m.
I just tested my mesa branch against stage/master_under_test too, builds fine.

The complication is that you need to ensure that the mesa-glsl-native
package is correct, even small patches to mesa make it produce bad
code, but then you get an entirely different error.

Ross
Ross Burton - Aug. 15, 2012, 10:44 a.m.
On 15 August 2012 02:22, Saul Wold <sgw@linux.intel.com> wrote:
> Sorry not quite yet, there seems to be an issue with this patch set:
> (found with and arm and world builds)

I think I found the problem although I couldn't ever replicate the
failure.  mesa-dri was failing to declare a dependency on libdrm (it
was setting variable but never using it in DEPENDS).

I've pushed a new branch which fixes up the dependencies.

Ross
Saul Wold - Aug. 20, 2012, 4:05 p.m.
On 08/13/2012 11:58 AM, Ross Burton wrote:
> Hopefully the final Mesa patch set.  First pulls in an essential fix to
> PACKAGECONFIG, and then enables GLES and EGL using PACKAGECONFIG, based on
> whether the MACHINE_FEATURES contains x86.
>
> Ross
>
> The following changes since commit 2dec760b79bb7e2e79c33c5127fa64685bd86a18:
>
>    foomatic: fix perl path for target (2012-08-08 10:06:00 +0100)
>
> are available in the git repository at:
>
>    git://git.yoctoproject.org/poky-contrib ross/mesa
>
> for you to fetch changes up to 938675e4208fd34908653e1a7565c58f53067d77:
>
>    mesa: enable EGL, with DRM and X11 platforms (2012-08-13 12:53:45 +0100)
>
> ----------------------------------------------------------------
> Damien Lespiau (2):
>        mesa: Add a mesa-dri-glsl-native_git recipe
>        core: Prefer mesa-dri as virtual/libopengles1/2 provider
>
> Ross Burton (5):
>        clutter: DOLT isn't used anymore
>        mesa: enable GLES v1 and v2
>        mesa-demos: fix GLES2 build
>        mesa: respect x11 DISTRO_FEATURE
>        mesa: enable EGL, with DRM and X11 platforms
>
> Yao Zhao (1):
>        base.bbclass: fix PACKAGECONFIG handling code
>
Merged this lot into OE-Core

Thanks
	Sau!


>   meta/classes/base.bbclass                          |   25 ++++++++---------
>   meta/conf/distro/include/default-providers.inc     |    2 ++
>   meta/conf/machine/qemux86-64.conf                  |    2 ++
>   meta/conf/machine/qemux86.conf                     |    2 ++
>   meta/recipes-graphics/clutter/clutter-1.8_1.8.4.bb |    7 +----
>   meta/recipes-graphics/clutter/clutter-1.8_git.bb   |    7 +----
>   meta/recipes-graphics/clutter/cogl_git.bb          |    7 +----
>   meta/recipes-graphics/mesa/mesa-8.0.4.inc          |    1 +
>   meta/recipes-graphics/mesa/mesa-common.inc         |   26 ++++++++++++------
>   .../mesa/mesa-demos/gles2-info.patch               |   15 ++++++++++
>   meta/recipes-graphics/mesa/mesa-demos_8.0.1.bb     |    5 ++--
>   .../recipes-graphics/mesa/mesa-dri-glsl-native.inc |    7 +++++
>   .../mesa/mesa-dri-glsl-native_8.0.4.bb             |    9 ++----
>   .../mesa/mesa-dri-glsl-native_git.bb               |   23 ++++++++++++++++
>   meta/recipes-graphics/mesa/mesa-dri.inc            |    8 +++++-
>   meta/recipes-graphics/mesa/mesa-git.inc            |    2 ++
>   ...-gross-hack-to-prevent-from-install-libgl.patch |   29 ++++++++++++++++++++
>   .../arch/qemu/conf/machine/{{=machine}}.conf       |    2 ++
>   18 files changed, 129 insertions(+), 50 deletions(-)
>   create mode 100644 meta/recipes-graphics/mesa/mesa-demos/gles2-info.patch
>   create mode 100644 meta/recipes-graphics/mesa/mesa-dri-glsl-native.inc
>   create mode 100644 meta/recipes-graphics/mesa/mesa-dri-glsl-native_git.bb
>   create mode 100644 meta/recipes-graphics/mesa/mesa/0004-gross-hack-to-prevent-from-install-libgl.patch
>
> Damien Lespiau (2):
>    mesa: Add a mesa-dri-glsl-native_git recipe
>    core: Prefer mesa-dri as virtual/libopengles1/2 provider
>
> Ross Burton (5):
>    clutter: DOLT isn't used anymore
>    mesa: enable GLES v1 and v2
>    mesa-demos: fix GLES2 build
>    mesa: respect x11 DISTRO_FEATURE
>    mesa: enable EGL, with DRM and X11 platforms
>
> Yao Zhao (1):
>    base.bbclass: fix PACKAGECONFIG handling code
>
>   meta/classes/base.bbclass                          |   25 ++++++++---------
>   meta/conf/distro/include/default-providers.inc     |    2 ++
>   meta/conf/machine/qemux86-64.conf                  |    2 ++
>   meta/conf/machine/qemux86.conf                     |    2 ++
>   meta/recipes-graphics/clutter/clutter-1.8_1.8.4.bb |    7 +----
>   meta/recipes-graphics/clutter/clutter-1.8_git.bb   |    7 +----
>   meta/recipes-graphics/clutter/cogl_git.bb          |    7 +----
>   meta/recipes-graphics/mesa/mesa-8.0.4.inc          |    1 +
>   meta/recipes-graphics/mesa/mesa-common.inc         |   26 ++++++++++++------
>   .../mesa/mesa-demos/gles2-info.patch               |   15 ++++++++++
>   meta/recipes-graphics/mesa/mesa-demos_8.0.1.bb     |    5 ++--
>   .../recipes-graphics/mesa/mesa-dri-glsl-native.inc |    7 +++++
>   .../mesa/mesa-dri-glsl-native_8.0.4.bb             |    9 ++----
>   .../mesa/mesa-dri-glsl-native_git.bb               |   23 ++++++++++++++++
>   meta/recipes-graphics/mesa/mesa-dri.inc            |    8 +++++-
>   meta/recipes-graphics/mesa/mesa-git.inc            |    2 ++
>   ...-gross-hack-to-prevent-from-install-libgl.patch |   29 ++++++++++++++++++++
>   .../arch/qemu/conf/machine/{{=machine}}.conf       |    2 ++
>   18 files changed, 129 insertions(+), 50 deletions(-)
>   create mode 100644 meta/recipes-graphics/mesa/mesa-demos/gles2-info.patch
>   create mode 100644 meta/recipes-graphics/mesa/mesa-dri-glsl-native.inc
>   create mode 100644 meta/recipes-graphics/mesa/mesa-dri-glsl-native_git.bb
>   create mode 100644 meta/recipes-graphics/mesa/mesa/0004-gross-hack-to-prevent-from-install-libgl.patch
>