[OE-core] [PATCH v7] mesa: Upgrade to 19.2.3

Alistair Francis alistair23 at gmail.com
Thu Nov 14 20:23:06 UTC 2019


On Wed, Nov 13, 2019 at 11:08 PM Khem Raj <raj.khem at gmail.com> wrote:
>
> On Mon, 2019-11-11 at 16:31 -0800, Alistair Francis wrote:
> > From: Alistair Francis <alistair at alistair23.me>
> >
> > Upgrade mesa and mesa-gl to 19.2.3.
> >
> > The license hash change was a trivial new line removal.
> >
> > The glx-tls option was removed as it isn't included in the
> > meson.build
> > file. It has been replaced with 'use-elf-tls' instead. We also added
> > an
> > INSANE_SKIP to fix this error
> >     do_package_qa: QA Issue: ELF binary
> >     '[...]libgles2-mesa/usr/lib/libGLESv2.so.2.0.0' has relocations
> > in .text
> >     [textrel]
> >
> > The -Dasm=false was removed as it also is no longer included.
> >
>
> ARNING: mesa-2_19.2.3-r0 do_package_qa: QA Issue: libgl-mesa: ELF
> binary /usr/lib/libGL.so.1.2.0 has relocations in .text [textrel]
> WARNING: mesa-2_19.2.3-r0 do_package_qa: QA Issue: libgles1-mesa: ELF
> binary /usr/lib/libGLESv1_CM.so.1.1.0 has relocations in .text
> [textrel]
> WARNING: mesa-2_19.2.3-r0 do_package_qa: QA Issue: libgles2-mesa: ELF
> binary /usr/lib/libGLESv2.so.2.0.0 has relocations in .text [textrel]
> WARNING: mesa-2_19.2.3-r0 do_package_qa: QA Issue: libglapi: ELF binary
> /usr/lib/libglapi.so.0.0.0 has relocations in .text [textrel]
>
> with musl is still seen. I think we need to disable asm at least for
> musl case.

Ok, I have added back the asm disable and bumped to 19.2.4.

Alistair

