From: Antonios Christidis <a-christidis@ti.com>
To: Andrew Davis <afd@ti.com>, <reatmon@ti.com>, <denys@konsulko.com>
Cc: <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 10:45:45 -0500 [thread overview]
Message-ID: <32b1097c-3662-471f-bd85-8a2c8ff9deeb@ti.com> (raw)
In-Reply-To: <275ad764-f9c8-48f5-81f6-2b8559810837@ti.com>
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.
>> - 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)"
>>
>>
>>
>> -=-=-=-=-=-=-=-=-=-=-=-
>> Links: You receive all messages sent to this group.
>> View/Reply Online (#20055):
>> https://lists.yoctoproject.org/g/meta-ti/message/20055
>> Mute This Topic: https://lists.yoctoproject.org/mt/119942303/3619733
>> Group Owner: meta-ti+owner@lists.yoctoproject.org
>> Unsubscribe: https://lists.yoctoproject.org/g/meta-ti/unsub [afd@ti.com]
>> -=-=-=-=-=-=-=-=-=-=-=-
>>
>
next prev parent reply other threads:[~2026-06-23 15:46 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 [this message]
2026-06-23 15:56 ` Denys Dmytriyenko
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=32b1097c-3662-471f-bd85-8a2c8ff9deeb@ti.com \
--to=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.