From patchwork Fri Aug 22 12:53:07 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Quentin Schulz X-Patchwork-Id: 69041 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 26A28CA0FF0 for ; Fri, 22 Aug 2025 12:53:34 +0000 (UTC) Received: from smtp-42ae.mail.infomaniak.ch (smtp-42ae.mail.infomaniak.ch [84.16.66.174]) by mx.groups.io with SMTP id smtpd.web11.9373.1755867205257262961 for ; Fri, 22 Aug 2025 05:53:25 -0700 Authentication-Results: mx.groups.io; dkim=none (message not signed); spf=pass (domain: 0leil.net, ip: 84.16.66.174, mailfrom: foss+yocto@0leil.net) Received: from smtp-3-0000.mail.infomaniak.ch (unknown [IPv6:2001:1600:4:17::246b]) by smtp-3-3000.mail.infomaniak.ch (Postfix) with ESMTPS id 4c7g8z4xd6z9xk; Fri, 22 Aug 2025 14:53:23 +0200 (CEST) Received: from unknown by smtp-3-0000.mail.infomaniak.ch (Postfix) with ESMTPA id 4c7g8z1HH6zjh2; Fri, 22 Aug 2025 14:53:23 +0200 (CEST) From: Quentin Schulz Date: Fri, 22 Aug 2025 14:53:07 +0200 Subject: [PATCH v6 01/14] mesa-gl: make mesa-gl really openGL-only MIME-Version: 1.0 Message-Id: <20250822-mesa-libclc-panfrost-v6-1-393cf47e2fa2@cherry.de> References: <20250822-mesa-libclc-panfrost-v6-0-393cf47e2fa2@cherry.de> In-Reply-To: <20250822-mesa-libclc-panfrost-v6-0-393cf47e2fa2@cherry.de> To: openembedded-core@lists.openembedded.org Cc: Dmitry Baryshkov , Markus Volk , Trevor Woerner , Ross Burton , Otavio Salvador , Quentin Schulz X-Mailer: b4 0.14.2 X-Infomaniak-Routing: alpha List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Fri, 22 Aug 2025 12:53:34 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/222316 From: Quentin Schulz The ??= operator for PACKAGECONFIG doesn't actually do anything because the recipe includes mesa.inc which already sets this variable (with the = operator). This probably wasn't noticed until now because mesa-gl is likely only ever built in its target flavor which was already set correctly thanks to the :class-target override. This essentially only make mesa-gl-native and nativesdk-mesa-gl follow the same configuration as the target. Suggested-by: Dmitry Baryshkov Signed-off-by: Quentin Schulz --- meta/recipes-graphics/mesa/mesa-gl.bb | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/meta/recipes-graphics/mesa/mesa-gl.bb b/meta/recipes-graphics/mesa/mesa-gl.bb index e2f03c81c4588c6257ffec2892fef7fcbe9f82bf..35d6dc854cf4dfac7a757e333e25e4ddeab10b6e 100644 --- a/meta/recipes-graphics/mesa/mesa-gl.bb +++ b/meta/recipes-graphics/mesa/mesa-gl.bb @@ -9,6 +9,4 @@ S = "${UNPACKDIR}/mesa-${PV}" TARGET_CFLAGS = "-I${STAGING_INCDIR}/drm" # At least one DRI rendering engine is required to build mesa. -PACKAGECONFIG ??= "opengl gallium ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}" -PACKAGECONFIG:class-target = "opengl gallium ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}" - +PACKAGECONFIG = "opengl gallium ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}" From patchwork Fri Aug 22 12:53:08 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Quentin Schulz X-Patchwork-Id: 69040 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3FF73CA0FF5 for ; Fri, 22 Aug 2025 12:53:34 +0000 (UTC) Received: from smtp-8faa.mail.infomaniak.ch (smtp-8faa.mail.infomaniak.ch [83.166.143.170]) by mx.groups.io with SMTP id smtpd.web10.9396.1755867205732171911 for ; Fri, 22 Aug 2025 05:53:26 -0700 Authentication-Results: mx.groups.io; dkim=none (message not signed); spf=pass (domain: 0leil.net, ip: 83.166.143.170, mailfrom: foss+yocto@0leil.net) Received: from smtp-3-0000.mail.infomaniak.ch (unknown [IPv6:2001:1600:4:17::246b]) by smtp-3-3000.mail.infomaniak.ch (Postfix) with ESMTPS id 4c7g902R89zCx6; Fri, 22 Aug 2025 14:53:24 +0200 (CEST) Received: from unknown by smtp-3-0000.mail.infomaniak.ch (Postfix) with ESMTPA id 4c7g8z4x3XzSKx; Fri, 22 Aug 2025 14:53:23 +0200 (CEST) From: Quentin Schulz Date: Fri, 22 Aug 2025 14:53:08 +0200 Subject: [PATCH v6 02/14] mesa-gl: use bb.utils.filter to improve readability MIME-Version: 1.0 Message-Id: <20250822-mesa-libclc-panfrost-v6-2-393cf47e2fa2@cherry.de> References: <20250822-mesa-libclc-panfrost-v6-0-393cf47e2fa2@cherry.de> In-Reply-To: <20250822-mesa-libclc-panfrost-v6-0-393cf47e2fa2@cherry.de> To: openembedded-core@lists.openembedded.org Cc: Dmitry Baryshkov , Markus Volk , Trevor Woerner , Ross Burton , Otavio Salvador , Quentin Schulz , Khem Raj X-Mailer: b4 0.14.2 X-Infomaniak-Routing: alpha List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Fri, 22 Aug 2025 12:53:34 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/222317 From: Quentin Schulz ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}" is exactly the same as ${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} so use the latter to make it easier on the eyes. Suggested-by: Khem Raj Signed-off-by: Quentin Schulz --- meta/recipes-graphics/mesa/mesa-gl.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-graphics/mesa/mesa-gl.bb b/meta/recipes-graphics/mesa/mesa-gl.bb index 35d6dc854cf4dfac7a757e333e25e4ddeab10b6e..e11758767f02efd38e2d7b90738424b9ec825120 100644 --- a/meta/recipes-graphics/mesa/mesa-gl.bb +++ b/meta/recipes-graphics/mesa/mesa-gl.bb @@ -9,4 +9,4 @@ S = "${UNPACKDIR}/mesa-${PV}" TARGET_CFLAGS = "-I${STAGING_INCDIR}/drm" # At least one DRI rendering engine is required to build mesa. -PACKAGECONFIG = "opengl gallium ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}" +PACKAGECONFIG = "opengl gallium ${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" From patchwork Fri Aug 22 12:53:09 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Quentin Schulz X-Patchwork-Id: 69034 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id CB9DFCA0FE8 for ; Fri, 22 Aug 2025 12:53:33 +0000 (UTC) Received: from smtp-1908.mail.infomaniak.ch (smtp-1908.mail.infomaniak.ch [185.125.25.8]) by mx.groups.io with SMTP id smtpd.web10.9397.1755867206463420680 for ; Fri, 22 Aug 2025 05:53:26 -0700 Authentication-Results: mx.groups.io; dkim=none (message not signed); spf=pass (domain: 0leil.net, ip: 185.125.25.8, mailfrom: foss+yocto@0leil.net) Received: from smtp-3-0000.mail.infomaniak.ch (smtp-3-0000.mail.infomaniak.ch [10.4.36.107]) by smtp-3-3000.mail.infomaniak.ch (Postfix) with ESMTPS id 4c7g906S7gzB8Z; Fri, 22 Aug 2025 14:53:24 +0200 (CEST) Received: from unknown by smtp-3-0000.mail.infomaniak.ch (Postfix) with ESMTPA id 4c7g902Nj0zbVm; Fri, 22 Aug 2025 14:53:24 +0200 (CEST) From: Quentin Schulz Date: Fri, 22 Aug 2025 14:53:09 +0200 Subject: [PATCH v6 03/14] mesa: move PACKAGECONFIG defaults to recipes MIME-Version: 1.0 Message-Id: <20250822-mesa-libclc-panfrost-v6-3-393cf47e2fa2@cherry.de> References: <20250822-mesa-libclc-panfrost-v6-0-393cf47e2fa2@cherry.de> In-Reply-To: <20250822-mesa-libclc-panfrost-v6-0-393cf47e2fa2@cherry.de> To: openembedded-core@lists.openembedded.org Cc: Dmitry Baryshkov , Markus Volk , Trevor Woerner , Ross Burton , Otavio Salvador , Quentin Schulz X-Mailer: b4 0.14.2 X-Infomaniak-Routing: alpha List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Fri, 22 Aug 2025 12:53:33 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/222318 From: Quentin Schulz We're planning on reusing mesa.inc for a new mesa-tools-native recipe which will require much less in terms of PACKAGECONFIG than the actual mesa recipes. It also doesn't make a lot of sense to have a default PACKAGECONFIG in an include file inherited by multiple recipes (here mesa and mesa-gl) which is highlighted by the fact that the only other recipe that includes mesa.inc (mesa-gl) overrides PACKAGECONFIG (hence why mesa-gl only gets a partial migration of PACKAGECONFIG defaults. No intended change in behavior. Signed-off-by: Quentin Schulz --- meta/recipes-graphics/mesa/mesa-gl.bb | 5 +++++ meta/recipes-graphics/mesa/mesa.bb | 12 ++++++++++++ meta/recipes-graphics/mesa/mesa.inc | 13 ------------- 3 files changed, 17 insertions(+), 13 deletions(-) diff --git a/meta/recipes-graphics/mesa/mesa-gl.bb b/meta/recipes-graphics/mesa/mesa-gl.bb index e11758767f02efd38e2d7b90738424b9ec825120..d27d606875a5e143276356b9844634082c7354cb 100644 --- a/meta/recipes-graphics/mesa/mesa-gl.bb +++ b/meta/recipes-graphics/mesa/mesa-gl.bb @@ -10,3 +10,8 @@ TARGET_CFLAGS = "-I${STAGING_INCDIR}/drm" # At least one DRI rendering engine is required to build mesa. PACKAGECONFIG = "opengl gallium ${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" + +PACKAGECONFIG:append:x86 = " libclc gallium-llvm intel amd nouveau svga" +PACKAGECONFIG:append:x86-64 = " libclc gallium-llvm intel amd nouveau svga" +PACKAGECONFIG:append:i686 = " libclc gallium-llvm intel amd nouveau svga" +PACKAGECONFIG:append:class-native = " libclc gallium-llvm amd nouveau svga" diff --git a/meta/recipes-graphics/mesa/mesa.bb b/meta/recipes-graphics/mesa/mesa.bb index 96e8aa38d61661c02d2228d825f70cf41f985382..305b18070d6a47a53f204906a16bc8d4833fd9d6 100644 --- a/meta/recipes-graphics/mesa/mesa.bb +++ b/meta/recipes-graphics/mesa/mesa.bb @@ -1,2 +1,14 @@ require ${BPN}.inc +PACKAGECONFIG = " \ + gallium \ + video-codecs \ + ${@bb.utils.filter('DISTRO_FEATURES', 'x11 vulkan wayland glvnd', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl egl gles gbm virgl', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'vulkan', 'zink', '', d)} \ +" + +PACKAGECONFIG:append:x86 = " libclc gallium-llvm intel amd nouveau svga" +PACKAGECONFIG:append:x86-64 = " libclc gallium-llvm intel amd nouveau svga" +PACKAGECONFIG:append:i686 = " libclc gallium-llvm intel amd nouveau svga" +PACKAGECONFIG:append:class-native = " libclc gallium-llvm amd nouveau svga" diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc index a848a2ad8c73dad945039b5374c66e221b5b9a05..387f954789c603dac767ccf18ad60acb6731d35a 100644 --- a/meta/recipes-graphics/mesa/mesa.inc +++ b/meta/recipes-graphics/mesa/mesa.inc @@ -80,22 +80,9 @@ EXTRA_OEMESON = " \ def strip_comma(s): return s.strip(',') -PACKAGECONFIG = " \ - gallium \ - video-codecs \ - ${@bb.utils.filter('DISTRO_FEATURES', 'x11 vulkan wayland glvnd', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl egl gles gbm virgl', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'vulkan', 'zink', '', d)} \ -" - # skip all Rust dependencies if we are not building OpenCL" INHIBIT_DEFAULT_RUST_DEPS = "${@bb.utils.contains('PACKAGECONFIG', 'opencl', '', '1', d)}" -PACKAGECONFIG:append:x86 = " libclc gallium-llvm intel amd nouveau svga" -PACKAGECONFIG:append:x86-64 = " libclc gallium-llvm intel amd nouveau svga" -PACKAGECONFIG:append:i686 = " libclc gallium-llvm intel amd nouveau svga" -PACKAGECONFIG:append:class-native = " libclc gallium-llvm amd nouveau svga" - # "gbm" requires "opengl" PACKAGECONFIG[gbm] = "-Dgbm=enabled,-Dgbm=disabled" From patchwork Fri Aug 22 12:53:10 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Quentin Schulz X-Patchwork-Id: 69035 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 05138CA0FEC for ; Fri, 22 Aug 2025 12:53:34 +0000 (UTC) Received: from smtp-bc0a.mail.infomaniak.ch (smtp-bc0a.mail.infomaniak.ch [45.157.188.10]) by mx.groups.io with SMTP id smtpd.web10.9398.1755867206847895341 for ; Fri, 22 Aug 2025 05:53:27 -0700 Authentication-Results: mx.groups.io; dkim=none (message not signed); spf=pass (domain: 0leil.net, ip: 45.157.188.10, mailfrom: foss+yocto@0leil.net) Received: from smtp-3-0000.mail.infomaniak.ch (smtp-3-0000.mail.infomaniak.ch [10.4.36.107]) by smtp-3-3000.mail.infomaniak.ch (Postfix) with ESMTPS id 4c7g913G7FzBsP; Fri, 22 Aug 2025 14:53:25 +0200 (CEST) Received: from unknown by smtp-3-0000.mail.infomaniak.ch (Postfix) with ESMTPA id 4c7g906Y24zmk6; Fri, 22 Aug 2025 14:53:24 +0200 (CEST) From: Quentin Schulz Date: Fri, 22 Aug 2025 14:53:10 +0200 Subject: [PATCH v6 04/14] mesa: move PROVIDES out of include file MIME-Version: 1.0 Message-Id: <20250822-mesa-libclc-panfrost-v6-4-393cf47e2fa2@cherry.de> References: <20250822-mesa-libclc-panfrost-v6-0-393cf47e2fa2@cherry.de> In-Reply-To: <20250822-mesa-libclc-panfrost-v6-0-393cf47e2fa2@cherry.de> To: openembedded-core@lists.openembedded.org Cc: Dmitry Baryshkov , Markus Volk , Trevor Woerner , Ross Burton , Otavio Salvador , Quentin Schulz X-Mailer: b4 0.14.2 X-Infomaniak-Routing: alpha List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Fri, 22 Aug 2025 12:53:34 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/222319 From: Quentin Schulz There currently are two recipes including mesa.inc: mesa-gl and mesa. Because mesa-gl.bb already sets PROVIDES, overriding the value it should be getting from mesa.inc, move PROVIDES from mesa.inc to mesa.bb, keeping the value in mesa-gl.bb intact. Because GLPROVIDES is not used in mesa-gl.bb, it also is only moved to mesa.bb. No intended change in behavior. Signed-off-by: Quentin Schulz --- meta/recipes-graphics/mesa/mesa.bb | 11 +++++++++++ meta/recipes-graphics/mesa/mesa.inc | 10 ---------- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/meta/recipes-graphics/mesa/mesa.bb b/meta/recipes-graphics/mesa/mesa.bb index 305b18070d6a47a53f204906a16bc8d4833fd9d6..51d0384ef5930f36ff2f5c20ebad2d7ad8b817a9 100644 --- a/meta/recipes-graphics/mesa/mesa.bb +++ b/meta/recipes-graphics/mesa/mesa.bb @@ -12,3 +12,14 @@ PACKAGECONFIG:append:x86 = " libclc gallium-llvm intel amd nouveau svga" PACKAGECONFIG:append:x86-64 = " libclc gallium-llvm intel amd nouveau svga" PACKAGECONFIG:append:i686 = " libclc gallium-llvm intel amd nouveau svga" PACKAGECONFIG:append:class-native = " libclc gallium-llvm amd nouveau svga" + +GLPROVIDES = " \ + ${@bb.utils.contains('PACKAGECONFIG', 'opengl', 'virtual/libgl', '', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'gles', 'virtual/libgles1 virtual/libgles2 virtual/libgles3', '', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'egl', 'virtual/egl', '', d)} \ +" +PROVIDES = " \ + ${@bb.utils.contains('PACKAGECONFIG', 'glvnd', '', d.getVar('GLPROVIDES'), d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'gbm', 'virtual/libgbm', '', d)} \ + virtual/mesa \ +" diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc index 387f954789c603dac767ccf18ad60acb6731d35a..46fe465cd84ae9e799571d8c519a1d7933c716a6 100644 --- a/meta/recipes-graphics/mesa/mesa.inc +++ b/meta/recipes-graphics/mesa/mesa.inc @@ -40,16 +40,6 @@ do_install:append() { DEPENDS = "expat makedepend-native flex-native bison-native libxml2-native zlib chrpath-replacement-native python3-mako-native gettext-native python3-pyyaml-native" EXTRANATIVEPATH += "chrpath-native" -GLPROVIDES = " \ - ${@bb.utils.contains('PACKAGECONFIG', 'opengl', 'virtual/libgl', '', d)} \ - ${@bb.utils.contains('PACKAGECONFIG', 'gles', 'virtual/libgles1 virtual/libgles2 virtual/libgles3', '', d)} \ - ${@bb.utils.contains('PACKAGECONFIG', 'egl', 'virtual/egl', '', d)} \ -" -PROVIDES = " \ - ${@bb.utils.contains('PACKAGECONFIG', 'glvnd', '', d.getVar('GLPROVIDES'), d)} \ - ${@bb.utils.contains('PACKAGECONFIG', 'gbm', 'virtual/libgbm', '', d)} \ - virtual/mesa \ - " inherit meson pkgconfig python3native gettext features_check rust From patchwork Fri Aug 22 12:53:11 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Quentin Schulz X-Patchwork-Id: 69036 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1A97DCA0FEF for ; Fri, 22 Aug 2025 12:53:34 +0000 (UTC) Received: from smtp-8faa.mail.infomaniak.ch (smtp-8faa.mail.infomaniak.ch [83.166.143.170]) by mx.groups.io with SMTP id smtpd.web10.9399.1755867207439724064 for ; Fri, 22 Aug 2025 05:53:27 -0700 Authentication-Results: mx.groups.io; dkim=none (message not signed); spf=pass (domain: 0leil.net, ip: 83.166.143.170, mailfrom: foss+yocto@0leil.net) Received: from smtp-3-0000.mail.infomaniak.ch (unknown [IPv6:2001:1600:4:17::246b]) by smtp-3-3000.mail.infomaniak.ch (Postfix) with ESMTPS id 4c7g920Q9HzCSM; Fri, 22 Aug 2025 14:53:26 +0200 (CEST) Received: from unknown by smtp-3-0000.mail.infomaniak.ch (Postfix) with ESMTPA id 4c7g913pJQzlGt; Fri, 22 Aug 2025 14:53:25 +0200 (CEST) From: Quentin Schulz Date: Fri, 22 Aug 2025 14:53:11 +0200 Subject: [PATCH v6 05/14] mesa: move BBCLASSEXTEND out of the include file MIME-Version: 1.0 Message-Id: <20250822-mesa-libclc-panfrost-v6-5-393cf47e2fa2@cherry.de> References: <20250822-mesa-libclc-panfrost-v6-0-393cf47e2fa2@cherry.de> In-Reply-To: <20250822-mesa-libclc-panfrost-v6-0-393cf47e2fa2@cherry.de> To: openembedded-core@lists.openembedded.org Cc: Dmitry Baryshkov , Markus Volk , Trevor Woerner , Ross Burton , Otavio Salvador , Quentin Schulz X-Mailer: b4 0.14.2 X-Infomaniak-Routing: alpha List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Fri, 22 Aug 2025 12:53:34 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/222320 From: Quentin Schulz We're going to have a new mesa-tools-native recipe include mesa.inc soon. We don't need a target mesa-tools recipe for now so we'll go with a native-only recipe which this BBCLASSEXTEND prevents us to do properly, so let's move them to the recipes instead. No intended change in behavior. Signed-off-by: Quentin Schulz --- meta/recipes-graphics/mesa/mesa-gl.bb | 2 ++ meta/recipes-graphics/mesa/mesa.bb | 2 ++ meta/recipes-graphics/mesa/mesa.inc | 2 -- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/meta/recipes-graphics/mesa/mesa-gl.bb b/meta/recipes-graphics/mesa/mesa-gl.bb index d27d606875a5e143276356b9844634082c7354cb..4d71406b6dfbdd260ef61a7ab9427c70c47685f4 100644 --- a/meta/recipes-graphics/mesa/mesa-gl.bb +++ b/meta/recipes-graphics/mesa/mesa-gl.bb @@ -15,3 +15,5 @@ PACKAGECONFIG:append:x86 = " libclc gallium-llvm intel amd nouveau svga" PACKAGECONFIG:append:x86-64 = " libclc gallium-llvm intel amd nouveau svga" PACKAGECONFIG:append:i686 = " libclc gallium-llvm intel amd nouveau svga" PACKAGECONFIG:append:class-native = " libclc gallium-llvm amd nouveau svga" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-graphics/mesa/mesa.bb b/meta/recipes-graphics/mesa/mesa.bb index 51d0384ef5930f36ff2f5c20ebad2d7ad8b817a9..db5eab5fb27c6a7228f6e0fd823514352c42ad1f 100644 --- a/meta/recipes-graphics/mesa/mesa.bb +++ b/meta/recipes-graphics/mesa/mesa.bb @@ -23,3 +23,5 @@ PROVIDES = " \ ${@bb.utils.contains('PACKAGECONFIG', 'gbm', 'virtual/libgbm', '', d)} \ virtual/mesa \ " + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc index 46fe465cd84ae9e799571d8c519a1d7933c716a6..4c079fe0aba8125763f0a598d6e114082a8453ee 100644 --- a/meta/recipes-graphics/mesa/mesa.inc +++ b/meta/recipes-graphics/mesa/mesa.inc @@ -43,8 +43,6 @@ EXTRANATIVEPATH += "chrpath-native" inherit meson pkgconfig python3native gettext features_check rust -BBCLASSEXTEND = "native nativesdk" - ANY_OF_DISTRO_FEATURES = "opengl vulkan" PLATFORMS ??= "${@bb.utils.filter('PACKAGECONFIG', 'x11 wayland', d)}" From patchwork Fri Aug 22 12:53:12 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Quentin Schulz X-Patchwork-Id: 69038 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2027CCA0FEE for ; Fri, 22 Aug 2025 12:53:34 +0000 (UTC) Received: from smtp-190a.mail.infomaniak.ch (smtp-190a.mail.infomaniak.ch [185.125.25.10]) by mx.groups.io with SMTP id smtpd.web11.9374.1755867208213218002 for ; Fri, 22 Aug 2025 05:53:28 -0700 Authentication-Results: mx.groups.io; dkim=none (message not signed); spf=pass (domain: 0leil.net, ip: 185.125.25.10, mailfrom: foss+yocto@0leil.net) Received: from smtp-3-0000.mail.infomaniak.ch (unknown [IPv6:2001:1600:4:17::246b]) by smtp-3-3000.mail.infomaniak.ch (Postfix) with ESMTPS id 4c7g924BvBzBpw; Fri, 22 Aug 2025 14:53:26 +0200 (CEST) Received: from unknown by smtp-3-0000.mail.infomaniak.ch (Postfix) with ESMTPA id 4c7g920L33zlGv; Fri, 22 Aug 2025 14:53:26 +0200 (CEST) From: Quentin Schulz Date: Fri, 22 Aug 2025 14:53:12 +0200 Subject: [PATCH v6 06/14] mesa: assign S in include file MIME-Version: 1.0 Message-Id: <20250822-mesa-libclc-panfrost-v6-6-393cf47e2fa2@cherry.de> References: <20250822-mesa-libclc-panfrost-v6-0-393cf47e2fa2@cherry.de> In-Reply-To: <20250822-mesa-libclc-panfrost-v6-0-393cf47e2fa2@cherry.de> To: openembedded-core@lists.openembedded.org Cc: Dmitry Baryshkov , Markus Volk , Trevor Woerner , Ross Burton , Otavio Salvador , Quentin Schulz X-Mailer: b4 0.14.2 X-Infomaniak-Routing: alpha List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Fri, 22 Aug 2025 12:53:34 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/222321 From: Ross Burton Anything including mesa.inc will have the sources extracted in ${UNPACKDIR}/mesa-${PV}. The default for S is ${UNPACKDIR}/${BP}. ${BP} is ${BPN}-${PV}. Because mesa.bb is named mesa, BPN will be mesa and thus S wasn't required for mesa.bb but only for mesa-gl.bb. This also explains why this change is fine for mesa.bb as the value of S won't have changed, the ${BPN} part is now just hardcoded to "mesa" for mesa.bb instead. No intended change in behavior. Signed-off-by: Ross Burton [added commit log and title] Signed-off-by: Quentin Schulz --- meta/recipes-graphics/mesa/mesa-gl.bb | 2 -- meta/recipes-graphics/mesa/mesa.inc | 2 ++ 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/recipes-graphics/mesa/mesa-gl.bb b/meta/recipes-graphics/mesa/mesa-gl.bb index 4d71406b6dfbdd260ef61a7ab9427c70c47685f4..7b283415dd26a4dc73713a8bed1f794b02c979a9 100644 --- a/meta/recipes-graphics/mesa/mesa-gl.bb +++ b/meta/recipes-graphics/mesa/mesa-gl.bb @@ -4,8 +4,6 @@ SUMMARY += " (OpenGL only, no EGL/GLES)" PROVIDES = "virtual/libgl virtual/mesa" -S = "${UNPACKDIR}/mesa-${PV}" - TARGET_CFLAGS = "-I${STAGING_INCDIR}/drm" # At least one DRI rendering engine is required to build mesa. diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc index 4c079fe0aba8125763f0a598d6e114082a8453ee..45499f6c421e7fb0b06ef95179168c6cb9fff1cf 100644 --- a/meta/recipes-graphics/mesa/mesa.inc +++ b/meta/recipes-graphics/mesa/mesa.inc @@ -24,6 +24,8 @@ PV = "25.2.0" UPSTREAM_CHECK_GITTAGREGEX = "mesa-(?P\d+(\.\d+)+)" +S = "${UNPACKDIR}/mesa-${PV}" + #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() { From patchwork Fri Aug 22 12:53:13 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Quentin Schulz X-Patchwork-Id: 69043 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 39B59CA0FF3 for ; Fri, 22 Aug 2025 12:53:34 +0000 (UTC) Received: from smtp-42ae.mail.infomaniak.ch (smtp-42ae.mail.infomaniak.ch [84.16.66.174]) by mx.groups.io with SMTP id smtpd.web10.9400.1755867208649379602 for ; Fri, 22 Aug 2025 05:53:28 -0700 Authentication-Results: mx.groups.io; dkim=none (message not signed); spf=pass (domain: 0leil.net, ip: 84.16.66.174, mailfrom: foss+yocto@0leil.net) Received: from smtp-3-0000.mail.infomaniak.ch (smtp-3-0000.mail.infomaniak.ch [10.4.36.107]) by smtp-3-3000.mail.infomaniak.ch (Postfix) with ESMTPS id 4c7g931cHvzD0c; Fri, 22 Aug 2025 14:53:27 +0200 (CEST) Received: from unknown by smtp-3-0000.mail.infomaniak.ch (Postfix) with ESMTPA id 4c7g924jP9zjv3; Fri, 22 Aug 2025 14:53:26 +0200 (CEST) From: Quentin Schulz Date: Fri, 22 Aug 2025 14:53:13 +0200 Subject: [PATCH v6 07/14] mesa-gl: make recipe target only MIME-Version: 1.0 Message-Id: <20250822-mesa-libclc-panfrost-v6-7-393cf47e2fa2@cherry.de> References: <20250822-mesa-libclc-panfrost-v6-0-393cf47e2fa2@cherry.de> In-Reply-To: <20250822-mesa-libclc-panfrost-v6-0-393cf47e2fa2@cherry.de> To: openembedded-core@lists.openembedded.org Cc: Dmitry Baryshkov , Markus Volk , Trevor Woerner , Ross Burton , Otavio Salvador , Quentin Schulz X-Mailer: b4 0.14.2 X-Infomaniak-Routing: alpha List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Fri, 22 Aug 2025 12:53:34 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/222322 From: Quentin Schulz According to the introducing commit log[1] and Dmitry's recollection[2], the whole point of mesa-gl recipe is to provide GL library in case there are vendor-provided GLES libraries. Therefore, let's make this recipe target only by removing the BBCLASSEXTEND variable. No intended change in behavior for the target recipe. [1] https://git.yoctoproject.org/poky/commit/?id=015cb13a67c672de30f5384dab5ab4b8db305281 [2] https://lore.kernel.org/openembedded-core/5ebxxyvkcur3zpef5krvyizomgdgtls4qau7s2i2mgcmvs2loy@ilcud37qk6sn/ Suggested-by: Ross Burton Suggested-by: Dmitry Baryshkov Signed-off-by: Quentin Schulz --- meta/recipes-graphics/mesa/mesa-gl.bb | 3 --- 1 file changed, 3 deletions(-) diff --git a/meta/recipes-graphics/mesa/mesa-gl.bb b/meta/recipes-graphics/mesa/mesa-gl.bb index 7b283415dd26a4dc73713a8bed1f794b02c979a9..832137c8188f1253c9924e4c8410e5fae40f10fb 100644 --- a/meta/recipes-graphics/mesa/mesa-gl.bb +++ b/meta/recipes-graphics/mesa/mesa-gl.bb @@ -12,6 +12,3 @@ PACKAGECONFIG = "opengl gallium ${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} PACKAGECONFIG:append:x86 = " libclc gallium-llvm intel amd nouveau svga" PACKAGECONFIG:append:x86-64 = " libclc gallium-llvm intel amd nouveau svga" PACKAGECONFIG:append:i686 = " libclc gallium-llvm intel amd nouveau svga" -PACKAGECONFIG:append:class-native = " libclc gallium-llvm amd nouveau svga" - -BBCLASSEXTEND = "native nativesdk" From patchwork Fri Aug 22 12:53:14 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Quentin Schulz X-Patchwork-Id: 69042 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 39DF3CA0FF4 for ; Fri, 22 Aug 2025 12:53:34 +0000 (UTC) Received: from smtp-42ae.mail.infomaniak.ch (smtp-42ae.mail.infomaniak.ch [84.16.66.174]) by mx.groups.io with SMTP id smtpd.web11.9375.1755867209338038300 for ; Fri, 22 Aug 2025 05:53:29 -0700 Authentication-Results: mx.groups.io; dkim=none (message not signed); spf=pass (domain: 0leil.net, ip: 84.16.66.174, mailfrom: foss+yocto@0leil.net) Received: from smtp-3-0000.mail.infomaniak.ch (smtp-3-0000.mail.infomaniak.ch [10.4.36.107]) by smtp-3-3000.mail.infomaniak.ch (Postfix) with ESMTPS id 4c7g9369BRz97j; Fri, 22 Aug 2025 14:53:27 +0200 (CEST) Received: from unknown by smtp-3-0000.mail.infomaniak.ch (Postfix) with ESMTPA id 4c7g931lJvzl2G; Fri, 22 Aug 2025 14:53:27 +0200 (CEST) From: Quentin Schulz Date: Fri, 22 Aug 2025 14:53:14 +0200 Subject: [PATCH v6 08/14] mesa: add asahi to TOOLS when selected in PACKAGECONFIG MIME-Version: 1.0 Message-Id: <20250822-mesa-libclc-panfrost-v6-8-393cf47e2fa2@cherry.de> References: <20250822-mesa-libclc-panfrost-v6-0-393cf47e2fa2@cherry.de> In-Reply-To: <20250822-mesa-libclc-panfrost-v6-0-393cf47e2fa2@cherry.de> To: openembedded-core@lists.openembedded.org Cc: Dmitry Baryshkov , Markus Volk , Trevor Woerner , Ross Burton , Otavio Salvador , Quentin Schulz X-Mailer: b4 0.14.2 X-Infomaniak-Routing: alpha List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Fri, 22 Aug 2025 12:53:34 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/222323 From: Quentin Schulz Similarly to panfrost and other PACKAGECONFIG, mesa has tools for asahi. So let's build the tools whenever asked. While the tools are often built regardless of their presence in the "tools" mesa option whenever the appropriate gallium or vulkan driver is built, this allows to build the tool(s) without building the drivers which can be beneficial for native recipes where it makes little sense to build drivers. This will be useful for building asahi_clc precomp-compiler in native mesa for example which only builds if: - one enables the asahi gallium driver, or - one enables the asahi vulkan driver, or - one builds the asahi tools c.f. https://gitlab.freedesktop.org/mesa/mesa/-/blob/mesa-25.1.5/src/asahi/meson.build?ref_type=tags#L12-L17 Signed-off-by: Quentin Schulz --- meta/recipes-graphics/mesa/mesa.inc | 1 + 1 file changed, 1 insertion(+) diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc index 45499f6c421e7fb0b06ef95179168c6cb9fff1cf..81b099bf6e5fe624e91e6a780f8bb55854580c2d 100644 --- a/meta/recipes-graphics/mesa/mesa.inc +++ b/meta/recipes-graphics/mesa/mesa.inc @@ -100,6 +100,7 @@ PACKAGECONFIG[vulkan] = "-Dvulkan-drivers=${@strip_comma('${VULKAN_DRIVERS}')}, # mesa development and testing tools support, per driver TOOLS = "" TOOLS_DEPS = "" +TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'asahi', ',asahi', '', d)}" TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'etnaviv', ',etnaviv', '', d)}" TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}" TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'lima', ',lima', '', d)}" From patchwork Fri Aug 22 12:53:15 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Quentin Schulz X-Patchwork-Id: 69037 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 332B0CA0FF1 for ; Fri, 22 Aug 2025 12:53:34 +0000 (UTC) Received: from smtp-42ac.mail.infomaniak.ch (smtp-42ac.mail.infomaniak.ch [84.16.66.172]) by mx.groups.io with SMTP id smtpd.web11.9376.1755867209932935601 for ; Fri, 22 Aug 2025 05:53:30 -0700 Authentication-Results: mx.groups.io; dkim=none (message not signed); spf=pass (domain: 0leil.net, ip: 84.16.66.172, mailfrom: foss+yocto@0leil.net) Received: from smtp-3-0000.mail.infomaniak.ch (unknown [IPv6:2001:1600:4:17::246b]) by smtp-3-3000.mail.infomaniak.ch (Postfix) with ESMTPS id 4c7g942sWnz907; Fri, 22 Aug 2025 14:53:28 +0200 (CEST) Received: from unknown by smtp-3-0000.mail.infomaniak.ch (Postfix) with ESMTPA id 4c7g9365VFzjB3; Fri, 22 Aug 2025 14:53:27 +0200 (CEST) From: Quentin Schulz Date: Fri, 22 Aug 2025 14:53:15 +0200 Subject: [PATCH v6 09/14] mesa: allow to disable xmlconfig support MIME-Version: 1.0 Message-Id: <20250822-mesa-libclc-panfrost-v6-9-393cf47e2fa2@cherry.de> References: <20250822-mesa-libclc-panfrost-v6-0-393cf47e2fa2@cherry.de> In-Reply-To: <20250822-mesa-libclc-panfrost-v6-0-393cf47e2fa2@cherry.de> To: openembedded-core@lists.openembedded.org Cc: Dmitry Baryshkov , Markus Volk , Trevor Woerner , Ross Burton , Otavio Salvador , Quentin Schulz X-Mailer: b4 0.14.2 X-Infomaniak-Routing: alpha List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Fri, 22 Aug 2025 12:53:34 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/222324 From: Quentin Schulz From my understanding, xmlconfig is useful for "dynamic" driconf support, i.e. driconf the user specifies at runtime. According to the wiki[1], driconf is useful for OpenGL drivers. I wager we mostly don't need xmlconfig at all which may allow us to also get rid (in most cases) of the expat dependency. But that is an optimization to investigate later, so let's keep xmlconfig enabled for now as it is the default whenever the meson feature is not disabled (defaults to auto) and expat is found (currently part of DEPENDS in mesa.inc). This will be useful for mesa-tools-native which isn't meant to compile drivers and thus shouldn't try to compile driconf support and install driconf example files. Technically, xmlconfig depends on the expat meson feature (and the presence of the expat build dependency) but the feature is default auto so having expat dependency in xmlconfig PACKAGECONFIG seems enough instead of having one PACKAGECONFIG depend on another PACKAGECONFIG's presence. [1] https://dri.freedesktop.org/wiki/DriConf/ Signed-off-by: Quentin Schulz --- meta/recipes-graphics/mesa/mesa-gl.bb | 2 +- meta/recipes-graphics/mesa/mesa.bb | 1 + meta/recipes-graphics/mesa/mesa.inc | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/meta/recipes-graphics/mesa/mesa-gl.bb b/meta/recipes-graphics/mesa/mesa-gl.bb index 832137c8188f1253c9924e4c8410e5fae40f10fb..3b55d2b77e55b1297a1507a86aa16e6d15944983 100644 --- a/meta/recipes-graphics/mesa/mesa-gl.bb +++ b/meta/recipes-graphics/mesa/mesa-gl.bb @@ -7,7 +7,7 @@ PROVIDES = "virtual/libgl virtual/mesa" TARGET_CFLAGS = "-I${STAGING_INCDIR}/drm" # At least one DRI rendering engine is required to build mesa. -PACKAGECONFIG = "opengl gallium ${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" +PACKAGECONFIG = "opengl gallium ${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} xmlconfig" PACKAGECONFIG:append:x86 = " libclc gallium-llvm intel amd nouveau svga" PACKAGECONFIG:append:x86-64 = " libclc gallium-llvm intel amd nouveau svga" diff --git a/meta/recipes-graphics/mesa/mesa.bb b/meta/recipes-graphics/mesa/mesa.bb index db5eab5fb27c6a7228f6e0fd823514352c42ad1f..49e077b20cd254415c73a30040da76b5d25fd2f3 100644 --- a/meta/recipes-graphics/mesa/mesa.bb +++ b/meta/recipes-graphics/mesa/mesa.bb @@ -6,6 +6,7 @@ PACKAGECONFIG = " \ ${@bb.utils.filter('DISTRO_FEATURES', 'x11 vulkan wayland glvnd', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl egl gles gbm virgl', '', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'vulkan', 'zink', '', d)} \ + xmlconfig \ " PACKAGECONFIG:append:x86 = " libclc gallium-llvm intel amd nouveau svga" diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc index 81b099bf6e5fe624e91e6a780f8bb55854580c2d..4b1c11be55f7b3f54b5244674263b83a8703bc25 100644 --- a/meta/recipes-graphics/mesa/mesa.inc +++ b/meta/recipes-graphics/mesa/mesa.inc @@ -115,6 +115,7 @@ TOOLS_DEPS:append = "${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ' ncurse PACKAGECONFIG[freedreno-fdperf] = ",,libconfig" PACKAGECONFIG[tools] = "-Dtools=${@strip_comma('${TOOLS}')}, -Dtools='', ${TOOLS_DEPS}" +PACKAGECONFIG[xmlconfig] = "-Dxmlconfig=enabled, -Dxmlconfig=disabled, expat" PACKAGECONFIG[opengl] = "-Dopengl=true, -Dopengl=false" PACKAGECONFIG[glvnd] = "-Dglvnd=enabled, -Dglvnd=disabled, libglvnd" From patchwork Fri Aug 22 12:53:16 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Quentin Schulz X-Patchwork-Id: 69033 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id D91F4CA0FE9 for ; Fri, 22 Aug 2025 12:53:33 +0000 (UTC) Received: from smtp-8fa8.mail.infomaniak.ch (smtp-8fa8.mail.infomaniak.ch [83.166.143.168]) by mx.groups.io with SMTP id smtpd.web11.9377.1755867210414417978 for ; Fri, 22 Aug 2025 05:53:30 -0700 Authentication-Results: mx.groups.io; dkim=none (message not signed); spf=pass (domain: 0leil.net, ip: 83.166.143.168, mailfrom: foss+yocto@0leil.net) Received: from smtp-3-0000.mail.infomaniak.ch (smtp-3-0000.mail.infomaniak.ch [10.4.36.107]) by smtp-3-3000.mail.infomaniak.ch (Postfix) with ESMTPS id 4c7g946szkzBHp; Fri, 22 Aug 2025 14:53:28 +0200 (CEST) Received: from unknown by smtp-3-0000.mail.infomaniak.ch (Postfix) with ESMTPA id 4c7g942tLJzksf; Fri, 22 Aug 2025 14:53:28 +0200 (CEST) From: Quentin Schulz Date: Fri, 22 Aug 2025 14:53:16 +0200 Subject: [PATCH v6 10/14] mesa: avoid host paths poisoning MIME-Version: 1.0 Message-Id: <20250822-mesa-libclc-panfrost-v6-10-393cf47e2fa2@cherry.de> References: <20250822-mesa-libclc-panfrost-v6-0-393cf47e2fa2@cherry.de> In-Reply-To: <20250822-mesa-libclc-panfrost-v6-0-393cf47e2fa2@cherry.de> To: openembedded-core@lists.openembedded.org Cc: Dmitry Baryshkov , Markus Volk , Trevor Woerner , Ross Burton , Otavio Salvador , Quentin Schulz X-Mailer: b4 0.14.2 X-Infomaniak-Routing: alpha List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Fri, 22 Aug 2025 12:53:33 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/222325 From: Quentin Schulz At least panfrost and asahi drivers are prone to host paths poisoning due to unpatched __FILE__ macro in assert() of libcl. The compilation units for files including this file all are passed specific arguments via the cl_args meson variable which currently only contains one fmacro-prefix-map entry for relative paths. However, there are also absolute build and source paths that seem to make it to the generated files and libraries so this patches mesa to also strip those paths. Note that out of the four paths in the default DEBUG_PREFIX_MAP, only the source and build directories make it to the fmacro-prefix-map and they aren't mapped like they are when used with ffile-prefix-map in DEBUG_PREFIX_MAP as I'm not sure if it is at all possible for meson to fetch this Yocto-provided path we should be mapping to in the current mesa code base. I guess this is good enough for now. Signed-off-by: Quentin Schulz --- ...01-meson-fix-libcl-assert-reproducibility.patch | 43 ++++++++++++++++++++++ meta/recipes-graphics/mesa/mesa.inc | 1 + 2 files changed, 44 insertions(+) diff --git a/meta/recipes-graphics/mesa/files/0001-meson-fix-libcl-assert-reproducibility.patch b/meta/recipes-graphics/mesa/files/0001-meson-fix-libcl-assert-reproducibility.patch new file mode 100644 index 0000000000000000000000000000000000000000..118b52a22714594999f9c8d38a56b47afe4e4e66 --- /dev/null +++ b/meta/recipes-graphics/mesa/files/0001-meson-fix-libcl-assert-reproducibility.patch @@ -0,0 +1,43 @@ +From b9d43acde2d2e21d321e57d632cac199e41048ef Mon Sep 17 00:00:00 2001 +From: Quentin Schulz +Date: Thu, 21 Aug 2025 17:24:08 +0200 +Subject: [PATCH] meson: fix libcl assert() reproducibility + +The current -fmacro-prefix-map only handles removal of relative paths +but we still need to handle absolute paths. + +The following path can be found in libvulkan_panfrost.so when building +with Yocto for example: +/work/build/tmp/work/cortexa76-cortexa55-crypto-poky-linux/mesa/25.2.0/sources/mesa-25.2.0/src/panfrost/libpan/../../util/bitpack_helpers.h + +These paths currently seem to only appear in the binary in strings that +start with "Shader assertion fail at " which seems to indicate there are +calls to assert() with absolute paths as well as relative paths (which +are already patched with fmacro-prefix-map). + +By stripping the global source and build root directories from the paths +with -fmacro-prefix-map, we get rid of this reproducibility issue (which +incidentally makes the build fail due to buildpaths QA issue). + +Signed-off-by: Quentin Schulz + +Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36927] + +Signed-off-by: Quentin Schulz +--- + meson.build | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/meson.build b/meson.build +index 9cc75f6636e..d4779905020 100644 +--- a/meson.build ++++ b/meson.build +@@ -52,6 +52,8 @@ relative_dir = fs.relative_to(meson.global_source_root(), meson.global_build_roo + + cl_args = [ + '-fmacro-prefix-map=@0@/='.format(relative_dir), ++ '-fmacro-prefix-map=@0@/='.format(meson.global_source_root()), ++ '-fmacro-prefix-map=@0@/='.format(meson.global_build_root()), + + # Set the OpenCL standard to CL 2.0, enabling everything at a frontend. + # Drivers may not actually support everything but that's ok. diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc index 4b1c11be55f7b3f54b5244674263b83a8703bc25..beaf99b796f117ab4b7b10bf9c9ea57d65995ddb 100644 --- a/meta/recipes-graphics/mesa/mesa.inc +++ b/meta/recipes-graphics/mesa/mesa.inc @@ -17,6 +17,7 @@ PE = "2" SRC_URI = "https://archive.mesa3d.org/mesa-${PV}.tar.xz \ file://0001-meson-misdetects-64bit-atomics-on-mips-clang.patch \ file://0001-freedreno-don-t-encode-build-path-into-binaries.patch \ + file://0001-meson-fix-libcl-assert-reproducibility.patch \ " SRC_URI[sha256sum] = "7c726b21c074d14d31d253d638b741422f3c0a497ce7f1b4aaaa917d10bd8d4f" From patchwork Fri Aug 22 12:53:17 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Quentin Schulz X-Patchwork-Id: 69031 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id D924DCA0FEB for ; Fri, 22 Aug 2025 12:53:33 +0000 (UTC) Received: from smtp-190c.mail.infomaniak.ch (smtp-190c.mail.infomaniak.ch [185.125.25.12]) by mx.groups.io with SMTP id smtpd.web11.9378.1755867210985062121 for ; Fri, 22 Aug 2025 05:53:31 -0700 Authentication-Results: mx.groups.io; dkim=none (message not signed); spf=pass (domain: 0leil.net, ip: 185.125.25.12, mailfrom: foss+yocto@0leil.net) Received: from smtp-3-0000.mail.infomaniak.ch (unknown [IPv6:2001:1600:4:17::246b]) by smtp-3-3000.mail.infomaniak.ch (Postfix) with ESMTPS id 4c7g953xmGzBLp; Fri, 22 Aug 2025 14:53:29 +0200 (CEST) Received: from unknown by smtp-3-0000.mail.infomaniak.ch (Postfix) with ESMTPA id 4c7g9506m8zjs0; Fri, 22 Aug 2025 14:53:28 +0200 (CEST) From: Quentin Schulz Date: Fri, 22 Aug 2025 14:53:17 +0200 Subject: [PATCH v6 11/14] mesa: avoid host path poisoning when enabling OpenCL MIME-Version: 1.0 Message-Id: <20250822-mesa-libclc-panfrost-v6-11-393cf47e2fa2@cherry.de> References: <20250822-mesa-libclc-panfrost-v6-0-393cf47e2fa2@cherry.de> In-Reply-To: <20250822-mesa-libclc-panfrost-v6-0-393cf47e2fa2@cherry.de> To: openembedded-core@lists.openembedded.org Cc: Dmitry Baryshkov , Markus Volk , Trevor Woerner , Ross Burton , Otavio Salvador , Quentin Schulz X-Mailer: b4 0.14.2 X-Infomaniak-Routing: alpha List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Fri, 22 Aug 2025 12:53:33 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/222326 From: Quentin Schulz When enabling rusticl (and the shared-llvm meson feature via the gallium-llvm PACKAGECONFIG documented dependency), the clc headers are looked on the filesystem at runtime. Unfortunately, part of the lookup path contains LLVM_LIB_DIR, a variable derived from llvm_libdir meson variable. The latter is required to figure out where the clang/llvm libraries are for the cross-compiler but the former is used when running on the target. When in a cross-compiling environment, LLVM_LIB_DIR would actually point at a non-existing path (the sysroot path on the build host) instead of the target path. This sadly triggers a buildpaths QA error in addition of being incorrect. Another option is to bundle the clc headers directly inside the binary instead of looking them up at runtime, something we can do with mesa-clc-bundle-headers meson feature. So let's do that to fix the issue and buildpaths QA error. Suggested-by: Dmitry Baryshkov Signed-off-by: Quentin Schulz --- meta/recipes-graphics/mesa/mesa.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc index beaf99b796f117ab4b7b10bf9c9ea57d65995ddb..54af134c77e90938534db1b0009ec08272f271e0 100644 --- a/meta/recipes-graphics/mesa/mesa.inc +++ b/meta/recipes-graphics/mesa/mesa.inc @@ -129,7 +129,7 @@ PACKAGECONFIG[egl] = "-Degl=enabled, -Degl=disabled" # "opencl" also requires libclc and gallium-llvm to be present in PKGCONFIG! # Be sure to enable them both for the target and for the native build. -PACKAGECONFIG[opencl] = "-Dgallium-rusticl=true, -Dgallium-rusticl=false, bindgen-cli-native" +PACKAGECONFIG[opencl] = "-Dgallium-rusticl=true -Dmesa-clc-bundle-headers=enabled, -Dgallium-rusticl=false, bindgen-cli-native" PACKAGECONFIG[broadcom] = "" PACKAGECONFIG[etnaviv] = ",,python3-pycparser-native" From patchwork Fri Aug 22 12:53:18 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Quentin Schulz X-Patchwork-Id: 69032 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 00457CA0EFF for ; Fri, 22 Aug 2025 12:53:34 +0000 (UTC) Received: from smtp-190c.mail.infomaniak.ch (smtp-190c.mail.infomaniak.ch [185.125.25.12]) by mx.groups.io with SMTP id smtpd.web11.9379.1755867211636222216 for ; Fri, 22 Aug 2025 05:53:32 -0700 Authentication-Results: mx.groups.io; dkim=none (message not signed); spf=pass (domain: 0leil.net, ip: 185.125.25.12, mailfrom: foss+yocto@0leil.net) Received: from smtp-3-0000.mail.infomaniak.ch (unknown [IPv6:2001:1600:4:17::246b]) by smtp-3-3000.mail.infomaniak.ch (Postfix) with ESMTPS id 4c7g961RN2zCGn; Fri, 22 Aug 2025 14:53:30 +0200 (CEST) Received: from unknown by smtp-3-0000.mail.infomaniak.ch (Postfix) with ESMTPA id 4c7g954TvBzhRg; Fri, 22 Aug 2025 14:53:29 +0200 (CEST) From: Quentin Schulz Date: Fri, 22 Aug 2025 14:53:18 +0200 Subject: [PATCH v6 12/14] mesa: use simpler mesa-tools-native recipe as dependency for libclc MIME-Version: 1.0 Message-Id: <20250822-mesa-libclc-panfrost-v6-12-393cf47e2fa2@cherry.de> References: <20250822-mesa-libclc-panfrost-v6-0-393cf47e2fa2@cherry.de> In-Reply-To: <20250822-mesa-libclc-panfrost-v6-0-393cf47e2fa2@cherry.de> To: openembedded-core@lists.openembedded.org Cc: Dmitry Baryshkov , Markus Volk , Trevor Woerner , Ross Burton , Otavio Salvador , Quentin Schulz X-Mailer: b4 0.14.2 X-Infomaniak-Routing: alpha List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Fri, 22 Aug 2025 12:53:33 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/222327 From: Quentin Schulz libclc is required for some drivers (asahi, panfrost and intel at the very least). libclc brings very expensive dependencies such as llvm and clang. Building clang and llvm for each target architecture is very expensive, but mesa allows to depend on prebuilt host binaries (mesa-clc and precomp-compiler). Those are built by mesa as well, but can be compiled in mesa-native instead of mesa, making the dependency expensive but only once regardless of the number of target architectures to build for. Ideally the mesa-clc and precomp-compiler would only be compiled in mesa-native if target mesa requires libclc support, however this is not possible as a target recipe cannot impact or depend on a native recipe's configuration. We thus have two choices, always build libclc in mesa-native with its heavy dependencies and impact every build or force the user to modify the mesa-native recipe in a custom layer (as a native recipe cannot use target's OVERRIDES). The latter is unacceptable so the former seems to be the only option. Another big downside is that mesa-native currently builds drivers (amd, nouveau, svga) which we may have absolutely no interest in building, increasing the build time and possibly dependencies list). A third choice is to spin-off the native mesa recipe with libclc support into a new recipe without drivers and only what's necessary to build mesa-clc and precomp-compiler binaries. This allows to keep a "clean" mesa-native recipe for whoever needs those drivers built-in (e.g. for testing, for qemu-native, or whatever else) and only bring the libclc dependency when required by the target recipe. Because libclc is now only built for the host, opencl support now needs to explicitly bring libclc and others to build as libclc won't bring it in the build environment anymore. Suggested-by: Ross Burton Signed-off-by: Quentin Schulz --- meta/recipes-graphics/mesa/mesa-tools-native.bb | 19 +++++++++++++++++++ meta/recipes-graphics/mesa/mesa.inc | 15 ++++----------- 2 files changed, 23 insertions(+), 11 deletions(-) diff --git a/meta/recipes-graphics/mesa/mesa-tools-native.bb b/meta/recipes-graphics/mesa/mesa-tools-native.bb new file mode 100644 index 0000000000000000000000000000000000000000..dab1a037851cca6b33eae4b69a6a141fbbcd801b --- /dev/null +++ b/meta/recipes-graphics/mesa/mesa-tools-native.bb @@ -0,0 +1,19 @@ +require mesa.inc +inherit native + +SUMMARY += " (tools only)" + +PACKAGECONFIG = "tools asahi panfrost" +# llvm required for libclc +PACKAGECONFIG += "gallium-llvm" +# Doesn't compile without wayland-scanner if PLATFORMS has wayland in, and, +# doesn't compile at all if PLATFORMS is empty so add x11 and wayland +# to PACKAGECONFIG like in mesa.inc +PACKAGECONFIG += "${@bb.utils.filter('DISTRO_FEATURES', 'x11 wayland', d)}" + +DEPENDS += "libclc-native spirv-tools-native spirv-llvm-translator-native" + +EXTRA_OEMESON += " \ + -Dmesa-clc=enabled -Dinstall-mesa-clc=true -Dmesa-clc-bundle-headers=enabled \ + -Dprecomp-compiler=enabled -Dinstall-precomp-compiler=true \ +" diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc index 54af134c77e90938534db1b0009ec08272f271e0..b38386977da2a2fa2409afaef036cd2c09a0cdbf 100644 --- a/meta/recipes-graphics/mesa/mesa.inc +++ b/meta/recipes-graphics/mesa/mesa.inc @@ -127,9 +127,9 @@ PACKAGECONFIG[gles] = "-Dgles1=enabled -Dgles2=enabled, -Dgles1=disabled -Dgles2 # "egl" requires "opengl" PACKAGECONFIG[egl] = "-Degl=enabled, -Degl=disabled" -# "opencl" also requires libclc and gallium-llvm to be present in PKGCONFIG! -# Be sure to enable them both for the target and for the native build. -PACKAGECONFIG[opencl] = "-Dgallium-rusticl=true -Dmesa-clc-bundle-headers=enabled, -Dgallium-rusticl=false, bindgen-cli-native" +# "opencl" also requires gallium-llvm to be present in PACKAGECONFIG! +# Be sure to enable it for the target and for the native build. +PACKAGECONFIG[opencl] = "-Dgallium-rusticl=true -Dmesa-clc-bundle-headers=enabled, -Dgallium-rusticl=false, bindgen-cli-native libclc spirv-tools spirv-llvm-translator" PACKAGECONFIG[broadcom] = "" PACKAGECONFIG[etnaviv] = ",,python3-pycparser-native" @@ -168,16 +168,9 @@ GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'gallium-llvm', ' GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'amd', ',r600', '', d)}" GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'virgl', ',virgl', '', d)}" -MESA_CLC = "system" -MESA_CLC:class-native = "enabled" -INSTALL_MESA_CLC = "false" -INSTALL_MESA_CLC:class-native = "true" -MESA_NATIVE = "mesa-native" -MESA_NATIVE:class-native = "" - PACKAGECONFIG[gallium] = "-Dgallium-drivers=${@strip_comma('${GALLIUMDRIVERS}')}, -Dgallium-drivers='', libdrm" PACKAGECONFIG[gallium-llvm] = "-Dllvm=enabled -Dshared-llvm=enabled, -Dllvm=disabled, llvm llvm-native elfutils" -PACKAGECONFIG[libclc] = "-Dmesa-clc=${MESA_CLC} -Dinstall-mesa-clc=${INSTALL_MESA_CLC} -Dmesa-clc-bundle-headers=enabled,,libclc spirv-tools spirv-llvm-translator ${MESA_NATIVE}" +PACKAGECONFIG[libclc] = "-Dmesa-clc=system -Dprecomp-compiler=system,,mesa-tools-native" PACKAGECONFIG[va] = "-Dgallium-va=enabled,-Dgallium-va=disabled,libva-initial" PACKAGECONFIG[vdpau] = "-Dgallium-vdpau=enabled,-Dgallium-vdpau=disabled,libvdpau" From patchwork Fri Aug 22 12:53:19 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Quentin Schulz X-Patchwork-Id: 69039 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0E22CCA0FED for ; Fri, 22 Aug 2025 12:53:34 +0000 (UTC) Received: from smtp-bc0e.mail.infomaniak.ch (smtp-bc0e.mail.infomaniak.ch [45.157.188.14]) by mx.groups.io with SMTP id smtpd.web11.9380.1755867212167376568 for ; Fri, 22 Aug 2025 05:53:32 -0700 Authentication-Results: mx.groups.io; dkim=none (message not signed); spf=pass (domain: 0leil.net, ip: 45.157.188.14, mailfrom: foss+yocto@0leil.net) Received: from smtp-3-0000.mail.infomaniak.ch (unknown [IPv6:2001:1600:4:17::246b]) by smtp-3-3000.mail.infomaniak.ch (Postfix) with ESMTPS id 4c7g9650RBz95G; Fri, 22 Aug 2025 14:53:30 +0200 (CEST) Received: from unknown by smtp-3-0000.mail.infomaniak.ch (Postfix) with ESMTPA id 4c7g961N33zlxN; Fri, 22 Aug 2025 14:53:30 +0200 (CEST) From: Quentin Schulz Date: Fri, 22 Aug 2025 14:53:19 +0200 Subject: [PATCH v6 13/14] mesa: fix panfrost driver build MIME-Version: 1.0 Message-Id: <20250822-mesa-libclc-panfrost-v6-13-393cf47e2fa2@cherry.de> References: <20250822-mesa-libclc-panfrost-v6-0-393cf47e2fa2@cherry.de> In-Reply-To: <20250822-mesa-libclc-panfrost-v6-0-393cf47e2fa2@cherry.de> To: openembedded-core@lists.openembedded.org Cc: Dmitry Baryshkov , Markus Volk , Trevor Woerner , Ross Burton , Otavio Salvador , Quentin Schulz X-Mailer: b4 0.14.2 X-Infomaniak-Routing: alpha List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Fri, 22 Aug 2025 12:53:34 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/222328 From: Quentin Schulz Panfrost drivers require libclc, so let's force libclc to be present in the PACKAGECONFIG to build the drivers. Reported-by: Trevor Woerner Signed-off-by: Quentin Schulz --- meta/recipes-graphics/mesa/mesa.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc index b38386977da2a2fa2409afaef036cd2c09a0cdbf..6a586c55363959fa6bc4405f5d810d85ca307bf5 100644 --- a/meta/recipes-graphics/mesa/mesa.inc +++ b/meta/recipes-graphics/mesa/mesa.inc @@ -95,7 +95,7 @@ VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',fr VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'broadcom', ',broadcom', '', d)}" VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'gallium-llvm', '${VULKAN_DRIVERS_LLVM}', '', d)}" VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'imagination', ',imagination-experimental', '', d)}" -VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'panfrost', ',panfrost', '', d)}" +VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'panfrost libclc', ',panfrost', '', d)}" PACKAGECONFIG[vulkan] = "-Dvulkan-drivers=${@strip_comma('${VULKAN_DRIVERS}')}, -Dvulkan-drivers='',glslang-native vulkan-loader vulkan-headers" # mesa development and testing tools support, per driver @@ -185,7 +185,7 @@ PACKAGECONFIG[lima] = "" GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'lima', ',lima', '', d)}" PACKAGECONFIG[panfrost] = "" -GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'panfrost', ',panfrost', '', d)}" +GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'panfrost libclc', ',panfrost', '', d)}" PACKAGECONFIG[tegra] = "" GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'tegra', ',tegra,nouveau', '', d)}" From patchwork Fri Aug 22 12:53:20 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Quentin Schulz X-Patchwork-Id: 69030 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id BDAF1CA0EED for ; Fri, 22 Aug 2025 12:53:33 +0000 (UTC) Received: from smtp-42ac.mail.infomaniak.ch (smtp-42ac.mail.infomaniak.ch [84.16.66.172]) by mx.groups.io with SMTP id smtpd.web10.9402.1755867212820230859 for ; Fri, 22 Aug 2025 05:53:33 -0700 Authentication-Results: mx.groups.io; dkim=none (message not signed); spf=pass (domain: 0leil.net, ip: 84.16.66.172, mailfrom: foss+yocto@0leil.net) Received: from smtp-3-0000.mail.infomaniak.ch (unknown [IPv6:2001:1600:4:17::246b]) by smtp-3-3000.mail.infomaniak.ch (Postfix) with ESMTPS id 4c7g972Whrz88Q; Fri, 22 Aug 2025 14:53:31 +0200 (CEST) Received: from unknown by smtp-3-0000.mail.infomaniak.ch (Postfix) with ESMTPA id 4c7g965PfpzmLK; Fri, 22 Aug 2025 14:53:30 +0200 (CEST) From: Quentin Schulz Date: Fri, 22 Aug 2025 14:53:20 +0200 Subject: [PATCH v6 14/14] mesa: upgrade 25.2.0 -> 25.2.1 MIME-Version: 1.0 Message-Id: <20250822-mesa-libclc-panfrost-v6-14-393cf47e2fa2@cherry.de> References: <20250822-mesa-libclc-panfrost-v6-0-393cf47e2fa2@cherry.de> In-Reply-To: <20250822-mesa-libclc-panfrost-v6-0-393cf47e2fa2@cherry.de> To: openembedded-core@lists.openembedded.org Cc: Dmitry Baryshkov , Markus Volk , Trevor Woerner , Ross Burton , Otavio Salvador , Quentin Schulz X-Mailer: b4 0.14.2 X-Infomaniak-Routing: alpha List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Fri, 22 Aug 2025 12:53:33 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/222329 From: Quentin Schulz Changelog and sha256sum: https://docs.mesa3d.org/relnotes/25.2.1.html Signed-off-by: Quentin Schulz --- meta/recipes-graphics/mesa/mesa.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc index 6a586c55363959fa6bc4405f5d810d85ca307bf5..7d346f2fd1d786c5fa03e6874ed1aee2ba0ad00a 100644 --- a/meta/recipes-graphics/mesa/mesa.inc +++ b/meta/recipes-graphics/mesa/mesa.inc @@ -20,8 +20,8 @@ SRC_URI = "https://archive.mesa3d.org/mesa-${PV}.tar.xz \ file://0001-meson-fix-libcl-assert-reproducibility.patch \ " -SRC_URI[sha256sum] = "7c726b21c074d14d31d253d638b741422f3c0a497ce7f1b4aaaa917d10bd8d4f" -PV = "25.2.0" +SRC_URI[sha256sum] = "c124372189d35f48e049ee503029171c68962c580971cb86d968a6771c965ba4" +PV = "25.2.1" UPSTREAM_CHECK_GITTAGREGEX = "mesa-(?P\d+(\.\d+)+)"