Re: [OE-core] [PATCH 6/6] mesa: update 22.3.5 -> 23.0.0

Martin Jansa
2023-03-18T18:58:16Z

[-- Attachment #1: Type: text/plain, Size: 15112 bytes --]

On Sat, Mar 18, 2023 at 7:38 PM Khem Raj <raj.khem@gmail.com> wrote:

> On Sat, Mar 18, 2023 at 1:02 AM Alexander Kanavin
> <alex.kanavin@gmail.com> wrote:
> >
> > Ubuntu 18.04 goes EOL next month, so it should perhaps be dropped from
> the builders and supported distro list?
> >
>
> Perhaps in the next cycle yes and definitely for the next LTS it
> should be dropped.
>
> Its stll supported via Extended Security Maintenance (ESM) and users
> maybe still be using it.
>
> mesa needs gcc > 8 as per
> https://docs.mesa3d.org/install.html?highlight=gcc+version#compiler
> so 7.5 default on ubuntu 18.04 is falling under unsupported compilers
> for mesa. So we should be recommending
> buildtools-tarball-extra and also installing it on ubuntu 18.04 workers.
>

IIRC we already need buildtools-tarball (regular was enough, not the
extended one) for 18.04 because of python

Mickledore needs newer python-3.8 (e.g. 3.8.10 in Focal) than 3.6.9 in
Bionic since:
https://git.openembedded.org/openembedded-core/commit/?id=cc05bc04156122fd6f918191a9cec7bc0392415e
https://git.openembedded.org/bitbake/commit/?id=744310f360d2288ac2ef07745abc86852126b5b9

extended is twice as big, but I wouldn't mind switching to it from regular
buildtools if needed (temporarily until we finish upgrade to 22.03. And
people who install newer python to 18.04 can install newer than default gcc
as well.

Cheers,

> > Alex
> >
> > On Sat 18. Mar 2023 at 2.47, Khem Raj <raj.khem@gmail.com> wrote:
> >>
> >> mesa 23.x fails to build with default gcc ( 7.5.0 ) Ubuntu
> >> 7.5.0-3ubuntu1~18.04, it ends up with
> >>
> >> ../mesa-23.0.0/src/intel/compiler/brw_simd_selection.cpp: In function
> >> ‘int brw_simd_select_for_workgroup_size(const intel_device_info*,
> >> const brw_cs_prog_data*, const unsigned int*)’:
> >> ../mesa-23.0.0/src/intel/compiler/brw_simd_selection.cpp:205:7: sorry,
> >> unimplemented: non-trivial designated initializers not supported
> >> };
> >> ^
> >>
> >> see mesa-native failure
> >>
> >> https://errors.yoctoproject.org/Errors/Details/698144/
> >>
> >> I wonder how it works on AB nodes running Ubuntu 18.04. Do we enforce
> >> gcc from buildtools tarball there ?
> >>
> >> On Thu, Mar 16, 2023 at 2:41 AM Alexander Kanavin
> >> <alex.kanavin@gmail.com> wrote:
> >> >
> >> > Drop patches:
> >> > 0001-gbm-backend-fix-gbm-compile-without-dri.patch
> >> > 0001-freedreno-pm4-Use-unsigned-instead-of-uint-to-fix-mu.patch
> >> > (backports)
> >> >
> >> > 0001-util-format-Check-for-NEON-before-using-it.patch
> >> > (upstream submission has stalled with unanswered concerns from
> upstream;
> >> > patch no longer applies; issue does not reproduce with
> 'raspberrypi0-wifi' MACHINE)
> >> >
> >> > Signed-off-by: Alexander Kanavin <alex@linutronix.de>
> >> > ---
> >> > ...e-unsigned-instead-of-uint-to-fix-mu.patch | 44 -------------
> >> > ...-backend-fix-gbm-compile-without-dri.patch | 65
> -------------------
> >> > ...ormat-Check-for-NEON-before-using-it.patch | 47 --------------
> >> > .../{mesa-gl_22.3.5.bb => mesa-gl_23.0.0.bb} | 0
> >> > meta/recipes-graphics/mesa/mesa.inc | 5 +-
> >> > .../mesa/{mesa_22.3.5.bb => mesa_23.0.0.bb} | 0
> >> > 6 files changed, 1 insertion(+), 160 deletions(-)
> >> > delete mode 100644
> meta/recipes-graphics/mesa/files/0001-freedreno-pm4-Use-unsigned-instead-of-uint-to-fix-mu.patch
> >> > delete mode 100644
> meta/recipes-graphics/mesa/files/0001-gbm-backend-fix-gbm-compile-without-dri.patch
> >> > delete mode 100644
> meta/recipes-graphics/mesa/files/0001-util-format-Check-for-NEON-before-using-it.patch
> >> > rename meta/recipes-graphics/mesa/{mesa-gl_22.3.5.bb =>
> mesa-gl_23.0.0.bb} (100%)
> >> > rename meta/recipes-graphics/mesa/{mesa_22.3.5.bb => mesa_23.0.0.bb}
> (100%)
> >> >
> >> > diff --git
> a/meta/recipes-graphics/mesa/files/0001-freedreno-pm4-Use-unsigned-instead-of-uint-to-fix-mu.patch
> b/meta/recipes-graphics/mesa/files/0001-freedreno-pm4-Use-unsigned-instead-of-uint-to-fix-mu.patch
> >> > deleted file mode 100644
> >> > index 3ab22889bf..0000000000
> >> > ---
> a/meta/recipes-graphics/mesa/files/0001-freedreno-pm4-Use-unsigned-instead-of-uint-to-fix-mu.patch
> >> > +++ /dev/null
> >> > @@ -1,44 +0,0 @@
> >> > -From 8a5de0b6cf1090d7f29f3974ec79c32776cf2745 Mon Sep 17 00:00:00
> 2001
> >> > -From: Jami Kettunen <jami.kettunen@protonmail.com>
> >> > -Date: Tue, 31 Aug 2021 00:15:58 +0300
> >> > -Subject: [PATCH] freedreno/pm4: Use unsigned instead of uint to fix
> musl build
> >> > -
> >> > -Upstream-Status: Backport
> >> > -
> >> > -Fixes the following error I noticed when building against aarch64
> with
> >> > -musl libc:
> >> > -
> >> > - In file included from ../src/freedreno/decode/crashdec.h:38,
> >> > - from ../src/freedreno/decode/crashdec.c:40:
> >> > - ../src/freedreno/common/freedreno_pm4.h:104:15: error: unknown
> type name 'uint'
> >> > - 104 | static inline uint
> >> > - | ^~~~
> >> > - ../src/freedreno/common/freedreno_pm4.h:105:25: error: unknown
> type name 'uint'; did you mean 'int'?
> >> > - 105 | pm4_calc_odd_parity_bit(uint val)
> >> > - | ^~~~
> >> > - | int
> >> > -
> >> > -Signed-off-by: Jami Kettunen <jami.kettunen@protonmail.com>
> >> > -Part-of: <
> https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19665>
> >> > ----
> >> > - src/freedreno/common/freedreno_pm4.h | 4 ++--
> >> > - 1 file changed, 2 insertions(+), 2 deletions(-)
> >> > -
> >> > -diff --git a/src/freedreno/common/freedreno_pm4.h
> b/src/freedreno/common/freedreno_pm4.h
> >> > -index 8f958953d693..091247e709a0 100644
> >> > ---- a/src/freedreno/common/freedreno_pm4.h
> >> > -+++ b/src/freedreno/common/freedreno_pm4.h
> >> > -@@ -105,8 +105,8 @@ pm4_pkt7_hdr(uint8_t opcode, uint16_t cnt)
> >> > - #define cp_type3_opcode(pkt) (((pkt) >> 8) & 0xFF)
> >> > - #define type3_pkt_size(pkt) ((((pkt) >> 16) & 0x3FFF) + 1)
> >> > -
> >> > --static inline uint
> >> > --pm4_calc_odd_parity_bit(uint val)
> >> > -+static inline unsigned
> >> > -+pm4_calc_odd_parity_bit(unsigned val)
> >> > - {
> >> > - return (0x9669 >> (0xf & ((val) ^ ((val) >> 4) ^ ((val) >> 8) ^
> >> > - ((val) >> 12) ^ ((val) >> 16) ^ ((val)
> >> 20) ^
> >> > ---
> >> > -2.39.2
> >> > -
> >> > diff --git
> a/meta/recipes-graphics/mesa/files/0001-gbm-backend-fix-gbm-compile-without-dri.patch
> b/meta/recipes-graphics/mesa/files/0001-gbm-backend-fix-gbm-compile-without-dri.patch
> >> > deleted file mode 100644
> >> > index 6541671b7a..0000000000
> >> > ---
> a/meta/recipes-graphics/mesa/files/0001-gbm-backend-fix-gbm-compile-without-dri.patch
> >> > +++ /dev/null
> >> > @@ -1,65 +0,0 @@
> >> > -From 25946100e21cf2095bea334e8d7096798561d0b7 Mon Sep 17 00:00:00
> 2001
> >> > -From: Vincent Davis Jr <vince@underview.tech>
> >> > -Date: Wed, 28 Dec 2022 16:28:01 -0600
> >> > -Subject: [PATCH] gbm/backend: fix gbm compile without dri
> >> > -
> >> > -Upstream-Status: Backport
> >> > -
> >> > -https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20447
> >> > -
> https://gitlab.freedesktop.org/mesa/mesa/-/commit/842ca284650f066e58706741a7d22d67b5088e60
> >> > -
> >> > -At mesa version 22.2.3 patch wasn't introduced until after.
> >> > -
> >> > -Commit introduces a fix that allows for gbm to be built with an empty
> >> > -backend. There are situation especially in a Yocto/OE cross
> compilation
> >> > -environment where you want to build with an empty backend. The
> particular
> >> > -situation is as such:
> >> > -
> >> > -The mesa-gl recipe is the preferred provider for virtual/libgbm,
> virtual/libgl,
> >> > -virtual/mesa, etc... But the x11 DISTRO_FEATURE in't included this
> leads to build
> >> > -errors such as:
> >> > -
> >> > -| /../../../ld: src/gbm/libgbm.so.1.0.0.p/main_backend.c.o: in
> function `find_backend':
> >> > -| backend.c:(.text.find_backend+0xa4): undefined reference to
> `gbm_dri_backend'
> >> > -| /../../../ld:
> src/gbm/libgbm.so.1.0.0.p/main_backend.c.o:(.data.rel.ro.builtin_backends+0x4):
> >> > - undefined reference to `gbm_dri_backend'
> >> > -| collect2: error: ld returned 1 exit status
> >> > -
> >> > -Issue should be replicable by setting -Ddri3=disabled and
> -Dgbm=enabled
> >> > -
> >> > -Add fix to bypasses compilation issue by excluding gbm dri backend.
> If
> >> > -HAVE_DRI || HAVE_DRIX not specified.
> >> > -
> >> > -Acked-by: David Heidelberg <david.heidelberg@collabora.com>
> >> > -Signed-off-by: Vincent Davis Jr <vince@underview.tech>
> >> > ----
> >> > - src/gbm/main/backend.c | 4 ++++
> >> > - 1 file changed, 4 insertions(+)
> >> > -
> >> > -diff --git a/src/gbm/main/backend.c b/src/gbm/main/backend.c
> >> > -index 974d0a76a4e..feee0703495 100644
> >> > ---- a/src/gbm/main/backend.c
> >> > -+++ b/src/gbm/main/backend.c
> >> > -@@ -42,7 +42,9 @@
> >> > - #define ARRAY_SIZE(a) (sizeof(a)/sizeof((a)[0]))
> >> > - #define VER_MIN(a, b) ((a) < (b) ? (a) : (b))
> >> > -
> >> > -+#if defined(HAVE_DRI) || defined(HAVE_DRI2) || defined(HAVE_DRI3)
> >> > - extern const struct gbm_backend gbm_dri_backend;
> >> > -+#endif
> >> > -
> >> > - struct gbm_backend_desc {
> >> > - const char *name;
> >> > -@@ -51,7 +53,9 @@ struct gbm_backend_desc {
> >> > - };
> >> > -
> >> > - static const struct gbm_backend_desc builtin_backends[] = {
> >> > -+#if defined(HAVE_DRI) || defined(HAVE_DRI2) || defined(HAVE_DRI3)
> >> > - { "dri", &gbm_dri_backend },
> >> > -+#endif
> >> > - };
> >> > -
> >> > - #define BACKEND_LIB_SUFFIX "_gbm"
> >> > ---
> >> > -2.34.1
> >> > -
> >> > diff --git
> a/meta/recipes-graphics/mesa/files/0001-util-format-Check-for-NEON-before-using-it.patch
> b/meta/recipes-graphics/mesa/files/0001-util-format-Check-for-NEON-before-using-it.patch
> >> > deleted file mode 100644
> >> > index d22ff3c8a8..0000000000
> >> > ---
> a/meta/recipes-graphics/mesa/files/0001-util-format-Check-for-NEON-before-using-it.patch
> >> > +++ /dev/null
> >> > @@ -1,47 +0,0 @@
> >> > -From f17e836ef9b1bbc6056790596420b699e48128c2 Mon Sep 17 00:00:00
> 2001
> >> > -From: Khem Raj <raj.khem@gmail.com>
> >> > -Date: Thu, 2 Dec 2021 19:57:42 -0800
> >> > -Subject: [PATCH] util/format: Check for NEON before using it
> >> > -
> >> > -This fixes build on rpi0-w and any other machine which does not have
> >> > -neon unit and is not used as FPU unit
> >> > -
> >> > -Fixes errors e.g.
> >> > -
> >> > -In file included from
> ../mesa-21.3.0/src/util/format/u_format_unpack_neon.c:35:
> >> >
> -/mnt/b/yoe/master/build/tmp/work/arm1176jzfshf-vfp-yoe-linux-gnueabi/mesa/2_21.3.0-r0/recipe-sysroot-native/usr/lib/clang/13.0.1/include/arm_neon.h:32:2:
> error: "NEON support not enabled"
> >> > -
> >> > -Upstream-Status: Submitted [
> https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14032]
> >> > -Signed-off-by: Khem Raj <raj.khem@gmail.com>
> >> > -
> >> > ----
> >> > - src/util/format/u_format.c | 2 +-
> >> > - src/util/format/u_format_unpack_neon.c | 2 +-
> >> > - 2 files changed, 2 insertions(+), 2 deletions(-)
> >> > -
> >> > -diff --git a/src/util/format/u_format.c b/src/util/format/u_format.c
> >> > -index c071250..0880984 100644
> >> > ---- a/src/util/format/u_format.c
> >> > -+++ b/src/util/format/u_format.c
> >> > -@@ -1184,7 +1184,7 @@ static void
> >> > - util_format_unpack_table_init(void)
> >> > - {
> >> > - for (enum pipe_format format = PIPE_FORMAT_NONE; format <
> PIPE_FORMAT_COUNT; format++) {
> >> > --#if (defined(PIPE_ARCH_AARCH64) || defined(PIPE_ARCH_ARM)) &&
> !defined(NO_FORMAT_ASM) && !defined(__SOFTFP__)
> >> > -+#if (defined(PIPE_ARCH_AARCH64) || (defined(__ARM_NEON) &&
> defined(PIPE_ARCH_ARM))) && !defined(NO_FORMAT_ASM)
> >> > - const struct util_format_unpack_description *unpack =
> util_format_unpack_description_neon(format);
> >> > - if (unpack) {
> >> > - util_format_unpack_table[format] = unpack;
> >> > -diff --git a/src/util/format/u_format_unpack_neon.c
> b/src/util/format/u_format_unpack_neon.c
> >> > -index a4a5cb1..1e4f794 100644
> >> > ---- a/src/util/format/u_format_unpack_neon.c
> >> > -+++ b/src/util/format/u_format_unpack_neon.c
> >> > -@@ -23,7 +23,7 @@
> >> > -
> >> > - #include <u_format.h>
> >> > -
> >> > --#if (defined(PIPE_ARCH_AARCH64) || defined(PIPE_ARCH_ARM)) &&
> !defined(NO_FORMAT_ASM) && !defined(__SOFTFP__)
> >> > -+#if (defined(PIPE_ARCH_AARCH64) || (defined(__ARM_NEON) &&
> defined(PIPE_ARCH_ARM))) && !defined(NO_FORMAT_ASM)
> >> > -
> >> > - /* armhf builds default to vfp, not neon, and refuses to compile
> neon intrinsics
> >> > - * unless you tell it "no really".
> >> > diff --git a/meta/recipes-graphics/mesa/mesa-gl_22.3.5.bb
> b/meta/recipes-graphics/mesa/mesa-gl_23.0.0.bb
> >> > similarity index 100%
> >> > rename from meta/recipes-graphics/mesa/mesa-gl_22.3.5.bb
> >> > rename to meta/recipes-graphics/mesa/mesa-gl_23.0.0.bb
> >> > diff --git a/meta/recipes-graphics/mesa/mesa.inc
> b/meta/recipes-graphics/mesa/mesa.inc
> >> > index b082b49400..8f72f25c17 100644
> >> > --- a/meta/recipes-graphics/mesa/mesa.inc
> >> > +++ b/meta/recipes-graphics/mesa/mesa.inc
> >> > @@ -17,12 +17,9 @@ PE = "2"
> >> > SRC_URI = "https://mesa.freedesktop.org/archive/mesa-${PV}.tar.xz \
> >> >
> file://0001-meson.build-check-for-all-linux-host_os-combinations.patch \
> >> >
> file://0001-meson-misdetects-64bit-atomics-on-mips-clang.patch \
> >> > -
> file://0001-util-format-Check-for-NEON-before-using-it.patch \
> >> > - file://0001-gbm-backend-fix-gbm-compile-without-dri.patch
> \
> >> > -
> file://0001-freedreno-pm4-Use-unsigned-instead-of-uint-to-fix-mu.patch \
> >> > "
> >> >
> >> > -SRC_URI[sha256sum] =
> "3eed2ecae2bc674494566faab9fcc9beb21cd804c7ba2b59a1694f3d7236e6a9"
> >> > +SRC_URI[sha256sum] =
> "01f3cff3763f09e0adabcb8011e4aebc6ad48f6a4dd4bae904fe918707d253e4"
> >> >
> >> > UPSTREAM_CHECK_GITTAGREGEX = "mesa-(?P<pver>\d+(\.\d+)+)"
> >> >
> >> > diff --git a/meta/recipes-graphics/mesa/mesa_22.3.5.bb
> b/meta/recipes-graphics/mesa/mesa_23.0.0.bb
> >> > similarity index 100%
> >> > rename from meta/recipes-graphics/mesa/mesa_22.3.5.bb
> >> > rename to meta/recipes-graphics/mesa/mesa_23.0.0.bb
> >> > --
> >> > 2.30.2
> >> >
> >> >
> >> >
> >> >
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#178791):
> https://lists.openembedded.org/g/openembedded-core/message/178791
> Mute This Topic: https://lists.openembedded.org/mt/97647023/3617156
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [
> Martin.Jansa@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
>

[-- Attachment #2: Type: text/html, Size: 22048 bytes --]