On 02/12/2025 12:35, Quentin Schulz wrote:
Hi Dmitry,

On 12/2/25 1:49 AM, Dmitry Baryshkov via lists.openembedded.org wrote:
Upgrade Mesa to the latest release. Drop VDPAU tracker (dropped
upstream). Add support for ethosu and rocket Gallium drivers.


Thanks for doing that!

https://docs.mesa3d.org/relnotes/25.3.0.html for the release notes and checksum.

I'm wondering if we shouldn't add the buildpath QA check to upstream mesa's CI so that we don't have to patch things up for every release?

[...]

diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes- graphics/mesa/mesa.inc
index 420ba2032b67..106767476ccc 100644
--- a/meta/recipes-graphics/mesa/mesa.inc
+++ b/meta/recipes-graphics/mesa/mesa.inc
@@ -18,10 +18,12 @@ 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-gfxstream-don-t-dump-genvk.py-args-to- generated-file.patch \ +           file://0001-ethosu-drop-file-names-from-the-generated- file.patch \ +           file://0002-rocket-drop-file-names-from-the-generated- file.patch \
  "
-SRC_URI[sha256sum] = "bb6243e7a6f525febfa1e6ab50827ca4d4bfdad73812377b0ca9b6c50998b03e"
-PV = "25.2.5"
+SRC_URI[sha256sum] = "0fd54fea7dbbddb154df05ac752b18621f26d97e27863db3be951417c6abe8ae"
+PV = "25.3.0"

Can we first bump to 25.2.7?

We won't update mesa in whinlatter to 25.3.x I assume, so it'd be easier if we had a commit we could backport for whinlatter right now before the release (or right after for the first dot release).

  UPSTREAM_CHECK_GITTAGREGEX = "mesa-(?P<pver>\d+(\.\d+)+)"
@@ -104,12 +106,14 @@ PACKAGECONFIG[amd] = ""
  PACKAGECONFIG[asahi] = ""
  PACKAGECONFIG[broadcom] = ""
  PACKAGECONFIG[etnaviv] = ",,python3-pycparser-native"
+PACKAGECONFIG[ethosu] = ""
  PACKAGECONFIG[freedreno] = ""
  PACKAGECONFIG[imagination] = "-Dimagination-srv=true,-Dimagination- srv=false"
  PACKAGECONFIG[intel] = ""
  PACKAGECONFIG[lima] = ""
  PACKAGECONFIG[nouveau] = ""
  PACKAGECONFIG[panfrost] = ""
+PACKAGECONFIG[rockchip] = ""

I'm not sure about the naming here. Rockchip also has Lima-supported, Panfrost-supported, Panthor-supporter, Panvk-supported GPU in various SoCs. I would expect that when selecting rockchip it would enable support for "everything" one can find on SoCs from this vendor, which isn't necessarily a good thing (c.f. amd and intel bringing in too many drivers you may not be interested in).

Yeah, I was trying to find a balance between having a per-driver PACKAGECONFIG entries (which would be a nightmare for GL vs VK drivers) and just declaring a "vendor", which enables all drivers, even if one doesn't need it.

For Intel / AMD / NVIDIA it historically went somewhat okay, having just a single vendor config entry.


For ARM-based systems... you know. We have 'lima' for the oldest generation (gallium only), 'panfrost', which also enables panvk, now we are getting 'ethosu'. I was tempted to merge all of them into a single 'arm' entry.


I guess I would just name it rocket?

Why not. Ross, any opinion from your side?


  PACKAGECONFIG[svga] = ""
  PACKAGECONFIG[tegra] = ""
  PACKAGECONFIG[v3d] = ""
@@ -129,7 +133,7 @@ VULKAN_DRIVERS .= "${@bb.utils.contains('PACKAGECONFIG', 'asahi libclc gallium-l   VULKAN_DRIVERS .= "${@bb.utils.contains('PACKAGECONFIG', 'broadcom', ',broadcom', '', d)}"   VULKAN_DRIVERS .= "${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}"   VULKAN_DRIVERS .= "${@bb.utils.contains('PACKAGECONFIG', 'virtio', ',gfxstream', '', d)}" -VULKAN_DRIVERS .= "${@bb.utils.contains('PACKAGECONFIG', 'imagination', ',imagination-experimental', '', d)}" +VULKAN_DRIVERS .= "${@bb.utils.contains('PACKAGECONFIG', 'imagination', ',imagination', '', d)}"   VULKAN_DRIVERS .= "${@bb.utils.contains('PACKAGECONFIG', 'intel libclc gallium-llvm', ',intel', '', d)}"   VULKAN_DRIVERS .= "${@bb.utils.contains('PACKAGECONFIG', 'intel', ',intel_hasvk', '', d)}"   VULKAN_DRIVERS .= "${@bb.utils.contains('PACKAGECONFIG', 'panfrost libclc', ',panfrost', '', d)}"
@@ -171,6 +175,7 @@ GALLIUMDRIVERS = ""
  GALLIUMDRIVERS .= "${@bb.utils.contains('PACKAGECONFIG', 'asahi libclc gallium-llvm', ',asahi', '', d)}"   GALLIUMDRIVERS .= "${@bb.utils.contains('PACKAGECONFIG', 'intel', ',crocus', '', d)}"   GALLIUMDRIVERS .= "${@bb.utils.contains('PACKAGECONFIG', 'etnaviv', ',etnaviv', '', d)}" +GALLIUMDRIVERS .= "${@bb.utils.contains('PACKAGECONFIG', 'ethosu',

Note for myself: move this one line up.

',ethosu', '', d)}"
  GALLIUMDRIVERS .= "${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}"   GALLIUMDRIVERS .= "${@bb.utils.contains('PACKAGECONFIG', 'intel', ',i915', '', d)}"   GALLIUMDRIVERS .= "${@bb.utils.contains('PACKAGECONFIG', 'intel libclc gallium-llvm', ',iris', '', d)}" @@ -181,6 +186,7 @@ GALLIUMDRIVERS .= "${@bb.utils.contains('PACKAGECONFIG', 'panfrost libclc', ',pa   GALLIUMDRIVERS .= "${@bb.utils.contains('PACKAGECONFIG', 'amd gallium-llvm', ',r300', '', d)}"   GALLIUMDRIVERS .= "${@bb.utils.contains('PACKAGECONFIG', 'amd', ',r600', '', d)}"   GALLIUMDRIVERS .= "${@bb.utils.contains('PACKAGECONFIG', 'amd gallium-llvm', ',radeonsi', '', d)}" +GALLIUMDRIVERS .= "${@bb.utils.contains('PACKAGECONFIG', 'rockchip', ',rocket', '', d)}"

Only useful if you enable teflon support as well, so we need teflon in the PACKAGECONFIG check alongside rockchip (or rocket or whatever is the chosen name for this PACKAGECONFIG option).

Nice idea. And for ethosu too.


Haven't had the time yet to dig into the diff between 25.2.7 and 25.3.0 release, so I don't know if we've missed on something.

Cheers,
Quentin


--
With best wishes
Dmitry
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#227293): 
https://lists.openembedded.org/g/openembedded-core/message/227293
Mute This Topic: https://lists.openembedded.org/mt/116568929/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to