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

Alexander Kanavin alex.kanavin at gmail.com
Thu Nov 14 14:26:15 UTC 2019


We also need to go straight to 19.2.4: https://lists.freedesktop.org/archives/mesa-dev/2019-November/223773.html 

Alex

> On 14 Nov 2019, at 8.08, 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.
> 
>> 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20191114/fee29429/attachment-0001.html>


More information about the Openembedded-core mailing list