It would help if the version update is separated from all the
rust/clang/opencl fixes. Please try to make a nice set of simple
commits, instead of bundling everything into one.

Alex

On Fri, 12 Jul 2024 at 09:27, Markus Volk via lists.openembedded.org
<[email protected]> wrote:
>
> Fix a typo
>
> On Fri, Jul 12 2024 at 09:27:46 AM +02:00:00, Markus Volk <[email protected]> 
> wrote:
>
> - Remove two patches that have been merged upstream - Remove 
> 0001-Revert-meson-do-not-pull-in-clc-for-clover.patch Upstream managed to fix 
> this: 
> https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/meson.build?ref_type=heads#L839
>  - Add dependencies for clang and gcc-runtime to provide needed headers. Add 
> a dependency for bindgen-cli-native to allow creating the rust bindings - 
> Disable rusticl build for mesa-native - Add a PACKAGECONFIG for rusticl. Drop 
> OPENCL_NATIVE since the according option has been removed from 
> meson_options.txt - inherit rust to make rusticl buildable - Add a crude hack 
> to make the compiler includes visible to bindgen-cli Without this the headers 
> will be taken from host and that is inappropriate for yocto/oe If they are 
> not found the build fails There is still a compile issue left that suggests 
> to me that a rust update is required: error[E0658]: use of unstable library 
> feature 'offset_of' --> 
> src/gallium/frontends/rusticl/rusticl_mesa_bindings.rs:3:13312 | 3 | ...() - 
> 8usize] ; ["Offset of field: _IO_FILE::_flags"] [:: std :: mem :: offset_of ! 
> (_IO_FILE , _flags) - 0usize] ; ["Offset of field: ... | 
> ^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: see issue #106655 
> <https://github.com/rust-lang/rust/issues/106655> for more information 
> error[E0658]: use of unstable library feature 'offset_of' --> 
> src/gallium/frontends/rusticl/rusticl_mesa_bindings.rs:3:13418 Signed-off-by: 
> Markus Volk <[email protected]> --- 
> ...-meson-do-not-pull-in-clc-for-clover.patch | 53 ----------------- 
> .../0001-drisw-fix-build-without-dri3.patch | 58 ------------------- 
> ...sdetects-64bit-atomics-on-mips-clang.patch | 2 +- 
> ...n.build-workaround-for-rusticl-build.patch | 25 ++++++++ 
> ...on-t-try-zink-if-not-enabled-in-mesa.patch | 42 -------------- 
> .../{mesa-gl_24.0.7.bb => mesa-gl_24.1.3.bb} | 0 
> meta/recipes-graphics/mesa/mesa.inc | 25 ++++---- .../mesa/{mesa_24.0.7.bb => 
> mesa_24.1.3.bb} | 0 8 files changed, 41 insertions(+), 164 deletions(-) 
> delete mode 100644 
> meta/recipes-graphics/mesa/files/0001-Revert-meson-do-not-pull-in-clc-for-clover.patch
>  delete mode 100644 
> meta/recipes-graphics/mesa/files/0001-drisw-fix-build-without-dri3.patch 
> create mode 100644 
> meta/recipes-graphics/mesa/files/0001-rusticl-meson.build-workaround-for-rusticl-build.patch
>  delete mode 100644 
> meta/recipes-graphics/mesa/files/0002-glxext-don-t-try-zink-if-not-enabled-in-mesa.patch
>  rename meta/recipes-graphics/mesa/{mesa-gl_24.0.7.bb => mesa-gl_24.1.3.bb} 
> (100%) rename meta/recipes-graphics/mesa/{mesa_24.0.7.bb => mesa_24.1.3.bb} 
> (100%) diff --git 
> a/meta/recipes-graphics/mesa/files/0001-Revert-meson-do-not-pull-in-clc-for-clover.patch
>  
> b/meta/recipes-graphics/mesa/files/0001-Revert-meson-do-not-pull-in-clc-for-clover.patch
>  deleted file mode 100644 index 1711e22585..0000000000 --- 
> a/meta/recipes-graphics/mesa/files/0001-Revert-meson-do-not-pull-in-clc-for-clover.patch
>  +++ /dev/null @@ -1,53 +0,0 @@ -From 
> 051f41beda540f0ae77b341db01a6de83c9e938a Mon Sep 17 00:00:00 2001 -From: 
> Markus Volk <[email protected]> -Date: Fri, 8 Mar 2024 15:53:11 +0100 
> -Subject: [PATCH] Revert "meson: do not pull in clc for clover" - -This 
> reverts commit 815a6647eb1383e9dc704ffcc266d85f3b13338a. -Upstream-Status: 
> Inappropriate 
> [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27783/diffs?commit_id=a976f2c9f0c07f9e06cc9affd9124b45bc60c2bd]
>  - -Once the merge request above was added, it will only be possible to 
> provide opencl spir-v with gallium-rusticl=true. This is not yet supported in 
> the mesa recipe. -For now reverting this commit allows to still use clover 
> with opencl-spirv, which would otherwise be broken starting from mesa 24.0.2. 
> - -After it was merged, this patch needs to be removed and rusticl support 
> will be required - -Signed-off-by: Markus Volk <[email protected]> ---- - 
> meson.build | 3 ++- - src/compiler/meson.build | 2 +- - 2 files changed, 3 
> insertions(+), 2 deletions(-) - -diff --git a/meson.build b/meson.build 
> -index 2db6185..741b5d1 100644 ---- a/meson.build -+++ b/meson.build -@@ 
> -813,6 +813,7 @@ if _opencl != 'disabled' - error('The Clover OpenCL state 
> tracker requires rtti') - endif - -+ with_clc = true - with_gallium_opencl = 
> true - with_opencl_icd = _opencl == 'icd' - else -@@ -837,7 +838,7 @@ if 
> with_gallium_rusticl - endif - - dep_clc = null_dep --if with_gallium_opencl 
> or with_clc -+if with_clc - dep_clc = dependency('libclc') - endif - -diff 
> --git a/src/compiler/meson.build b/src/compiler/meson.build -index 
> 8d73544..1dae56d 100644 ---- a/src/compiler/meson.build -+++ 
> b/src/compiler/meson.build -@@ -79,7 +79,7 @@ subdir('nir') - - 
> subdir('spirv') - --if with_clc -+if with_opencl_spirv - subdir('clc') - 
> endif - if with_gallium diff --git 
> a/meta/recipes-graphics/mesa/files/0001-drisw-fix-build-without-dri3.patch 
> b/meta/recipes-graphics/mesa/files/0001-drisw-fix-build-without-dri3.patch 
> deleted file mode 100644 index ab16152090..0000000000 --- 
> a/meta/recipes-graphics/mesa/files/0001-drisw-fix-build-without-dri3.patch 
> +++ /dev/null @@ -1,58 +0,0 @@ -From 4bd15a419e892da843489c374c58c5b29c40b5d6 
> Mon Sep 17 00:00:00 2001 -From: Romain Naour <[email protected]> -Date: 
> Tue, 6 Feb 2024 09:47:09 +0100 -Subject: [PATCH 1/2] drisw: fix build without 
> dri3 - -commit 1887368df41 ("glx/sw: check for modifier support in the kopper 
> path") -added dri3_priv.h header and dri3_check_multibuffer() function in 
> drisw that -can be build without dri3. - - i686-buildroot-linux-gnu/bin/ld: 
> src/glx/libglx.a.p/drisw_glx.c.o: in function `driswCreateScreenDriver': - 
> drisw_glx.c:(.text.driswCreateScreenDriver+0x3a0): undefined reference to 
> `dri3_check_multibuffer' - collect2: error: ld returned 1 exit status - -Add 
> HAVE_DRI3 guard around dri3_priv.h header and the zink code using 
> -dri3_check_multibuffer(). - -Fixes: 1887368df41 ("glx/sw: check for modifier 
> support in the kopper path") - -Upstream-Status: Submitted 
> [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27478] 
> -Signed-off-by: Romain Naour <[email protected]> -Signed-off-by: Khem Raj 
> <[email protected]> ---- - src/glx/drisw_glx.c | 4 ++++ - 1 file changed, 4 
> insertions(+) - -diff --git a/src/glx/drisw_glx.c b/src/glx/drisw_glx.c 
> -index 3d3f752..4b19e2d 100644 ---- a/src/glx/drisw_glx.c -+++ 
> b/src/glx/drisw_glx.c -@@ -32,7 +32,9 @@ - #include <dlfcn.h> - #include 
> "dri_common.h" - #include "drisw_priv.h" -+#ifdef HAVE_DRI3 - #include 
> "dri3_priv.h" -+#endif - #include <X11/extensions/shmproto.h> - #include 
> <assert.h> - #include <vulkan/vulkan_core.h> -@@ -995,6 +997,7 @@ 
> driswCreateScreenDriver(int screen, struct glx_display *priv, - goto 
> handle_error; - } - -+#ifdef HAVE_DRI3 - if (pdpyp->zink) { - bool err; - 
> psc->has_multibuffer = dri3_check_multibuffer(priv->dpy, &err); -@@ -1005,6 
> +1008,7 @@ driswCreateScreenDriver(int screen, struct glx_display *priv, - 
> goto handle_error; - } - } -+#endif - - 
> glx_config_destroy_list(psc->base.configs); - psc->base.configs = configs; 
> --- -2.44.0 - diff --git 
> a/meta/recipes-graphics/mesa/files/0001-meson-misdetects-64bit-atomics-on-mips-clang.patch
>  
> b/meta/recipes-graphics/mesa/files/0001-meson-misdetects-64bit-atomics-on-mips-clang.patch
>  index baa98a0d46..6b5d5ea1a5 100644 --- 
> a/meta/recipes-graphics/mesa/files/0001-meson-misdetects-64bit-atomics-on-mips-clang.patch
>  +++ 
> b/meta/recipes-graphics/mesa/files/0001-meson-misdetects-64bit-atomics-on-mips-clang.patch
>  @@ -1,4 +1,4 @@ -From 02cc21800fe29f566add525e63f619c0536d6e7b Mon Sep 17 
> 00:00:00 2001 +From 251f18fec005c522d0bf91b36ddbc89d06c86f76 Mon Sep 17 
> 00:00:00 2001 From: Khem Raj <[email protected]> Date: Mon, 13 Jan 2020 
> 15:23:47 -0800 Subject: [PATCH] meson misdetects 64bit atomics on mips/clang 
> diff --git 
> a/meta/recipes-graphics/mesa/files/0001-rusticl-meson.build-workaround-for-rusticl-build.patch
>  
> b/meta/recipes-graphics/mesa/files/0001-rusticl-meson.build-workaround-for-rusticl-build.patch
>  new file mode 100644 index 0000000000..ed4c35a378 --- /dev/null +++ 
> b/meta/recipes-graphics/mesa/files/0001-rusticl-meson.build-workaround-for-rusticl-build.patch
>  @@ -0,0 +1,25 @@ +From b34ee4014ee9e3466ebafbd53745d9f9a13379da Mon Sep 17 
> 00:00:00 2001 +From: Markus Volk <[email protected]> +Date: Thu, 11 Jul 2024 
> 22:52:16 +0200 +Subject: [PATCH] rusticl/meson.build: workaround for rusticl 
> build + +Signed-off-by: Markus Volk <[email protected]> +--- + 
> src/gallium/frontends/rusticl/meson.build | 1 + + 1 file changed, 1 
> insertion(+) + +diff --git a/src/gallium/frontends/rusticl/meson.build 
> b/src/gallium/frontends/rusticl/meson.build +index eef09d8f01e..efac4cab964 
> 100644 +--- a/src/gallium/frontends/rusticl/meson.build ++++ 
> b/src/gallium/frontends/rusticl/meson.build +@@ -211,6 +211,7 @@ 
> rusticl_llvm_bindings_rs = rust.bindgen( + c_args : [ + 
> rusticl_bindgen_c_args, + pre_args, ++ '-I@include@', '-I@include_cpp@', 
> '-I@include_cpp_target_sys@' + ], + dependencies : [ + dep_clang, +-- +2.45.2 
> + diff --git 
> a/meta/recipes-graphics/mesa/files/0002-glxext-don-t-try-zink-if-not-enabled-in-mesa.patch
>  
> b/meta/recipes-graphics/mesa/files/0002-glxext-don-t-try-zink-if-not-enabled-in-mesa.patch
>  deleted file mode 100644 index 036a0b4945..0000000000 --- 
> a/meta/recipes-graphics/mesa/files/0002-glxext-don-t-try-zink-if-not-enabled-in-mesa.patch
>  +++ /dev/null @@ -1,42 +0,0 @@ -From 
> 62495ebb977866c52d5bed8499a547c49f0d9bc1 Mon Sep 17 00:00:00 2001 -From: 
> Romain Naour <[email protected]> -Date: Tue, 6 Feb 2024 09:47:10 +0100 
> -Subject: [PATCH 2/2] glxext: don't try zink if not enabled in mesa - -Commit 
> 7d9ea77b459 ("glx: add automatic zink fallback loading between hw and sw 
> drivers") -added an automatic zink fallback even when the zink gallium is not 
> -enabled at build time. - -It leads to unexpected error log while loading 
> drisw driver and -zink is not installed on the rootfs: - - MESA-LOADER: 
> failed to open zink: /usr/lib/dri/zink_dri.so - -Fixes: 7d9ea77b459 ("glx: 
> add automatic zink fallback loading between hw and sw drivers") - 
> -Upstream-Status: Submitted 
> [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27478] 
> -Signed-off-by: Romain Naour <[email protected]> -Signed-off-by: Khem Raj 
> <[email protected]> ---- - src/glx/glxext.c | 2 ++ - 1 file changed, 2 
> insertions(+) - -diff --git a/src/glx/glxext.c b/src/glx/glxext.c -index 
> 05c825a..7a06aa9 100644 ---- a/src/glx/glxext.c -+++ b/src/glx/glxext.c -@@ 
> -908,9 +908,11 @@ __glXInitialize(Display * dpy) - #endif /* HAVE_DRI3 */ - 
> if (!debug_get_bool_option("LIBGL_DRI2_DISABLE", false)) - 
> dpyPriv->dri2Display = dri2CreateDisplay(dpy); -+#if defined(HAVE_ZINK) - if 
> (!dpyPriv->dri3Display && !dpyPriv->dri2Display) - try_zink = 
> !debug_get_bool_option("LIBGL_KOPPER_DISABLE", false) && - 
> !getenv("GALLIUM_DRIVER"); -+#endif /* HAVE_ZINK */ - } - #endif /* 
> GLX_USE_DRM */ - if (glx_direct) --- -2.44.0 - diff --git 
> a/meta/recipes-graphics/mesa/mesa-gl_24.0.7.bb 
> b/meta/recipes-graphics/mesa/mesa-gl_24.1.3.bb similarity index 100% rename 
> from meta/recipes-graphics/mesa/mesa-gl_24.0.7.bb rename to 
> meta/recipes-graphics/mesa/mesa-gl_24.1.3.bb diff --git 
> a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc 
> index 2581ccb120..c6141cd815 100644 --- a/meta/recipes-graphics/mesa/mesa.inc 
> +++ b/meta/recipes-graphics/mesa/mesa.inc @@ -16,12 +16,10 @@ PE = "2" 
> SRC_URI = "https://mesa.freedesktop.org/archive/mesa-${PV}.tar.xz \ 
> file://0001-meson-misdetects-64bit-atomics-on-mips-clang.patch \ - 
> file://0001-drisw-fix-build-without-dri3.patch \ - 
> file://0002-glxext-don-t-try-zink-if-not-enabled-in-mesa.patch \ - 
> file://0001-Revert-meson-do-not-pull-in-clc-for-clover.patch \ + 
> file://0001-rusticl-meson.build-workaround-for-rusticl-build.patch \ " 
> -SRC_URI[sha256sum] = 
> "7454425f1ed4a6f1b5b107e1672b30c88b22ea0efea000ae2c7d96db93f6c26a" 
> +SRC_URI[sha256sum] = 
> "63236426b25a745ba6aa2d6daf8cd769d5ea01887b0745ab7124d2ef33a9020d" 
> UPSTREAM_CHECK_GITTAGREGEX = "mesa-(?P<pver>\d+(\.\d+)+)" @@ -36,7 +34,7 @@ 
> do_install:append() { } DEPENDS = "expat makedepend-native flex-native 
> bison-native libxml2-native zlib chrpath-replacement-native 
> python3-mako-native gettext-native" -DEPENDS:append:class-target = " 
> ${@bb.utils.contains('PACKAGECONFIG', 'opencl', 'mesa-native', '', d)}" 
> +DEPENDS:append:class-target = " ${@bb.utils.contains('PACKAGECONFIG', 
> 'opencl', 'mesa-native gcc-runtime', '', d)}" EXTRANATIVEPATH += 
> "chrpath-native" PROVIDES = " \ ${@bb.utils.contains('PACKAGECONFIG', 
> 'opengl', 'virtual/libgl', '', d)} \ @@ -47,7 +45,7 @@ PROVIDES = " \ 
> virtual/mesa \ " -inherit meson pkgconfig python3native gettext 
> features_check +inherit meson rust pkgconfig python3native gettext 
> features_check BBCLASSEXTEND = "native nativesdk" @@ -75,7 +73,13 @@ 
> EXTRA_OEMESON = " \ " EXTRA_OEMESON:append:class-target = " 
> ${@bb.utils.contains('PACKAGECONFIG', 'opencl', '-Dintel-clc=system', '', 
> d)}" -EXTRA_OEMESON:append:class-native = " 
> ${@bb.utils.contains('PACKAGECONFIG', 'opencl', '-Dintel-clc=enabled', '', 
> d)}" +EXTRA_OEMESON:append:class-native = " 
> ${@bb.utils.contains('PACKAGECONFIG', 'opencl', '-Dintel-clc=enabled 
> -Dgallium-rusticl=false', '', d)}" + +do_configure:prepend() { + sed -i 
> "s|@include@|${STAGING_INCDIR}|" 
> ${S}/src/gallium/frontends/rusticl/meson.build + sed -i 
> "s|@include_cpp@|${STAGING_INCDIR}\/c++\/14.1.0|" 
> ${S}/src/gallium/frontends/rusticl/meson.build + sed -i 
> "s|@include_cpp_target_sys@|${STAGING_INCDIR}\/c++\/14.1.0\/${TARGET_SYS}|" 
> ${S}/src/gallium/frontends/rusticl/meson.build +} def strip_comma(s): return 
> s.strip(',') @@ -142,9 +146,10 @@ PACKAGECONFIG[gles] = "-Dgles1=enabled 
> -Dgles2=enabled, -Dgles1=disabled -Dgles2 # "egl" requires "opengl" 
> PACKAGECONFIG[egl] = "-Degl=enabled, -Degl=disabled" -# "opencl" requires 
> libclc from meta-clang and spirv-tools from OE-Core -OPENCL_NATIVE = 
> "${@bb.utils.contains('PACKAGECONFIG', 'freedreno', '-Dopencl-native=true', 
> '', d)}" -PACKAGECONFIG[opencl] = "-Dgallium-opencl=icd -Dopencl-spirv=true 
> ${OPENCL_NATIVE},-Dgallium-opencl=disabled -Dopencl-spirv=false,libclc 
> spirv-tools python3-ply-native" +# "opencl-clover" requires libclc from 
> meta-clang +PACKAGECONFIG[opencl-clover] = "-Dgallium-opencl=icd 
> -Dopencl-spirv=true,-Dgallium-opencl=disabled -Dopencl-spirv=false,libclc 
> spirv-tools python3-ply-native" +# "opencl" requires libclc, bindgen-cli and 
> clang from meta-clang +PACKAGECONFIG[opencl] = "-Dgallium-opencl=disabled 
> -Dgallium-rusticl=true,-Dgallium-rusticl=false,libclc bindgen-cli-native 
> python3-ply-native clang" PACKAGECONFIG[broadcom] = "" PACKAGECONFIG[etnaviv] 
> = "" diff --git a/meta/recipes-graphics/mesa/mesa_24.0.7.bb 
> b/meta/recipes-graphics/mesa/mesa_24.1.3.bb similarity index 100% rename from 
> meta/recipes-graphics/mesa/mesa_24.0.7.bb rename to 
> meta/recipes-graphics/mesa/mesa_24.1.3.bb
> --
> 2.45.2
>
>
> 
>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#201815): 
https://lists.openembedded.org/g/openembedded-core/message/201815
Mute This Topic: https://lists.openembedded.org/mt/107178236/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to