>
> > Signed-off-by: Alistair Francis <alistair at alistair23.me>
> > Signed-off-by: Alistair Francis <alistair.francis at wdc.com>
> > Acked-by: Otavio Salvador <otavio at ossystems.com.br>
> > ---
> > v7:
> >  - Update to mesa 19.2.3
> >  - Add INSANE_SKIP
> > v6:
> >  - Rebase on master
> > v4:
> >  - Add a patch (first patch in the series) to fix libsdl2 build
> > v3:
> >  - Fix missing Upstream-Status
> > v2:
> >  - Add back "make TLS ELF optional" patch
> >
> >  ...k-for-all-linux-host_os-combinations.patch | 23 ++++----
> >  ...02-meson.build-make-TLS-ELF-optional.patch | 48 +++++++++++++++++
> >  ...on.build-make-TLS-GLX-optional-again.patch | 52 ---------------
> > ----
> >  .../{mesa-gl_19.1.6.bb => mesa-gl_19.2.3.bb}  |  0
> >  meta/recipes-graphics/mesa/mesa.inc           | 18 +++----
> >  .../mesa/{mesa_19.1.6.bb => mesa_19.2.3.bb}   |  6 +--
> >  6 files changed, 73 insertions(+), 74 deletions(-)
> >  create mode 100644 meta/recipes-graphics/mesa/files/0002-
> > meson.build-make-TLS-ELF-optional.patch
> >  delete mode 100644 meta/recipes-graphics/mesa/files/0002-
> > meson.build-make-TLS-GLX-optional-again.patch
> >  rename meta/recipes-graphics/mesa/{mesa-gl_19.1.6.bb => mesa-
> > gl_19.2.3.bb} (100%)
> >  rename meta/recipes-graphics/mesa/{mesa_19.1.6.bb => mesa_19.2.3.bb}
> > (77%)
> >
> > diff --git a/meta/recipes-graphics/mesa/files/0001-meson.build-check-
> > for-all-linux-host_os-combinations.patch b/meta/recipes-
> > graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-
> > combinations.patch
> > index 9fba5da4b2..1aff727455 100644
> > --- a/meta/recipes-graphics/mesa/files/0001-meson.build-check-for-
> > all-linux-host_os-combinations.patch
> > +++ b/meta/recipes-graphics/mesa/files/0001-meson.build-check-for-
> > all-linux-host_os-combinations.patch
> > @@ -1,8 +1,7 @@
> > -From ea966884e39aae9571c038fab55f3c1663d17850 Mon Sep 17 00:00:00
> > 2001
> > -From: Fabio Berton <fabio.berton at ossystems.com.br>
> > -Date: Wed, 12 Jun 2019 13:40:20 -0300
> > +From 7547bd7340dc318392aee8b3a3ad1f9d902121db Mon Sep 17 00:00:00
> > 2001
> > +From: Alistair Francis <alistair.francis at wdc.com>
> > +Date: Mon, 11 Nov 2019 09:38:15 -0800
> >  Subject: [PATCH] meson.build: check for all linux host_os
> > combinations
> > -Organization: O.S. Systems Software LTDA.
> >
> >  Make sure that we are also looking for our host_os combinations like
> >  linux-musl etc. when assuming support for DRM/KMS.
> > @@ -14,29 +13,33 @@ Upstream-Status: Pending
> >  Signed-off-by: Anuj Mittal <anuj.mittal at intel.com>
> >  Signed-off-by: Fabio Berton <fabio.berton at ossystems.com.br>
> >  Signed-off-by: Otavio Salvador <otavio at ossystems.com.br>
> > +Signed-off-by: Alistair Francis <alistair.francis at wdc.com>
> >  ---
> >   meson.build | 4 ++--
> >   1 file changed, 2 insertions(+), 2 deletions(-)
> >
> >  diff --git a/meson.build b/meson.build
> > -index 567a81afd6f..b33b430aed4 100644
> > +index d58415270d0..a1f098c3b19 100644
> >  --- a/meson.build
> >  +++ b/meson.build
> > -@@ -107,7 +107,7 @@ with_any_opengl = with_opengl or with_gles1 or
> > with_gles2
> > +@@ -117,7 +117,7 @@ with_any_opengl = with_opengl or with_gles1 or
> > with_gles2
> >   # Only build shared_glapi if at least one OpenGL API is enabled
> >   with_shared_glapi = get_option('shared-glapi') and with_any_opengl
> >
> > --system_has_kms_drm = ['openbsd', 'netbsd', 'freebsd',
> > 'gnu/kfreebsd', 'dragonfly', 'linux'].contains(host_machine.system())
> > +-system_has_kms_drm = ['openbsd', 'netbsd', 'freebsd',
> > 'gnu/kfreebsd', 'dragonfly', 'linux',
> > 'sunos'].contains(host_machine.system())
> >  +system_has_kms_drm = ['openbsd', 'netbsd', 'freebsd',
> > 'dragonfly'].contains(host_machine.system()) or
> > host_machine.system().startswith('linux')
> >
> >   dri_drivers = get_option('dri-drivers')
> >   if dri_drivers.contains('auto')
> > -@@ -845,7 +845,7 @@ if cc.compiles('int foo(void)
> > __attribute__((__noreturn__));',
> > +@@ -856,7 +856,7 @@ if cc.compiles('__uint128_t foo(void) { return
> > 0; }',
> >   endif
> >
> >   # TODO: this is very incomplete
> >  -if ['linux', 'cygwin', 'gnu',
> > 'gnu/kfreebsd'].contains(host_machine.system())
> >  +if ['cygwin', 'gnu',
> > 'gnu/kfreebsd'].contains(host_machine.system()) or
> > host_machine.system().startswith('linux')
> >     pre_args += '-D_GNU_SOURCE'
> > - endif
> > -
> > + elif host_machine.system() == 'sunos'
> > +   pre_args += '-D__EXTENSIONS__'
> > +--
> > +2.23.0
> > +
> > diff --git a/meta/recipes-graphics/mesa/files/0002-meson.build-make-
> > TLS-ELF-optional.patch b/meta/recipes-graphics/mesa/files/0002-
> > meson.build-make-TLS-ELF-optional.patch
> > new file mode 100644
> > index 0000000000..c3b5e14cd6
> > --- /dev/null
> > +++ b/meta/recipes-graphics/mesa/files/0002-meson.build-make-TLS-ELF-
> > optional.patch
> > @@ -0,0 +1,48 @@
> > +From edd03b8ea66ccf81b0c1d27868756d06e2d177ab Mon Sep 17 00:00:00
> > 2001
> > +From: Alistair Francis <alistair.francis at wdc.com>
> > +Date: Wed, 23 Oct 2019 09:46:28 -0700
> > +Subject: [PATCH] meson.build: make TLS ELF optional
> > +
> > +USE_ELF_TLS has replaced GLX_USE_TLS so this patch is the original
> > "make
> > +TLS GLX optional again" patch updated to the latest mesa.
> > +
> > +Upstream-Status: Inappropriate [configuration]
> > +Signed-off-by: Alistair Francis <alistair.francis at wdc.com>
> > +---
> > + meson.build       | 2 +-
> > + meson_options.txt | 6 ++++++
> > + 2 files changed, 7 insertions(+), 1 deletion(-)
> > +
> > +diff --git a/meson.build b/meson.build
> > +index 7992734..06653fe 100644
> > +--- a/meson.build
> > ++++ b/meson.build
> > +@@ -378,7 +378,7 @@ if with_egl and not (with_platform_drm or
> > with_platform_surfaceless or with_plat
> > + endif
> > +
> > + # Android uses emutls for versions <= P/28. For USE_ELF_TLS we need
> > ELF TLS.
> > +-if not with_platform_android or get_option('platform-sdk-version')
> > >= 29
> > ++if (not with_platform_android or get_option('platform-sdk-version')
> > >= 29) and get_option('elf-tls')
> > +   pre_args += '-DUSE_ELF_TLS'
> > + endif
> > +
> > +diff --git a/meson_options.txt b/meson_options.txt
> > +index 188e132..ddd47b7 100644
> > +--- a/meson_options.txt
> > ++++ b/meson_options.txt
> > +@@ -339,6 +339,12 @@ option(
> > +   value : true,
> > +   description : 'Enable direct rendering in GLX and EGL for DRI',
> > + )
> > ++option(
> > ++  'elf-tls',
> > ++  type : 'boolean',
> > ++  value : true,
> > ++  description : 'Enable TLS support in ELF',
> > ++)
> > + option(
> > +   'I-love-half-baked-turnips',
> > +   type : 'boolean',
> > +--
> > +2.23.0
> > +
> > diff --git a/meta/recipes-graphics/mesa/files/0002-meson.build-make-
> > TLS-GLX-optional-again.patch b/meta/recipes-graphics/mesa/files/0002-
> > meson.build-make-TLS-GLX-optional-again.patch
> > deleted file mode 100644
> > index 641bacf1d9..0000000000
> > --- a/meta/recipes-graphics/mesa/files/0002-meson.build-make-TLS-GLX-
> > optional-again.patch
> > +++ /dev/null
> > @@ -1,52 +0,0 @@
> > -From cee8e48c5344124e5d84307cb0c48ee0c9b3e684 Mon Sep 17 00:00:00
> > 2001
> > -From: Fabio Berton <fabio.berton at ossystems.com.br>
> > -Date: Wed, 12 Jun 2019 14:15:57 -0300
> > -Subject: [PATCH] meson.build: make TLS GLX optional again
> > -Organization: O.S. Systems Software LTDA.
> > -
> > -This was optional with autotools, and needs to be disabled
> > -when using musl C library, for instance.
> > -
> > -Upstream-Status: Pending
> > -
> > -Signed-off-by: Alexander Kanavin <alex.kanavin at gmail.com>
> > -Signed-off-by: Fabio Berton <fabio.berton at ossystems.com.br>
> > -Signed-off-by: Otavio Salvador <otavio at ossystems.com.br>
> > ----
> > - meson.build       | 4 +++-
> > - meson_options.txt | 7 +++++++
> > - 2 files changed, 10 insertions(+), 1 deletion(-)
> > -
> > -diff --git a/meson.build b/meson.build
> > -index b33b430aed4..0e50bb26c0a 100644
> > ---- a/meson.build
> > -+++ b/meson.build
> > -@@ -369,7 +369,9 @@ if with_egl and not (with_platform_drm or
> > with_platform_surfaceless or with_plat
> > -   endif
> > - endif
> > -
> > --pre_args += '-DGLX_USE_TLS'
> > -+if get_option('glx-tls')
> > -+  pre_args += '-DGLX_USE_TLS'
> > -+endif
> > - if with_glx != 'disabled'
> > -   if not (with_platform_x11 and with_any_opengl)
> > -     error('Cannot build GLX support without X11 platform support
> > and at least one OpenGL API')
> > -diff --git a/meson_options.txt b/meson_options.txt
> > -index 1f72faabee8..fcd49efea27 100644
> > ---- a/meson_options.txt
> > -+++ b/meson_options.txt
> > -@@ -339,6 +339,13 @@ option(
> > -   value : true,
> > -   description : 'Enable direct rendering in GLX and EGL for DRI',
> > - )
> > -+option(
> > -+  'glx-tls',
> > -+  type : 'boolean',
> > -+  value : true,
> > -+  description : 'Enable TLS support in GLX',
> > -+)
> > -+
> > - option(
> > -   'I-love-half-baked-turnips',
> > -   type : 'boolean',
> > diff --git a/meta/recipes-graphics/mesa/mesa-gl_19.1.6.bb
> > b/meta/recipes-graphics/mesa/mesa-gl_19.2.3.bb
> > similarity index 100%
> > rename from meta/recipes-graphics/mesa/mesa-gl_19.1.6.bb
> > rename to meta/recipes-graphics/mesa/mesa-gl_19.2.3.bb
> > diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-
> > graphics/mesa/mesa.inc
> > index 9e5808ee27..2f866a505c 100644
> > --- a/meta/recipes-graphics/mesa/mesa.inc
> > +++ b/meta/recipes-graphics/mesa/mesa.inc
> > @@ -10,7 +10,7 @@ HOMEPAGE = "http://mesa3d.org"
> >  BUGTRACKER = "https://bugs.freedesktop.org"
> >  SECTION = "x11"
> >  LICENSE = "MIT"
> > -LIC_FILES_CHKSUM =
> > "file://docs/license.html;md5=725f991a1cc322aa7a0cd3a2016621c4"
> > +LIC_FILES_CHKSUM =
> > "file://docs/license.html;md5=3a4999caf82cc503ac8b9e37c235782e"
> >
> >  PE = "2"
> >
> > @@ -57,12 +57,12 @@ PACKAGECONFIG_class-target ??= "
> > ${@bb.utils.filter('DISTRO_FEATURES', 'wayland v
> >                     ${@bb.utils.contains('DISTRO_FEATURES', 'opengl',
> > 'opengl egl gles gbm dri gallium', '', d)} \
> >                     ${@bb.utils.contains('DISTRO_FEATURES', 'x11
> > opengl', 'x11 dri3', '', d)} \
> >                     ${@bb.utils.contains('DISTRO_FEATURES', 'x11
> > vulkan', 'dri3', '', d)} \
> > -                   glx-tls \
> > +                   elf-tls \
> >                  "
> > -PACKAGECONFIG_class-native ?= "gbm dri egl opengl glx-tls"
> > -PACKAGECONFIG_class-nativesdk ?= "gbm dri egl opengl glx-tls"
> > +PACKAGECONFIG_class-native ?= "gbm dri egl opengl elf-tls"
> > +PACKAGECONFIG_class-nativesdk ?= "gbm dri egl opengl elf-tls"
> >
> > -PACKAGECONFIG_remove_libc-musl = "glx-tls"
> > +PACKAGECONFIG_remove_libc-musl = "elf-tls"
> >
> >  # "gbm" requires "dri", "opengl"
> >  PACKAGECONFIG[gbm] = "-Dgbm=true,-Dgbm=false"
> > @@ -70,7 +70,7 @@ PACKAGECONFIG[gbm] = "-Dgbm=true,-Dgbm=false"
> >  X11_DEPS = "xorgproto virtual/libx11 libxext libxxf86vm libxdamage
> > libxfixes xrandr"
> >  # "x11" requires "opengl"
> >  PACKAGECONFIG[x11] = ",-Dglx=disabled,${X11_DEPS}"
> > -PACKAGECONFIG[glx-tls] = "-Dglx-tls=true, -Dglx-tls=false"
> > +PACKAGECONFIG[elf-tls] = "-Delf-tls=true, -Delf-tls=false"
> >  PACKAGECONFIG[xvmc] = "-Dgallium-xvmc=true,-Dgallium-
> > xvmc=false,libxvmc"
> >  PACKAGECONFIG[wayland] = ",,wayland-native wayland libdrm wayland-
> > protocols"
> >
> > @@ -140,9 +140,6 @@ PACKAGECONFIG[osmesa] = "-Dosmesa=${OSMESA},-
> > Dosmesa=none"
> >
> >  PACKAGECONFIG[unwind] = "-Dlibunwind=true,-
> > Dlibunwind=false,libunwind"
> >
> > -# mesa tries to run cross-built gen_matypes on build machine to get
> > struct size information
> > -EXTRA_OEMESON_append = " -Dasm=false"
> > -
> >  # llvmpipe is slow if compiled with -fomit-frame-pointer (e.g. -O2)
> >  FULL_OPTIMIZATION_append = " -fno-omit-frame-pointer"
> >
> > @@ -263,6 +260,9 @@ FILES_libxatracker-dev =
> > "${libdir}/libxatracker.so ${libdir}/libxatracker.la \
> >                            ${includedir}/xa_tracker.h
> > ${includedir}/xa_composite.h ${includedir}/xa_context.h \
> >                            ${libdir}/pkgconfig/xatracker.pc"
> >
> > +# This is a work around for
> > https://gitlab.freedesktop.org/mesa/mesa/issues/966
> > +INSANE_SKIP_${PN}_libc-musl += "textrel"
> > +
> >  # Fix upgrade path from mesa to mesa-megadriver
> >  RREPLACES_mesa-megadriver = "mesa"
> >  RCONFLICTS_mesa-megadriver = "mesa"
> > diff --git a/meta/recipes-graphics/mesa/mesa_19.1.6.bb
> > b/meta/recipes-graphics/mesa/mesa_19.2.3.bb
> > similarity index 77%
> > rename from meta/recipes-graphics/mesa/mesa_19.1.6.bb
> > rename to meta/recipes-graphics/mesa/mesa_19.2.3.bb
> > index 19221e9e25..42181db6f8 100644
> > --- a/meta/recipes-graphics/mesa/mesa_19.1.6.bb
> > +++ b/meta/recipes-graphics/mesa/mesa_19.2.3.bb
> > @@ -2,12 +2,12 @@ require ${BPN}.inc
> >
> >  SRC_URI = "https://mesa.freedesktop.org/archive/mesa-${PV}.tar.xz \
> >             file://0001-meson.build-check-for-all-linux-host_os-
> > combinations.patch \
> > -           file://0002-meson.build-make-TLS-GLX-optional-again.patch
> > \
> > +           file://0002-meson.build-make-TLS-ELF-optional.patch \
> >             file://0003-Allow-enable-DRI-without-DRI-drivers.patch \
> >             "
> >
> > -SRC_URI[md5sum] = "7dbb40b8d10e89bee0a5bfc85350647b"
> > -SRC_URI[sha256sum] =
> > "2a369b7b48545c6486e7e44913ad022daca097c8bd937bf30dcf3f17a94d3496"
> > +SRC_URI[md5sum] = "7744fbc59d55bb9a54ac018250bf77dc"
> > +SRC_URI[sha256sum] =
> > "5ee6e42504fe41dcc9a6eba26982656a675b2550a640946f463927ed7f1c5047"
> >
> >  UPSTREAM_CHECK_GITTAGREGEX = "mesa-(?P<pver>\d+(\.\d+)+)"
> >
> > --
> > 2.23.0
> >
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core


More information about the Openembedded-core mailing list