[OE-core] [PATCH v3 2/2] mesa: Upgrade to 19.3.1

Alexander Kanavin alex.kanavin at gmail.com
Fri Dec 20 18:01:41 UTC 2019


The new regex isn’t quite right either, as it excludes x.y.10 releases or x.y.z.0 releases. I’d suggest you just drop it.

Alex

> On 20 Dec 2019, at 18.45, Alistair Francis <alistair23 at gmail.com> wrote:
> 
> On Thu, Dec 19, 2019 at 11:33 PM Alexander Kanavin
> <alex.kanavin at gmail.com> wrote:
>> 
>>> On Fri, 20 Dec 2019 at 05:15, Alistair Francis <alistair at alistair23.me> wrote:
>>> 
>>> Upgrade mesa to 19.3 and refresh the patches.
>>> 
>>> Also change the regex to not look for x.x.0 versions as they are
>>> development versions
>> 
>> 
>> Old: mesa-(?P<pver>\d+(\.\d+)+)
>> New: mesa-(?P<pver>\d+(\.^[1-9]\d+)+)
>> 
>> I'm not sure what you had in mind, but the new regex does not work at all, as ^ outside of [] means "beginning of string", and placing [1-9] where it is would mean it would also exclude x.0.x versions.
> 
> The goal was to skip all x.x.0 versions, the idea being that they are
> test releases.
> 
>> 
>> To test, use https://regex101.com/, and you should also run 'devtool latest-version mesa'. I actually think it's fine to leave the regex as it is, x.x.1 versions are usually quick to follow, and it's good to get an earlier notice of a new release.
> 
> I did test with devtool check-update-status (I can't remember the name
> exactly) and it seemed to work.
> 
> Looking at regex101 it seems like this is what I actually want:
> 
> mesa-(?P<pver>\d+(\.\d)(\.[1-9]+)+)
> 
> I see your point about seeing the update early, but then we don't want
> to accidentlly update to a test version.
> 
> Should I update to the regex I mentioned above or just drop the change?
> 
> Alistair
> 
>> 
>> Alex
>> 
>>> 
>>> As MESA_EGL_NO_X11_HEADERS was renamed to EGL_NO_X11 in [1] we are going
>>> to change the do_install and add a patch to libepoxy to use the new
>>> define.
>>> 
>>> 1: https://gitlab.freedesktop.org/mesa/mesa/commit/6202a13b71e18dc31ba7e2f4ea915b67eacc1ddb
>>> 
>>> Signed-off-by: Alistair Francis <alistair at alistair23.me>
>>> ---
>>> ...atch_common.h-define-also-EGL_NO_X11.patch | 26 +++++++++++++++++++
>>> .../libepoxy/libepoxy_1.5.4.bb                |  1 +
>>> ...k-for-all-linux-host_os-combinations.patch | 18 ++++++-------
>>> ...02-meson.build-make-TLS-ELF-optional.patch | 18 ++++++-------
>>> ...Allow-enable-DRI-without-DRI-drivers.patch | 10 +++----
>>> ...le-asm-unconditionally-now-that-gen_.patch | 10 +++----
>>> .../{mesa-gl_19.2.4.bb => mesa-gl_19.3.1.bb}  |  0
>>> .../mesa/{mesa_19.2.4.bb => mesa_19.3.1.bb}   |  8 +++---
>>> 8 files changed, 59 insertions(+), 32 deletions(-)
>>> create mode 100644 meta/recipes-graphics/libepoxy/files/0001-dispatch_common.h-define-also-EGL_NO_X11.patch
>>> rename meta/recipes-graphics/mesa/{mesa-gl_19.2.4.bb => mesa-gl_19.3.1.bb} (100%)
>>> rename meta/recipes-graphics/mesa/{mesa_19.2.4.bb => mesa_19.3.1.bb} (60%)
>>> 
>>> diff --git a/meta/recipes-graphics/libepoxy/files/0001-dispatch_common.h-define-also-EGL_NO_X11.patch b/meta/recipes-graphics/libepoxy/files/0001-dispatch_common.h-define-also-EGL_NO_X11.patch
>>> new file mode 100644
>>> index 0000000000..7262945181
>>> --- /dev/null
>>> +++ b/meta/recipes-graphics/libepoxy/files/0001-dispatch_common.h-define-also-EGL_NO_X11.patch
>>> @@ -0,0 +1,26 @@
>>> +From 6f15cc28d17cfdd86f5974f06ad97b8afedd5627 Mon Sep 17 00:00:00 2001
>>> +From: Martin Jansa <Martin.Jansa at gmail.com>
>>> +Date: Fri, 25 Oct 2019 11:09:34 +0000
>>> +Subject: [PATCH] dispatch_common.h: define also EGL_NO_X11
>>> +
>>> +MESA_EGL_NO_X11_HEADERS was renamed to EGL_NO_X11 in:
>>> +https://github.com/mesa3d/mesa/commit/6202a13b71e18dc31ba7e2f4ea915b67eacc1ddb
>>> +
>>> +Signed-off-by: Martin Jansa <Martin.Jansa at gmail.com>
>>> +Upstream-Status: Pending
>>> +---
>>> + src/dispatch_common.h | 1 +
>>> + 1 file changed, 1 insertion(+)
>>> +
>>> +diff --git a/src/dispatch_common.h b/src/dispatch_common.h
>>> +index dcb3a35..c206253 100644
>>> +--- a/src/dispatch_common.h
>>> ++++ b/src/dispatch_common.h
>>> +@@ -52,6 +52,7 @@
>>> +  * should do the same
>>> +  */
>>> + #  define MESA_EGL_NO_X11_HEADERS 1
>>> ++#  define EGL_NO_X11 1
>>> + # endif
>>> + #include "epoxy/egl.h"
>>> + #endif
>>> diff --git a/meta/recipes-graphics/libepoxy/libepoxy_1.5.4.bb b/meta/recipes-graphics/libepoxy/libepoxy_1.5.4.bb
>>> index 4caf672369..af9867407e 100644
>>> --- a/meta/recipes-graphics/libepoxy/libepoxy_1.5.4.bb
>>> +++ b/meta/recipes-graphics/libepoxy/libepoxy_1.5.4.bb
>>> @@ -10,6 +10,7 @@ LICENSE = "MIT"
>>> LIC_FILES_CHKSUM = "file://COPYING;md5=58ef4c80d401e07bd9ee8b6b58cf464b"
>>> 
>>> SRC_URI = "https://github.com/anholt/${BPN}/releases/download/${PV}/${BP}.tar.xz \
>>> +           file://0001-dispatch_common.h-define-also-EGL_NO_X11.patch \
>>>            "
>>> SRC_URI[md5sum] = "00f47ad447321f9dc59f85bc1c9d0467"
>>> SRC_URI[sha256sum] = "0bd2cc681dfeffdef739cb29913f8c3caa47a88a451fd2bc6e606c02997289d2"
>>> 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 1869e11059..085254323c 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,6 +1,6 @@
>>> -From b6d9bc97cb0e8c540a45dba5440b036fb940ff95 Mon Sep 17 00:00:00 2001
>>> -From: Alistair Francis <alistair.francis at wdc.com>
>>> -Date: Mon, 11 Nov 2019 09:38:15 -0800
>>> +From 0d9ed002eff176b902da266d89829a9b0cb10946 Mon Sep 17 00:00:00 2001
>>> +From: Alistair Francis <alistair at alistair23.me>
>>> +Date: Thu, 14 Nov 2019 13:04:49 -0800
>>> Subject: [PATCH] meson.build: check for all linux host_os combinations
>>> 
>>> Make sure that we are also looking for our host_os combinations like
>>> @@ -13,30 +13,30 @@ 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>
>>> +Signed-off-by: Alistair Francis <alistair at alistair23.me>
>>> 
>>> ---
>>>  meson.build | 4 ++--
>>>  1 file changed, 2 insertions(+), 2 deletions(-)
>>> 
>>> diff --git a/meson.build b/meson.build
>>> -index d584152..a1f098c 100644
>>> +index 898d025..09e3759 100644
>>> --- a/meson.build
>>> +++ b/meson.build
>>> -@@ -117,7 +117,7 @@ with_any_opengl = with_opengl or with_gles1 or with_gles2
>>> +@@ -124,7 +124,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
>>> + with_shared_glapi = with_shared_glapi and with_any_opengl
>>> 
>>> -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')
>>> -@@ -856,7 +856,7 @@ if cc.compiles('__uint128_t foo(void) { return 0; }',
>>> +@@ -884,7 +884,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 ['linux', 'cygwin', 'gnu', 'freebsd', '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'
>>>  elif host_machine.system() == 'sunos'
>>> 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
>>> index 199ed572d5..cd35a1f850 100644
>>> --- 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
>>> @@ -1,13 +1,13 @@
>>> -From af6923544de02ded648a736e07b9bd8b7c52dba9 Mon Sep 17 00:00:00 2001
>>> -From: Alistair Francis <alistair.francis at wdc.com>
>>> -Date: Wed, 23 Oct 2019 09:46:28 -0700
>>> +From df835389699b32bb6610b39972502e323f8e09e5 Mon Sep 17 00:00:00 2001
>>> +From: Alistair Francis <alistair at alistair23.me>
>>> +Date: Thu, 14 Nov 2019 13:08:31 -0800
>>> 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>
>>> +Signed-off-by: Alistair Francis <alistair at alistair23.me>
>>> 
>>> ---
>>>  meson.build       | 2 +-
>>> @@ -15,23 +15,23 @@ Signed-off-by: Alistair Francis <alistair.francis at wdc.com>
>>>  2 files changed, 7 insertions(+), 1 deletion(-)
>>> 
>>> diff --git a/meson.build b/meson.build
>>> -index a1f098c..1e31eb4 100644
>>> +index 09e3759..a954118 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
>>> +@@ -387,7 +387,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 host_machine.system() != 'windows' and (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 b768c15..76cef24 100644
>>> +index 626baf3..637ff14 100644
>>> --- a/meson_options.txt
>>> +++ b/meson_options.txt
>>> -@@ -333,6 +333,12 @@ option(
>>> +@@ -341,6 +341,12 @@ option(
>>>    value : true,
>>>    description : 'Enable direct rendering in GLX and EGL for DRI',
>>>  )
>>> diff --git a/meta/recipes-graphics/mesa/files/0003-Allow-enable-DRI-without-DRI-drivers.patch b/meta/recipes-graphics/mesa/files/0003-Allow-enable-DRI-without-DRI-drivers.patch
>>> index c20a1f7c52..a0536c87ac 100644
>>> --- a/meta/recipes-graphics/mesa/files/0003-Allow-enable-DRI-without-DRI-drivers.patch
>>> +++ b/meta/recipes-graphics/mesa/files/0003-Allow-enable-DRI-without-DRI-drivers.patch
>>> @@ -1,4 +1,4 @@
>>> -From 5ad6515238bc042cccf9959abad44fdee9aeb07f Mon Sep 17 00:00:00 2001
>>> +From 7eaa21a79ce6d6e92f6bf98c28b68e3fcb4d7874 Mon Sep 17 00:00:00 2001
>>> From: Fabio Berton <fabio.berton at ossystems.com.br>
>>> Date: Wed, 12 Jun 2019 14:18:31 -0300
>>> Subject: [PATCH] Allow enable DRI without DRI drivers
>>> @@ -15,10 +15,10 @@ Signed-off-by: Otavio Salvador <otavio at ossystems.com.br>
>>>  2 files changed, 7 insertions(+), 1 deletion(-)
>>> 
>>> diff --git a/meson.build b/meson.build
>>> -index 1e31eb4..512eec6 100644
>>> +index a954118..62864c6 100644
>>> --- a/meson.build
>>> +++ b/meson.build
>>> -@@ -147,7 +147,7 @@ with_dri_r200 = dri_drivers.contains('r200')
>>> +@@ -154,7 +154,7 @@ with_dri_r200 = dri_drivers.contains('r200')
>>>  with_dri_nouveau = dri_drivers.contains('nouveau')
>>>  with_dri_swrast = dri_drivers.contains('swrast')
>>> 
>>> @@ -28,10 +28,10 @@ index 1e31eb4..512eec6 100644
>>>  gallium_drivers = get_option('gallium-drivers')
>>>  if gallium_drivers.contains('auto')
>>> diff --git a/meson_options.txt b/meson_options.txt
>>> -index 76cef24..a8abd04 100644
>>> +index 637ff14..700c34c 100644
>>> --- a/meson_options.txt
>>> +++ b/meson_options.txt
>>> -@@ -34,6 +34,12 @@ option(
>>> +@@ -35,6 +35,12 @@ option(
>>>    choices : ['auto', 'true', 'false'],
>>>    description : 'enable support for dri3'
>>>  )
>>> diff --git a/meta/recipes-graphics/mesa/files/0004-Revert-mesa-Enable-asm-unconditionally-now-that-gen_.patch b/meta/recipes-graphics/mesa/files/0004-Revert-mesa-Enable-asm-unconditionally-now-that-gen_.patch
>>> index b5658d0c9d..8d614e571a 100644
>>> --- a/meta/recipes-graphics/mesa/files/0004-Revert-mesa-Enable-asm-unconditionally-now-that-gen_.patch
>>> +++ b/meta/recipes-graphics/mesa/files/0004-Revert-mesa-Enable-asm-unconditionally-now-that-gen_.patch
>>> @@ -1,4 +1,4 @@
>>> -From 1b1cb6e5ea25eaa98573328b9565728a08245997 Mon Sep 17 00:00:00 2001
>>> +From 41cd8836d785c79381764e7de59319f87959a5cf Mon Sep 17 00:00:00 2001
>>> From: Alistair Francis <alistair at alistair23.me>
>>> Date: Thu, 14 Nov 2019 09:06:02 -0800
>>> Subject: [PATCH] Revert "mesa: Enable asm unconditionally, now that
>>> @@ -15,7 +15,7 @@ Signed-off-by: Alistair Francis <alistair at alistair23.me>
>>>  2 files changed, 67 insertions(+), 33 deletions(-)
>>> 
>>> diff --git a/meson.build b/meson.build
>>> -index 512eec6..a2bcc3a 100644
>>> +index 62864c6..b53be8d 100644
>>> --- a/meson.build
>>> +++ b/meson.build
>>> @@ -49,6 +49,7 @@ with_vulkan_icd_dir = get_option('vulkan-icd-dir')
>>> @@ -26,7 +26,7 @@ index 512eec6..a2bcc3a 100644
>>>  with_glx_read_only_text = get_option('glx-read-only-text')
>>>  with_glx_direct = get_option('glx-direct')
>>>  with_osmesa = get_option('osmesa')
>>> -@@ -985,41 +986,68 @@ endif
>>> +@@ -1093,41 +1094,68 @@ dep_ws2_32 = cc.find_library('ws2_32', required : with_platform_windows)
>>> 
>>>  # TODO: shared/static? Is this even worth doing?
>>> 
>>> @@ -129,10 +129,10 @@ index 512eec6..a2bcc3a 100644
>>>  endif
>>> 
>>> diff --git a/meson_options.txt b/meson_options.txt
>>> -index a8abd04..0f4bd80 100644
>>> +index 700c34c..62e8472 100644
>>> --- a/meson_options.txt
>>> +++ b/meson_options.txt
>>> -@@ -233,6 +233,12 @@ option(
>>> +@@ -241,6 +241,12 @@ option(
>>>    value : false,
>>>    description : 'Enable GLVND support.'
>>>  )
>>> diff --git a/meta/recipes-graphics/mesa/mesa-gl_19.2.4.bb b/meta/recipes-graphics/mesa/mesa-gl_19.3.1.bb
>>> similarity index 100%
>>> rename from meta/recipes-graphics/mesa/mesa-gl_19.2.4.bb
>>> rename to meta/recipes-graphics/mesa/mesa-gl_19.3.1.bb
>>> diff --git a/meta/recipes-graphics/mesa/mesa_19.2.4.bb b/meta/recipes-graphics/mesa/mesa_19.3.1.bb
>>> similarity index 60%
>>> rename from meta/recipes-graphics/mesa/mesa_19.2.4.bb
>>> rename to meta/recipes-graphics/mesa/mesa_19.3.1.bb
>>> index f4b33df227..d105fec4df 100644
>>> --- a/meta/recipes-graphics/mesa/mesa_19.2.4.bb
>>> +++ b/meta/recipes-graphics/mesa/mesa_19.3.1.bb
>>> @@ -7,15 +7,15 @@ SRC_URI = "https://mesa.freedesktop.org/archive/mesa-${PV}.tar.xz \
>>>            file://0004-Revert-mesa-Enable-asm-unconditionally-now-that-gen_.patch \
>>>            "
>>> 
>>> -SRC_URI[md5sum] = "5c047732b81651ddb341597528b4b096"
>>> -SRC_URI[sha256sum] = "09000a0f7dbbd82e193b81a8f1bf0c118eab7ca975c0329181968596e548e30f"
>>> +SRC_URI[md5sum] = "5c5965db31993af47fee82c9a7ccba5e"
>>> +SRC_URI[sha256sum] = "cd951db69c56a97ff0570a7ab2c0e39e6c5323f4cd8f4eb8274723e033beae59"
>>> 
>>> -UPSTREAM_CHECK_GITTAGREGEX = "mesa-(?P<pver>\d+(\.\d+)+)"
>>> +UPSTREAM_CHECK_GITTAGREGEX = "mesa-(?P<pver>\d+(\.^[1-9]\d+)+)"
>>> 
>>> #because we cannot rely on the fact that all apps will use pkgconfig,
>>> #make eglplatform.h independent of MESA_EGL_NO_X11_HEADER
>>> do_install_append() {
>>>     if ${@bb.utils.contains('PACKAGECONFIG', 'egl', 'true', 'false', d)}; then
>>> -        sed -i -e 's/^#if defined(MESA_EGL_NO_X11_HEADERS)$/#if defined(MESA_EGL_NO_X11_HEADERS) || ${@bb.utils.contains('PACKAGECONFIG', 'x11', '0', '1', d)}/' ${D}${includedir}/EGL/eglplatform.h
>>> +        sed -i -e 's/^#elif defined(__unix__) && defined(EGL_NO_X11)$/#elif defined(__unix__) \&\& defined(EGL_NO_X11) || ${@bb.utils.contains('PACKAGECONFIG', 'x11', '0', '1', d)}/' ${D}${includedir}/EGL/eglplatform.h
>>>     fi
>>> }
>>> --
>>> 2.24.0
>>> 
>>> --
>>> _______________________________________________
>>> Openembedded-core mailing list
>>> Openembedded-core at lists.openembedded.org
>>> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>> 
>> --
>> _______________________________________________
>> 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