[oe] [PATCH] mutter: add patch from upstream to fix build with mesa >= 20.0.x

akuster808 akuster808 at gmail.com
Mon Mar 9 19:30:46 UTC 2020



On 3/8/20 2:06 PM, Andreas Müller wrote:
> Fixes:
> | FAILED: cogl/cogl/d9c41d2@@mutter-cogl-5 at sha/winsys_cogl-winsys-egl.c.o
> | arm-mortsgna-linux-gnueabi-gcc -mthumb -mfpu=neon-vfpv4 -mfloat-abi=hard -mcpu=cortex-a7 --sysroot=/home/superandy/tmp/oe-core-glibc/work/cortexa7t2hf-neon-vfpv4-mortsgna-linux-gnueabi/mutter/3.34.4-r0/recipe-sysroot -Icogl/cogl/d9c41d2@@mutter-cogl-5 at sha -Icogl/cogl -I../mutter-3.34.4/cogl/cogl -Icogl -I../mutter-3.34.4/cogl -I/home/superandy/tmp/oe-core-glibc/work/cortexa7t2hf-neon-vfpv4-mortsgna-linux-gnueabi/mutter/3.34.4-r0/recipe-sysroot/usr/include/glib-2.0 -I/home/superandy/tmp/oe-core-glibc/work/cortexa7t2hf-neon-vfpv4-mortsgna-linux-gnueabi/mutter/3.34.4-r0/recipe-sysroot/usr/lib/glib-2.0/include -I/home/superandy/tmp/oe-core-glibc/work/cortexa7t2hf-neon-vfpv4-mortsgna-linux-gnueabi/mutter/3.34.4-r0/recipe-sysroot/usr/include/libdrm -I/home/superandy/tmp/oe-core-glibc/work/cortexa7t2hf-neon-vfpv4-mortsgna-linux-gnueabi/mutter/3.34.4-r0/recipe-sysroot/usr/include/cairo -I/home/superandy/tmp/oe-core-glibc/work/cortexa7t2hf-neon-vfpv4-mortsgna-linux-gnueabi/mutter/3.34.4-r0/recipe-sysroot/usr/include/pixman-1 -I/home/superandy/tmp/oe-core-glibc/work/cortexa7t2hf-neon-vfpv4-mortsgna-linux-gnueabi/mutter/3.34.4-r0/recipe-sysroot/usr/include/uuid -I/home/superandy/tmp/oe-core-glibc/work/cortexa7t2hf-neon-vfpv4-mortsgna-linux-gnueabi/mutter/3.34.4-r0/recipe-sysroot/usr/include/freetype2 -I/home/superandy/tmp/oe-core-glibc/work/cortexa7t2hf-neon-vfpv4-mortsgna-linux-gnueabi/mutter/3.34.4-r0/recipe-sysroot/usr/include/libpng16 -I/home/superandy/tmp/oe-core-glibc/work/cortexa7t2hf-neon-vfpv4-mortsgna-linux-gnueabi/mutter/3.34.4-r0/recipe-sysroot/usr/include/gdk-pixbuf-2.0 -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -O2 -g -feliminate-unused-debug-types -fmacro-prefix-map=/home/superandy/tmp/oe-core-glibc/work/cortexa7t2hf-neon-vfpv4-mortsgna-linux-gnueabi/mutter/3.34.4-r0=/usr/src/debug/mutter/3.34.4-r0 -fdebug-prefix-map=/home/superandy/tmp/oe-core-glibc/work/cortexa7t2hf-neon-vfpv4-mortsgna-linux-gnueabi/mutter/3.34.4-r0=/usr/src/debug/mutter/3.34.4-r0 -fdebug-prefix-map=/home/superandy/tmp/oe-core-glibc/work/cortexa7t2hf-neon-vfpv4-mortsgna-linux-gnueabi/mutter/3.34.4-r0/recipe-sysroot= -fdebug-prefix-map=/home/superandy/tmp/oe-core-glibc/work/cortexa7t2hf-neon-vfpv4-mortsgna-linux-gnueabi/mutter/3.34.4-r0/recipe-sysroot-native= -fPIC -pthread '-DCOGL_LOCALEDIR="/usr/share/locale"' -DCOGL_COMPILATION '-DCOGL_GL_LIBNAME="libGL.so.1"' '-DCOGL_GLES2_LIBNAME="libGLESv2.so"' -MD -MQ 'cogl/cogl/d9c41d2@@mutter-cogl-5 at sha/winsys_cogl-winsys-egl.c.o' -MF 'cogl/cogl/d9c41d2@@mutter-cogl-5 at sha/winsys_cogl-winsys-egl.c.o.d' -o 'cogl/cogl/d9c41d2@@mutter-cogl-5 at sha/winsys_cogl-winsys-egl.c.o' -c ../mutter-3.34.4/cogl/cogl/winsys/cogl-winsys-egl.c
> | ../mutter-3.34.4/cogl/cogl/winsys/cogl-winsys-egl.c: In function '_cogl_winsys_display_setup':
> | ../mutter-3.34.4/cogl/cogl/winsys/cogl-winsys-egl.c:467:23: error: 'CoglRendererEGL' {aka 'struct _CoglRendererEGL'} has no member named 'pf_eglBindWaylandDisplay'
> |   467 |       if (egl_renderer->pf_eglBindWaylandDisplay)
> |       |                       ^~
> | ../mutter-3.34.4/cogl/cogl/winsys/cogl-winsys-egl.c:468:14: error: 'CoglRendererEGL' {aka 'struct _CoglRendererEGL'} has no member named 'pf_eglBindWaylandDisplay'
> |   468 |  egl_renderer->pf_eglBindWaylandDisplay (egl_renderer->edpy,
> |       |              ^~
> | ../mutter-3.34.4/cogl/cogl/winsys/cogl-winsys-egl.c: In function '_cogl_egl_create_image':
> | ../mutter-3.34.4/cogl/cogl/winsys/cogl-winsys-egl.c:902:17: error: 'EGL_WAYLAND_BUFFER_WL' undeclared (first use in this function)
> |   902 |   if (target == EGL_WAYLAND_BUFFER_WL)
> |       |                 ^~~~~~~~~~~~~~~~~~~~~
>
> Signed-off-by: Andreas Müller <schnitzeltony at gmail.com>
> ---
>  .../0001-EGL-Include-EGL-eglmesaext.h.patch   | 72 +++++++++++++++++++
>  .../recipes-gnome/mutter/mutter_3.34.4.bb     |  1 +
>  2 files changed, 73 insertions(+)
>  create mode 100644 meta-gnome/recipes-gnome/mutter/mutter/0001-EGL-Include-EGL-eglmesaext.h.patch
>
> diff --git a/meta-gnome/recipes-gnome/mutter/mutter/0001-EGL-Include-EGL-eglmesaext.h.patch b/meta-gnome/recipes-gnome/mutter/mutter/0001-EGL-Include-EGL-eglmesaext.h.patch
> new file mode 100644
> index 000000000..b4fd03983
> --- /dev/null
> +++ b/meta-gnome/recipes-gnome/mutter/mutter/0001-EGL-Include-EGL-eglmesaext.h.patch
> @@ -0,0 +1,72 @@
> +From a444a4c5f58ea516ad3cd9d6ddc0056c3ca9bc90 Mon Sep 17 00:00:00 2001
> +From: "Jan Alexander Steffens (heftig)" <jan.steffens at gmail.com>
> +Date: Sun, 20 Oct 2019 12:04:31 +0200
> +Subject: [PATCH] EGL: Include EGL/eglmesaext.h
> +
> +The eglext.h shipped by libglvnd does not include the Mesa extensions,
> +unlike the header shipped in Mesa.
> +
> +Fixes https://gitlab.gnome.org/GNOME/mutter/issues/876
> +
> +Upstream-Status: Applied [1]

Missing Signed-off-by:
> +
> +[1] https://gitlab.gnome.org/GNOME/mutter/-/commit/a444a4c5f58ea516ad3cd9d6ddc0056c3ca9bc90
> +---
> + cogl/cogl/meson.build       | 2 +-
> + src/backends/meta-egl-ext.h | 1 +
> + src/backends/meta-egl.c     | 1 +
> + src/backends/meta-egl.h     | 1 +
> + 4 files changed, 4 insertions(+), 1 deletion(-)
> +
> +diff --git a/cogl/cogl/meson.build b/cogl/cogl/meson.build
> +index 261955796..b0e66bff3 100644
> +--- a/cogl/cogl/meson.build
> ++++ b/cogl/cogl/meson.build
> +@@ -48,7 +48,7 @@ cogl_gl_header_h = configure_file(
> + built_headers += [cogl_gl_header_h]
> + 
> + if have_egl
> +-  cogl_egl_includes_string = '#include <EGL/egl.h>\n#include <EGL/eglext.h>'
> ++  cogl_egl_includes_string = '#include <EGL/egl.h>\n#include <EGL/eglext.h>\n#include <EGL/eglmesaext.h>'
> + else
> +   cogl_egl_includes_string = ''
> + endif
> +diff --git a/src/backends/meta-egl-ext.h b/src/backends/meta-egl-ext.h
> +index 8705e7d5b..db0b74f76 100644
> +--- a/src/backends/meta-egl-ext.h
> ++++ b/src/backends/meta-egl-ext.h
> +@@ -29,6 +29,7 @@
> + 
> + #include <EGL/egl.h>
> + #include <EGL/eglext.h>
> ++#include <EGL/eglmesaext.h>
> + 
> + /*
> +  * This is a little different to the tests shipped with EGL implementations,
> +diff --git a/src/backends/meta-egl.c b/src/backends/meta-egl.c
> +index 6554be935..fdeff4f77 100644
> +--- a/src/backends/meta-egl.c
> ++++ b/src/backends/meta-egl.c
> +@@ -27,6 +27,7 @@
> + 
> + #include <EGL/egl.h>
> + #include <EGL/eglext.h>
> ++#include <EGL/eglmesaext.h>
> + #include <gio/gio.h>
> + #include <glib.h>
> + #include <glib-object.h>
> +diff --git a/src/backends/meta-egl.h b/src/backends/meta-egl.h
> +index f2a816445..4591e7d85 100644
> +--- a/src/backends/meta-egl.h
> ++++ b/src/backends/meta-egl.h
> +@@ -28,6 +28,7 @@
> + 
> + #include <EGL/egl.h>
> + #include <EGL/eglext.h>
> ++#include <EGL/eglmesaext.h>
> + #include <glib-object.h>
> + 
> + #define META_EGL_ERROR meta_egl_error_quark ()
> +-- 
> +2.21.1
> +
> diff --git a/meta-gnome/recipes-gnome/mutter/mutter_3.34.4.bb b/meta-gnome/recipes-gnome/mutter/mutter_3.34.4.bb
> index b4ddc5dad..7979802d2 100644
> --- a/meta-gnome/recipes-gnome/mutter/mutter_3.34.4.bb
> +++ b/meta-gnome/recipes-gnome/mutter/mutter_3.34.4.bb
> @@ -24,6 +24,7 @@ inherit gnomebase gsettings gobject-introspection gettext upstream-version-is-ev
>  
>  SRC_URI[archive.md5sum] = "de19a6de98a2250dd7efdfca14359e39"
>  SRC_URI[archive.sha256sum] = "0134513515f605dd0858154d0b54d2e23c5779d52590533e266d407251e20ba2"
> +SRC_URI += "file://0001-EGL-Include-EGL-eglmesaext.h.patch"
>  
>  # x11 is still manadatory - see meson.build
>  REQUIRED_DISTRO_FEATURES = "x11"




More information about the Openembedded-devel mailing list