From: Denys Dmytriyenko <denis@denix.org>
To: a-christidis@ti.com
Cc: Andrew Davis <afd@ti.com>,
reatmon@ti.com, denys@konsulko.com,
meta-ti@lists.yoctoproject.org
Subject: Re: [meta-ti][master/wrynose][PATCH v3 1/2] mesa-pvr: Add versioned mesa.inc copies from oe-core
Date: Tue, 23 Jun 2026 11:56:14 -0400 [thread overview]
Message-ID: <20260623155614.GA10186@denix.org> (raw)
In-Reply-To: <32b1097c-3662-471f-bd85-8a2c8ff9deeb@ti.com>
On Tue, Jun 23, 2026 at 10:45:45AM -0500, Antonios Christidis via lists.yoctoproject.org wrote:
>
> On 6/23/26 10:43 AM, Andrew Davis wrote:
> >On 6/23/26 10:03 AM, Antonios Christidis via
> >lists.yoctoproject.org wrote:
> >>From: Antonios Christidis <a-christidis@ti.com>
> >>
> >>Add local copies of mesa.inc from oe-core, renamed with version suffixes
> >>to avoid conflicts:
> >>
> >>- mesa-pvr-24.inc: verbatim copy for v24.0.1 (existing content, renamed)
> >
> >Why do this at all? You delete this file in the very next patch. And you
> >also make additional modifications to mesa-pvr-25.inc in the next patch
> >when you first make use of it. Why not just merge these two patches and
> >skip all this in-the-middle state?
> >
> >Andrew
> >
> Denys wanted to track the copy and paste from oe-core on a
> individual patch.
>
> Rather than my previous approach where everything was done in 1 patch.
Recommendation was to copy v25 from OE-Core as is, before making any changes
to it, so it's easy to review and track changes.
Now, the patch rather makes it backwards, as v25 is copied from v24 with 50%
similarity index, making this rather useless for the original purpose.
Why do you mix v24 and v25 in the same patch, confusing git into making wrong
diff?
And removing v24 in the next patch - shouldn't it stay for older BSPs?
> >>- mesa-pvr-25.inc: verbatim copy for v25.2.8 (new)
> >>
> >>The "-pvr" suffix follows the v24 naming convention. Major
> >>version numbers
> >>are appended to distinguish between the two.
> >>
> >>Signed-off-by: Antonios Christidis <a-christidis@ti.com>
> >>---
> >> .../mesa/{mesa-pvr.inc => mesa-pvr-24.inc} | 0
> >> .../mesa/{mesa-pvr.inc => mesa-pvr-25.inc} | 353 +++++++++---------
> >> .../recipes-graphics/mesa/mesa-pvr_24.0.1.bb | 2 +-
> >> 3 files changed, 168 insertions(+), 187 deletions(-)
> >> copy meta-ti-bsp/recipes-graphics/mesa/{mesa-pvr.inc =>
> >>mesa-pvr-24.inc} (100%)
> >> rename meta-ti-bsp/recipes-graphics/mesa/{mesa-pvr.inc =>
> >>mesa-pvr-25.inc} (50%)
> >>
> >>diff --git a/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr.inc
> >>b/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc
> >>similarity index 100%
> >>copy from meta-ti-bsp/recipes-graphics/mesa/mesa-pvr.inc
> >>copy to meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc
> >>diff --git a/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr.inc
> >>b/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-25.inc
> >>similarity index 50%
> >>rename from meta-ti-bsp/recipes-graphics/mesa/mesa-pvr.inc
> >>rename to meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-25.inc
> >>index 5ce93d27..af674c83 100644
> >>--- a/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr.inc
> >>+++ b/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-25.inc
> >>@@ -1,5 +1,4 @@
> >>-# Copy of mesa.inc from OE-core before commit f9eb0468e45e
> >>("mesa: upgrade 24.0.7 -> 25.0.2")
> >>-
> >>+# Verbatim copy of mesa.inc file from commit 2c0c7c3e5b71
> >> SUMMARY = "A free implementation of the OpenGL API"
> >> DESCRIPTION = "Mesa is an open-source implementation of the
> >>OpenGL specification - \
> >> a system for rendering interactive 3D graphics. \
> >>@@ -12,24 +11,22 @@ HOMEPAGE = "http://mesa3d.org"
> >> BUGTRACKER = "https://bugs.freedesktop.org"
> >> SECTION = "x11"
> >> LICENSE = "MIT"
> >>-LIC_FILES_CHKSUM =
> >>"file://docs/license.rst;md5=63779ec98d78d823a9dc533a0735ef10"
> >>+LIC_FILES_CHKSUM =
> >>"file://docs/license.rst;md5=ffe678546d4337b732cfd12262e6af11"
> >> PE = "2"
> >> SRC_URI = "https://archive.mesa3d.org/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-amd-Include-missing-llvm-IR-header-Module.h.patch \
> >>- file://0001-freedreno-don-t-encode-build-path-into-binaries.patch\
> >>+ file://0001-freedreno-don-t-encode-build-path-into-binaries.patch \
> >> "
> >> -SRC_URI[sha256sum] =
> >>"7454425f1ed4a6f1b5b107e1672b30c88b22ea0efea000ae2c7d96db93f6c26a"
> >>-PV = "24.0.7"
> >>+SRC_URI[sha256sum] =
> >>"097842f3e49d996868b38688db87b006f7d4541e93ce86d2f341d8b3e7be7c93"
> >>+PV = "25.2.8"
> >> UPSTREAM_CHECK_GITTAGREGEX = "mesa-(?P<pver>\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() {
> >>@@ -38,25 +35,18 @@ do_install:append() {
> >> if ${@bb.utils.contains('PACKAGECONFIG', 'egl', 'true',
> >>'false', d)} && [ -f ${D}${includedir}/EGL/eglplatform.h ]; then
> >> sed -i -e 's/^#elif defined(__unix__) &&
> >>defined(EGL_NO_X11)$/#elif defined(__unix__) \&\&
> >>defined(EGL_NO_X11) || ${@bb.utils.contains('PACKAGECONFIG',
> >>'x11', '0', '1', d)}/' ${D}${includedir}/EGL/eglplatform.h
> >> fi
> >>+ # These are ICDs, apps are not supposed to link against them
> >>+ if ${@bb.utils.contains('PACKAGECONFIG', 'glvnd', 'true',
> >>'false', d)} ; then
> >>+ rm -f ${D}${libdir}/libEGL_mesa.so ${D}${libdir}/libGLX_mesa.so
> >>+ fi
> >> }
> >> -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 = "expat makedepend-native flex-native bison-native
> >>libxml2-native zlib chrpath-replacement-native
> >>python3-mako-native gettext-native python3-pyyaml-native"
> >> EXTRANATIVEPATH += "chrpath-native"
> >>-PROVIDES = " \
> >>- ${@bb.utils.contains('PACKAGECONFIG', 'opengl',
> >>'virtual/libgl', '', d)} \
> >>- ${@bb.utils.contains('PACKAGECONFIG', 'glvnd',
> >>'virtual/libglx', '', d)} \
> >>- ${@bb.utils.contains('PACKAGECONFIG', 'gles',
> >>'virtual/libgles1 virtual/libgles2 virtual/libgles3', '', d)} \
> >>- ${@bb.utils.contains('PACKAGECONFIG', 'egl', 'virtual/egl',
> >>'', d)} \
> >>- ${@bb.utils.contains('PACKAGECONFIG', 'gbm',
> >>'virtual/libgbm', '', d)} \
> >>- virtual/mesa \
> >>- "
> >> -inherit meson pkgconfig python3native gettext features_check
> >>+inherit meson pkgconfig python3native gettext features_check rust
> >> -BBCLASSEXTEND = "native nativesdk"
> >>-
> >>-ANY_OF_DISTRO_FEATURES = "opengl vulkan"
> >>+ANY_OF_DISTRO_FEATURES = "opencl opengl vulkan"
> >> PLATFORMS ??= "${@bb.utils.filter('PACKAGECONFIG', 'x11
> >>wayland', d)}"
> >> @@ -74,141 +64,141 @@ def check_buildtype(d):
> >> MESON_BUILDTYPE = "${@check_buildtype(d)}"
> >> EXTRA_OEMESON = " \
> >>- -Dshared-glapi=enabled \
> >> -Dglx-read-only-text=true \
> >> -Dplatforms='${@",".join("${PLATFORMS}".split())}' \
> >> "
> >> -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)}"
> >>-
> >> def strip_comma(s):
> >> return s.strip(',')
> >> -PACKAGECONFIG = " \
> >>- gallium \
> >>- video-codecs \
> >>- ${@bb.utils.filter('DISTRO_FEATURES', 'x11 vulkan wayland', d)} \
> >>- ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl
> >>egl gles gbm virgl', '', d)} \
> >>- ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl',
> >>'dri3', '', d)} \
> >>- ${@bb.utils.contains('DISTRO_FEATURES', 'x11 vulkan',
> >>'dri3', '', 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:class-native = " gallium-llvm r600"
> >>+# "egl" requires "opengl"
> >>+PACKAGECONFIG[egl] = "-Degl=enabled, -Degl=disabled"
> >> # "gbm" requires "opengl"
> >> PACKAGECONFIG[gbm] = "-Dgbm=enabled,-Dgbm=disabled"
> >> -X11_DEPS = "xorgproto virtual/libx11 libxext libxxf86vm
> >>libxdamage libxfixes xrandr"
> >>+# "gles" requires "opengl"
> >>+PACKAGECONFIG[gles] = "-Dgles1=enabled -Dgles2=enabled,
> >>-Dgles1=disabled -Dgles2=disabled"
> >>+
> >>+PACKAGECONFIG[glvnd] = "-Dglvnd=enabled, -Dglvnd=disabled, libglvnd"
> >>+
> >>+PACKAGECONFIG[opengl] = "-Dopengl=true, -Dopengl=false"
> >>+
> >>+# "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 clang"
> >>+
> >>+X11_DEPS = "xorgproto virtual/libx11 libxext libxxf86vm
> >>libxdamage libxfixes xrandr xorgproto libxshmfence"
> >> # "x11" requires "opengl"
> >> PACKAGECONFIG[x11] = ",-Dglx=disabled,${X11_DEPS}"
> >> PACKAGECONFIG[wayland] = ",,wayland-native wayland libdrm
> >>wayland-protocols"
> >> -PACKAGECONFIG[dri3] = "-Ddri3=enabled, -Ddri3=disabled,
> >>xorgproto libxshmfence"
> >>+# Entries for GPU vendors.
> >>+# Some of the drivers might have extra dependencies (libclc,
> >>gallium-llvm).
> >>+# Check them in the individual driver settings in VULKAN_DRIVERS and
> >>+# GALLIUMDRIVERS.
> >>+PACKAGECONFIG[amd] = ""
> >>+PACKAGECONFIG[asahi] = ""
> >>+PACKAGECONFIG[broadcom] = ""
> >>+PACKAGECONFIG[etnaviv] = ",,python3-pycparser-native"
> >>+PACKAGECONFIG[freedreno] = ""
> >>+PACKAGECONFIG[imagination] =
> >>"-Dimagination-srv=true,-Dimagination-srv=false"
> >>+PACKAGECONFIG[intel] = ""
> >>+PACKAGECONFIG[lima] = ""
> >>+PACKAGECONFIG[nouveau] = ""
> >>+PACKAGECONFIG[panfrost] = ""
> >>+PACKAGECONFIG[svga] = ""
> >>+PACKAGECONFIG[tegra] = ""
> >>+PACKAGECONFIG[v3d] = ""
> >>+PACKAGECONFIG[vc4] = ""
> >>+PACKAGECONFIG[virgl] = ""
> >>+PACKAGECONFIG[zink] = ""
> >>+
> >>+
> >>+VULKAN_DRIVERS_SWRAST = ",swrast"
> >>+# Crashes on x32
> >>+VULKAN_DRIVERS_SWRAST:x86-x32 = ""
> >> -# Vulkan drivers need dri3 enabled
> >>-# amd could be enabled as well but requires gallium-llvm with
> >>llvm >= 3.9
> >>+# keep sorted by the driver name (rather than PKGCONFIG)
> >> VULKAN_DRIVERS = ""
> >>-VULKAN_DRIVERS:append:x86 = ",intel,amd"
> >>-VULKAN_DRIVERS:append:x86-64 = ",intel,amd"
> >>-# i686 is a 32 bit override for mesa-native
> >>-VULKAN_DRIVERS:append:i686 = ",intel,amd"
> >>-VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG',
> >>'freedreno', ',freedreno', '', d)}"
> >>-VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG',
> >>'broadcom', ',broadcom', '', d)}"
> >>-VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG',
> >>'gallium-llvm', ',swrast', '', d)}"
> >>-VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG',
> >>'imagination', ',imagination-experimental', '', d)}"
> >>+VULKAN_DRIVERS .= "${@bb.utils.contains('PACKAGECONFIG', 'amd
> >>gallium-llvm', ',amd', '', d)}"
> >>+VULKAN_DRIVERS .= "${@bb.utils.contains('PACKAGECONFIG', 'asahi
> >>libclc gallium-llvm', ',asahi', '', d)}"
> >>+VULKAN_DRIVERS .= "${@bb.utils.contains('PACKAGECONFIG',
> >>'broadcom', ',broadcom', '', d)}"
> >>+VULKAN_DRIVERS .= "${@bb.utils.contains('PACKAGECONFIG',
> >>'freedreno', ',freedreno', '', d)}"
> >>+VULKAN_DRIVERS .= "${@bb.utils.contains('PACKAGECONFIG',
> >>'imagination', ',imagination-experimental', '', d)}"
> >>+VULKAN_DRIVERS .= "${@bb.utils.contains('PACKAGECONFIG', 'intel
> >>libclc gallium-llvm', ',intel', '', d)}"
> >>+VULKAN_DRIVERS .= "${@bb.utils.contains('PACKAGECONFIG',
> >>'gallium-llvm', '${VULKAN_DRIVERS_SWRAST}', '', d)}"
> >>+VULKAN_DRIVERS .= "${@bb.utils.contains('PACKAGECONFIG',
> >>'panfrost libclc', ',panfrost', '', d)}"
> >>+
> >> PACKAGECONFIG[vulkan] =
> >>"-Dvulkan-drivers=${@strip_comma('${VULKAN_DRIVERS}')},
> >>-Dvulkan-drivers='',glslang-native vulkan-loader vulkan-headers"
> >>+PACKAGECONFIG[vulkan-beta] = "-Dvulkan-beta=true,-Dvulkan-beta=false"
> >> # mesa development and testing tools support, per driver
> >>+
> >>+# keep sorted by the driver name (rather than PKGCONFIG)
> >> TOOLS = ""
> >>-TOOLS_DEPS = ""
> >>-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)}"
> >>-TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG',
> >>'panfrost', ',panfrost', '', d)}"
> >>-TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG',
> >>'imagination', ',imagination', '', d)}"
> >>+TOOLS .= "${@bb.utils.contains('PACKAGECONFIG', 'asahi',
> >>',asahi', '', d)}"
> >>+TOOLS .= "${@bb.utils.contains('PACKAGECONFIG', 'etnaviv',
> >>',etnaviv', '', d)}"
> >>+TOOLS .= "${@bb.utils.contains('PACKAGECONFIG', 'freedreno',
> >>',freedreno', '', d)}"
> >>+TOOLS .= "${@bb.utils.contains('PACKAGECONFIG', 'imagination',
> >>',imagination', '', d)}"
> >>+TOOLS .= "${@bb.utils.contains('PACKAGECONFIG', 'lima',
> >>',lima', '', d)}"
> >>+TOOLS .= "${@bb.utils.contains('PACKAGECONFIG', 'panfrost',
> >>',panfrost', '', d)}"
> >> # dependencies for tools.
> >>-TOOLS_DEPS:append = "${@bb.utils.contains('PACKAGECONFIG',
> >>'freedreno', ' ncurses libxml2 ', '', d)}"
> >>+TOOLS_DEPS = "${@bb.utils.contains('PACKAGECONFIG',
> >>'freedreno', ' ncurses libxml2 ', '', d)}"
> >> # the fdperf tool requires libconfig (a part of meta-oe) so
> >>it needs special
> >> # treatment in addition to the usual 'freedreno tools'.
> >> PACKAGECONFIG[freedreno-fdperf] = ",,libconfig"
> >> PACKAGECONFIG[tools] = "-Dtools=${@strip_comma('${TOOLS}')},
> >>-Dtools='', ${TOOLS_DEPS}"
> >>-
> >>-PACKAGECONFIG[opengl] = "-Dopengl=true, -Dopengl=false"
> >>-PACKAGECONFIG[glvnd] = "-Dglvnd=true, -Dglvnd=false, libglvnd"
> >>-
> >>-# "gles" requires "opengl"
> >>-PACKAGECONFIG[gles] = "-Dgles1=enabled -Dgles2=enabled,
> >>-Dgles1=disabled -Dgles2=disabled"
> >>-
> >>-# "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"
> >>-
> >>-PACKAGECONFIG[broadcom] = ""
> >>-PACKAGECONFIG[etnaviv] = ",,python3-pycparser-native"
> >>-PACKAGECONFIG[freedreno] = ""
> >>-PACKAGECONFIG[kmsro] = ""
> >>-PACKAGECONFIG[vc4] = ""
> >>-PACKAGECONFIG[v3d] = ""
> >>-PACKAGECONFIG[zink] = ""
> >>-
> >>-GALLIUMDRIVERS = "swrast"
> >>-# gallium swrast was found to crash Xorg on startup in x32 qemu
> >>-GALLIUMDRIVERS:x86-x32 = ""
> >>-GALLIUMDRIVERS:append:x86 = ",i915,iris,crocus"
> >>-GALLIUMDRIVERS:append:x86-64 = ",i915,iris,crocus"
> >>-# i686 is a 32 bit override for mesa-native
> >>-GALLIUMDRIVERS:append:i686 = ",i915,iris,crocus"
> >>-
> >>-GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG',
> >>'etnaviv', ',etnaviv', '', d)}"
> >>-GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG',
> >>'freedreno', ',freedreno', '', d)}"
> >>-GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG',
> >>'kmsro', ',kmsro', '', d)}"
> >>-GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG',
> >>'vc4', ',vc4', '', d)}"
> >>-GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG',
> >>'v3d', ',v3d', '', d)}"
> >>-GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG',
> >>'zink', ',zink', '', d)}"
> >>-
> >>-# radeonsi requires LLVM
> >>-GALLIUMDRIVERS_RADEONSI =
> >>"${@bb.utils.contains('PACKAGECONFIG', 'r600', ',radeonsi', '',
> >>d)}"
> >>-GALLIUMDRIVERS_LLVM = ",r300,nouveau${GALLIUMDRIVERS_RADEONSI}"
> >>-GALLIUMDRIVERS_LLVM:append:x86 = ",svga"
> >>-GALLIUMDRIVERS_LLVM:append:x86-64 = ",svga"
> >>-# i686 is a 32 bit override for mesa-native
> >>-GALLIUMDRIVERS_LLVM:append:i686 = ",svga"
> >>-
> >>-PACKAGECONFIG[r600] = ""
> >>-PACKAGECONFIG[virgl] = ""
> >>-
> >>-GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG',
> >>'gallium-llvm', '${GALLIUMDRIVERS_LLVM}', '', d)}"
> >>-GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG',
> >>'r600', ',r600', '', d)}"
> >>-GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG',
> >>'virgl', ',virgl', '', d)}"
> >>+PACKAGECONFIG[xmlconfig] = "-Dxmlconfig=enabled,
> >>-Dxmlconfig=disabled, expat"
> >>+
> >>+GALLIUMDRIVERS_LLVMPIPE = ",llvmpipe"
> >>+GALLIUMDRIVERS_SOFTPIPE = ",softpipe"
> >>+# gallium softpipe and llvmpipe was found to crash Xorg on
> >>startup in x32 qemu
> >>+GALLIUMDRIVERS_LLVMPIPE:x86-x32 = ""
> >>+GALLIUMDRIVERS_SOFTPIPE:x86-x32 = ""
> >>+
> >>+# keep sorted by the driver name (rather than PKGCONFIG)
> >>+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',
> >>'freedreno', ',freedreno', '', d)}"
> >>+GALLIUMDRIVERS .= "${@bb.utils.contains('PACKAGECONFIG',
> >>'intel', ',i915', '', d)}"
> >>+GALLIUMDRIVERS .= "${@bb.utils.contains('PACKAGECONFIG', 'intel
> >>libclc gallium-llvm', ',iris', '', d)}"
> >>+GALLIUMDRIVERS .= "${@bb.utils.contains('PACKAGECONFIG',
> >>'lima', ',lima', '', d)}"
> >>+GALLIUMDRIVERS .= "${@bb.utils.contains('PACKAGECONFIG',
> >>'gallium-llvm', '${GALLIUMDRIVERS_LLVMPIPE}', '', d)}"
> >>+GALLIUMDRIVERS .= "${@bb.utils.contains('PACKAGECONFIG',
> >>'nouveau gallium-llvm', ',nouveau', '', d)}"
> >>+GALLIUMDRIVERS .= "${@bb.utils.contains('PACKAGECONFIG',
> >>'panfrost libclc', ',panfrost', '', d)}"
> >>+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 .= "${GALLIUMDRIVERS_SOFTPIPE}"
> >>+GALLIUMDRIVERS .= "${@bb.utils.contains('PACKAGECONFIG', 'svga
> >>gallium-llvm', ',svga', '', d)}"
> >>+GALLIUMDRIVERS .= "${@bb.utils.contains('PACKAGECONFIG',
> >>'tegra', ',tegra', '', d)}"
> >>+GALLIUMDRIVERS .= "${@bb.utils.contains('PACKAGECONFIG',
> >>'virgl', ',virgl', '', d)}"
> >>+GALLIUMDRIVERS .= "${@bb.utils.contains('PACKAGECONFIG', 'vc4',
> >>',vc4', '', d)}"
> >>+GALLIUMDRIVERS .= "${@bb.utils.contains('PACKAGECONFIG', 'v3d',
> >>',v3d', '', d)}"
> >>+GALLIUMDRIVERS .= "${@bb.utils.contains('PACKAGECONFIG',
> >>'zink', ',zink', '', d)}"
> >> 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[xa] = "-Dgallium-xa=enabled, -Dgallium-xa=disabled"
> >>-PACKAGECONFIG[va] =
> >>"-Dgallium-va=enabled,-Dgallium-va=disabled,libva-initial"
> >>-PACKAGECONFIG[vdpau] =
> >>"-Dgallium-vdpau=enabled,-Dgallium-vdpau=disabled,libvdpau"
> >>-
> >>-PACKAGECONFIG[imagination] =
> >>"-Dimagination-srv=true,-Dimagination-srv=false"
> >>-
> >>-PACKAGECONFIG[lima] = ""
> >>-GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG',
> >>'lima', ',lima', '', d)}"
> >> -PACKAGECONFIG[panfrost] = ""
> >>-GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG',
> >>'panfrost', ',panfrost', '', 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[tegra] = ""
> >>-GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG',
> >>'tegra', ',tegra,nouveau', '', d)}"
> >>-
> >>-PACKAGECONFIG[vulkan-beta] = "-Dvulkan-beta=true,-Dvulkan-beta=false"
> >>-
> >>-PACKAGECONFIG[osmesa] = "-Dosmesa=true,-Dosmesa=false"
> >>+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[va] =
> >>"-Dgallium-va=enabled,-Dgallium-va=disabled,libva-initial"
> >>+PACKAGECONFIG[vdpau] =
> >>"-Dgallium-vdpau=enabled,-Dgallium-vdpau=disabled,libvdpau"
> >> PACKAGECONFIG[perfetto] =
> >>"-Dperfetto=true,-Dperfetto=false,libperfetto"
> >> @@ -219,6 +209,8 @@ PACKAGECONFIG[lmsensors] =
> >>"-Dlmsensors=enabled,-Dlmsensors=disabled,lmsensors"
> >> VIDEO_CODECS ?=
> >>"${@bb.utils.contains('LICENSE_FLAGS_ACCEPTED', 'commercial',
> >>'all', 'all_free', d)}"
> >> PACKAGECONFIG[video-codecs] = "-Dvideo-codecs=${VIDEO_CODECS},
> >>-Dvideo-codecs=''"
> >> +PACKAGECONFIG[teflon] = "-Dteflon=true, -Dteflon=false"
> >>+
> >> # llvmpipe is slow if compiled with -fomit-frame-pointer (e.g. -O2)
> >> FULL_OPTIMIZATION:append = " -fno-omit-frame-pointer"
> >> @@ -237,75 +229,63 @@ RPROVIDES:libopencl-mesa += "virtual-opencl-icd"
> >> RPROVIDES:libgles2-mesa += "libgles3-mesa"
> >> RPROVIDES:libgles2-mesa-dev += "libgles3-mesa-dev"
> >> -RDEPENDS:libopencl-mesa +=
> >>"${@bb.utils.contains('PACKAGECONFIG', 'opencl', 'libclc
> >>spirv-tools', '', d)}"
> >>+RDEPENDS:libopencl-mesa +=
> >>"${@bb.utils.contains('PACKAGECONFIG', 'opencl', 'libclc', '',
> >>d)}"
> >> PACKAGES =+ "libegl-mesa libegl-mesa-dev \
> >>- libosmesa libosmesa-dev \
> >>+ libgallium \
> >> libgl-mesa libgl-mesa-dev \
> >> libglx-mesa libglx-mesa-dev \
> >> libglapi libglapi-dev \
> >> libgbm libgbm-dev \
> >> libgles1-mesa libgles1-mesa-dev \
> >> libgles2-mesa libgles2-mesa-dev \
> >>- libopencl-mesa libopencl-mesa-dev \
> >>- libxatracker libxatracker-dev \
> >>+ libopencl-mesa \
> >>+ libteflon \
> >> mesa-megadriver mesa-vulkan-drivers \
> >> mesa-vdpau-drivers mesa-tools \
> >> "
> >> -do_install:append () {
> >>- # Drivers never need libtool .la files
> >>- rm -f ${D}${libdir}/dri/*.la
> >>- rm -f ${D}${libdir}/egl/*.la
> >>- rm -f ${D}${libdir}/gallium-pipe/*.la
> >>- rm -f ${D}${libdir}/gbm/*.la
> >>-
> >>- # libwayland-egl has been moved to wayland 1.15+
> >>- rm -f ${D}${libdir}/libwayland-egl*
> >>- rm -f ${D}${libdir}/pkgconfig/wayland-egl.pc
> >>-}
> >>-
> >>-do_install:append:class-native () {
> >>- if ${@bb.utils.contains('PACKAGECONFIG', 'opencl', 'true',
> >>'false', d)}; then
> >>- install -d ${D}${bindir}
> >>- install -m0755 ${B}/src/intel/compiler/intel_clc ${D}${bindir}
> >>- fi
> >>-}
> >>-
> >> # For the packages that make up the OpenGL interfaces, inject
> >>variables so that
> >> # they don't get Debian-renamed (which would remove the -mesa
> >>suffix), and
> >> # RPROVIDEs/RCONFLICTs on the generic libgl name.
> >> python __anonymous() {
> >> pkgconfig = (d.getVar('PACKAGECONFIG') or "").split()
> >>+ mlprefix = d.getVar("MLPREFIX")
> >> suffix = ""
> >> if "-native" in d.getVar("PN"):
> >> suffix = "-native"
> >>- for p in (("egl", "libegl", "libegl1"),
> >>- ("opengl", "libgl", "libgl1"),
> >>- ("glvnd", "libglx",),
> >>- ("gles", "libgles1", "libglesv1-cm1"),
> >>- ("gles", "libgles2", "libglesv2-2", "libgles3"),
> >>- ("opencl", "libopencl",)):
> >>- if not p[0] in pkgconfig:
> >>- continue
> >>- mlprefix = d.getVar("MLPREFIX")
> >>- fullp = mlprefix + p[1] + "-mesa" + suffix
> >>- mlprefix = d.getVar("MLPREFIX")
> >>- pkgs = " " + " ".join(mlprefix + x + suffix for x in p[1:])
> >>- d.setVar("DEBIAN_NOAUTONAME:" + fullp, "1")
> >>- d.appendVar("RREPLACES:" + fullp, pkgs)
> >>- d.appendVar("RPROVIDES:" + fullp, pkgs)
> >>- d.appendVar("RCONFLICTS:" + fullp, pkgs)
> >> + for p in ("libegl", "libgl", "libglx", "libgles1",
> >>"libgles2", "libgles3", "libopencl"):
> >>+ fullp = mlprefix + p + "-mesa" + suffix
> >> d.appendVar("RRECOMMENDS:" + fullp, "
> >>${MLPREFIX}mesa-megadriver" + suffix)
> >> - # For -dev, the first element is both the Debian and
> >>original name
> >>- fullp = mlprefix + p[1] + "-mesa-dev" + suffix
> >>- pkgs = " " + mlprefix + p[1] + "-dev" + suffix
> >>- d.setVar("DEBIAN_NOAUTONAME:" + fullp, "1")
> >>- d.appendVar("RREPLACES:" + fullp, pkgs)
> >>- d.appendVar("RPROVIDES:" + fullp, pkgs)
> >>- d.appendVar("RCONFLICTS:" + fullp, pkgs)
> >>+ d.setVar("DEBIAN_NOAUTONAME:%slibopencl-mesa%s" %
> >>(mlprefix, suffix), "1")
> >>+
> >>+ if 'glvnd' in pkgconfig:
> >>+ for p in ("libegl", "libglx"):
> >>+ fullp = mlprefix + p + "-mesa" + suffix
> >>+ d.appendVar("RPROVIDES:" + fullp, ' virtual-%s-icd' % p)
> >>+ else:
> >>+ for p in (("egl", "libegl", "libegl1"),
> >>+ ("opengl", "libgl", "libgl1"),
> >>+ ("gles", "libgles1", "libglesv1-cm1"),
> >>+ ("gles", "libgles2", "libglesv2-2", "libgles3")):
> >>+ if not p[0] in pkgconfig:
> >>+ continue
> >>+ fullp = mlprefix + p[1] + "-mesa" + suffix
> >>+ pkgs = " " + " ".join(mlprefix + x + suffix for x in p[1:])
> >>+ d.setVar("DEBIAN_NOAUTONAME:" + fullp, "1")
> >>+ d.appendVar("RREPLACES:" + fullp, pkgs)
> >>+ d.appendVar("RPROVIDES:" + fullp, pkgs)
> >>+ d.appendVar("RCONFLICTS:" + fullp, pkgs)
> >>+
> >>+ # For -dev, the first element is both the Debian
> >>and original name
> >>+ fullp = mlprefix + p[1] + "-mesa-dev" + suffix
> >>+ pkgs = " " + mlprefix + p[1] + "-dev" + suffix
> >>+ d.setVar("DEBIAN_NOAUTONAME:" + fullp, "1")
> >>+ d.appendVar("RREPLACES:" + fullp, pkgs)
> >>+ d.appendVar("RPROVIDES:" + fullp, pkgs)
> >>+ d.appendVar("RCONFLICTS:" + fullp, pkgs)
> >> }
> >> python mesa_populate_packages() {
> >>@@ -327,9 +307,6 @@ python mesa_populate_packages() {
> >> d.appendVar("RPROVIDES:%s" % lib_name, pkg_name)
> >> d.appendVar("RCONFLICTS:%s" % lib_name, pkg_name)
> >> d.appendVar("RREPLACES:%s" % lib_name, pkg_name)
> >>-
> >>- pipe_drivers_root = os.path.join(d.getVar('libdir'),
> >>"gallium-pipe")
> >>- do_split_packages(d, pipe_drivers_root, r'^pipe_(.*)\.so$',
> >>'mesa-driver-pipe-%s', 'Mesa %s pipe driver', extra_depends='')
> >> }
> >> PACKAGESPLITFUNCS =+ "mesa_populate_packages"
> >>@@ -341,34 +318,38 @@ FILES:mesa-megadriver = "${libdir}/dri/*
> >>${datadir}/drirc.d"
> >> FILES:mesa-vulkan-drivers = "${libdir}/libvulkan_*.so
> >>${libdir}/libpowervr_rogue.so ${datadir}/vulkan"
> >> FILES:${PN}-vdpau-drivers = "${libdir}/vdpau/*.so.*"
> >> FILES:libegl-mesa = "${libdir}/libEGL*.so.*
> >>${datadir}/glvnd/egl_vendor.d"
> >>-FILES:libgbm = "${libdir}/libgbm.so.*"
> >>+FILES:libgbm = "${libdir}/libgbm.so.* ${libdir}/gbm/*_gbm.so"
> >>+FILES:libgallium = "${libdir}/libgallium-*.so"
> >> FILES:libgles1-mesa = "${libdir}/libGLESv1*.so.*"
> >> FILES:libgles2-mesa = "${libdir}/libGLESv2.so.*"
> >> FILES:libgl-mesa = "${libdir}/libGL.so.*"
> >> FILES:libglx-mesa = "${libdir}/libGLX*.so.*"
> >>-FILES:libopencl-mesa = "${libdir}/libMesaOpenCL.so.*
> >>${libdir}/gallium-pipe/*.so
> >>${sysconfdir}/OpenCL/vendors/mesa.icd"
> >>+FILES:libopencl-mesa = "${libdir}/lib*OpenCL.so*
> >>${sysconfdir}/OpenCL/vendors/*.icd"
> >> FILES:libglapi = "${libdir}/libglapi.so.*"
> >>-FILES:libosmesa = "${libdir}/libOSMesa.so.*"
> >>-FILES:libxatracker = "${libdir}/libxatracker.so.*"
> >> -FILES:${PN}-dev = "${libdir}/pkgconfig/dri.pc
> >>${includedir}/vulkan ${libdir}/vdpau/*.so"
> >>+FILES:${PN}-dev = "${libdir}/pkgconfig/dri.pc
> >>${includedir}/GL/internal/dri_interface.h ${includedir}/vulkan
> >>${libdir}/vdpau/*.so"
> >> FILES:libegl-mesa-dev = "${libdir}/libEGL*.* ${includedir}/EGL
> >>${includedir}/KHR ${libdir}/pkgconfig/egl.pc"
> >>-FILES:libgbm-dev = "${libdir}/libgbm.*
> >>${libdir}/pkgconfig/gbm.pc ${includedir}/gbm.h"
> >>-FILES:libgl-mesa-dev = "${libdir}/libGL.* ${includedir}/GL
> >>${libdir}/pkgconfig/gl.pc"
> >>-FILES:libglx-mesa-dev = "${libdir}/libGLX*.*"
> >>+FILES:libgbm-dev = "${libdir}/libgbm.*
> >>${libdir}/pkgconfig/gbm.pc ${includedir}/gbm.h
> >>${includedir}/gbm_backend_abi.h"
> >>+FILES:libgl-mesa-dev = "${libdir}/libGL.* ${includedir}/GL/*.h
> >>${libdir}/pkgconfig/gl.pc ${libdir}/pkgconfig/glx.pc"
> >> FILES:libglapi-dev = "${libdir}/libglapi.*"
> >> FILES:libgles1-mesa-dev = "${libdir}/libGLESv1*.*
> >>${includedir}/GLES ${libdir}/pkgconfig/glesv1*.pc"
> >> FILES:libgles2-mesa-dev = "${libdir}/libGLESv2.*
> >>${includedir}/GLES2 ${includedir}/GLES3
> >>${libdir}/pkgconfig/glesv2.pc"
> >>-FILES:libopencl-mesa-dev = "${libdir}/libMesaOpenCL.so"
> >>-FILES:libosmesa-dev = "${libdir}/libOSMesa.*
> >>${includedir}/GL/osmesa.h ${libdir}/pkgconfig/osmesa.pc"
> >>-FILES:libxatracker-dev = "${libdir}/libxatracker.so
> >>${libdir}/libxatracker.la \
> >>- ${includedir}/xa_tracker.h
> >>${includedir}/xa_composite.h ${includedir}/xa_context.h \
> >>- ${libdir}/pkgconfig/xatracker.pc"
> >>+FILES:libteflon = "${libdir}/libteflon.so"
> >> # catch all to get all the tools and data
> >> FILES:${PN}-tools = "${bindir} ${datadir}"
> >> ALLOW_EMPTY:${PN}-tools = "1"
> >> +# All DRI drivers are symlinks to libdril_dri.so
> >>+INSANE_SKIP:${PN}-megadriver += "dev-so"
> >>+
> >>+# OpenCL ICDs package also ship correspondig .so files, there
> >>is no -dev package
> >>+INSANE_SKIP:libopencl-mesa += "dev-so"
> >>+
> >> # Fix upgrade path from mesa to mesa-megadriver
> >> RREPLACES:mesa-megadriver = "mesa"
> >> RCONFLICTS:mesa-megadriver = "mesa"
> >> RPROVIDES:mesa-megadriver = "mesa"
> >>+
> >>+# As of May 2025 it is known that LTO breaks Mesa, for example:
> >>+# https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34318
> >>+LTO = ""
> >>diff --git
> >>a/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr_24.0.1.bb
> >>b/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr_24.0.1.bb
> >>index 8ec06800..2c20a538 100644
> >>--- a/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr_24.0.1.bb
> >>+++ b/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr_24.0.1.bb
> >>@@ -2,7 +2,7 @@
> >> # upstream yet. This allows us to build the shims we need
> >>without completely
> >> # clobbering mesa.
> >> -require recipes-graphics/mesa/mesa-pvr.inc
> >>+require recipes-graphics/mesa/mesa-pvr-24.inc
> >> SUMMARY += " (with PowerVR for TI parts)"
> >>
> >>
> >>
> >>
> >>
> >
next prev parent reply other threads:[~2026-06-23 15:56 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-23 15:03 [meta-ti][master/wrynose][PATH v3 0/2] mesa-pvr v24 -> v25 a-christidis
2026-06-23 15:03 ` [meta-ti][master/wrynose][PATCH v3 1/2] mesa-pvr: Add versioned mesa.inc copies from oe-core a-christidis
2026-06-23 15:43 ` Andrew Davis
2026-06-23 15:45 ` Antonios Christidis
2026-06-23 15:56 ` Denys Dmytriyenko [this message]
2026-06-23 16:11 ` Ryan Eatmon
2026-06-23 15:03 ` [meta-ti][master/wrynose][PATCH v3 2/2] mesa-pvr: Migrate mesa from v24.0.1 -> v25.2.8 a-christidis
2026-06-23 15:05 ` [meta-ti][master/wrynose][PATH v3 0/2] mesa-pvr v24 -> v25 PRC Automation
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260623155614.GA10186@denix.org \
--to=denis@denix.org \
--cc=a-christidis@ti.com \
--cc=afd@ti.com \
--cc=denys@konsulko.com \
--cc=meta-ti@lists.yoctoproject.org \
--cc=reatmon@ti.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.