diff mbox series

[meta-ti,wrynose/master,V2] mesa-pvr: Migration from v24.0.1 -> v25.2.8

Message ID 20260610225153.154945-1-a-christidis@ti.com
State New
Headers show
Series [meta-ti,wrynose/master,V2] mesa-pvr: Migration from v24.0.1 -> v25.2.8 | expand

Commit Message

Antonios Christidis June 10, 2026, 10:51 p.m. UTC
From: Antonios Christidis <a-christidis@ti.com>

Migrate to a new version of Mesa (v25.2.8) for only Rogue GPU devices.
The interface for SGX devices is not ready in the v25 fork. Due to
this, still keep all of the v24 recipes.

The right version of mesa will be picked up with the help of
BSP_MESA_PVR_VERSION and COMPATIBLE_MACHINE (set on a per recipe
basis).

Copy over the main inc (also version 25.2.8) file from oe-core to be
included in mesa-pvr v25.2.8 builds. This is the general flow that was
done for mesa-pvr v24.0.1.

Due to the way oe-core's v25.2.8 mesa.inc recipe works, expects the
recipe that inherits it to setup all the PACKAGECONFIG variable append
logic. This is different from the v24.0.1 flow, which has all of that
logic as part of the inc file. So for mesa-pvr set that logic within
the main recipe file.

In regards to patches, there are 3 points/sources: 1) oe-core v24
recipe patches 2) oe-core v25 recipe patches 3) TI exclusive ones that
are added on top of oe-core v24

Point 1 is already handled by the oe-core process. Regarding point 2
patches, one is already present within the src and the other is being
carried by the new recipe. The patches from point 3 are already
included in this version of mesa.

Signed-off-by: Antonios Christidis <a-christidis@ti.com>
---
v2:
- Rebase on wrynose-next
- Add support for master branch in subject prefix tags 
 
 meta-ti-bsp/conf/machine/include/ti-bsp.inc   |   5 +-
 .../mesa/{mesa-pvr.inc => mesa-pvr-24.inc}    |   0
 ...sdetects-64bit-atomics-on-mips-clang.patch |  24 ++
 .../recipes-graphics/mesa/mesa-pvr-25.inc     | 356 ++++++++++++++++++
 .../recipes-graphics/mesa/mesa-pvr_24.0.1.bb  |   4 +-
 .../recipes-graphics/mesa/mesa-pvr_25.2.8.bb  |  60 +++
 6 files changed, 447 insertions(+), 2 deletions(-)
 rename meta-ti-bsp/recipes-graphics/mesa/{mesa-pvr.inc => mesa-pvr-24.inc} (100%)
 create mode 100644 meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-25.2.8/0001-meson-misdetects-64bit-atomics-on-mips-clang.patch
 create mode 100644 meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-25.inc
 create mode 100644 meta-ti-bsp/recipes-graphics/mesa/mesa-pvr_25.2.8.bb

Comments

PRC Automation June 10, 2026, 10:55 p.m. UTC | #1
meta-ti / na / 20260610225153.154945-1-a-christidis

PRC Results: FAIL

=========================================================
  check-yocto-patches: PASS
=========================================================
Patches
----------------------------------------
All patches passed



=========================================================
  apply-yocto-patch: PASS
=========================================================
wrynose
=====================
Summary:
- Patch Series: [meta-ti][wrynose/master][PATCH V2] mesa-pvr: Migration from v24.0.1 -> v25.2.8
- Submitter: From: <a-christidis@ti.com>
From: Antonios Christidis <a-christidis@ti.com>
+From: Khem Raj <raj.khem@gmail.com>
- Date: Date: Wed, 10 Jun 2026 17:51:53 -0500
+Date: Mon, 13 Jan 2020 15:23:47 -0800
- Num Patches: 1
- Mailing List (public inbox) Commit SHA: 597a7c94355990e9d49ba59d995f90c009682575

Applied to:
- Repository: lcpd-prc-meta-ti
- Base Branch: wrynose-wip
- Commit Author: Judith Mendez <jm@ti.com>
- Commit Subject: conf: am62dxx-evm: Fixup packaged overlay list
- Commit SHA: b5f503ddbff2cdd22d86cfb6769ebbcc11f1e60e

Patches
----------------------------------------
All patches applied

master
=====================
Summary:
- Patch Series: [meta-ti][wrynose/master][PATCH V2] mesa-pvr: Migration from v24.0.1 -> v25.2.8
- Submitter: From: <a-christidis@ti.com>
From: Antonios Christidis <a-christidis@ti.com>
+From: Khem Raj <raj.khem@gmail.com>
- Date: Date: Wed, 10 Jun 2026 17:51:53 -0500
+Date: Mon, 13 Jan 2020 15:23:47 -0800
- Num Patches: 1
- Mailing List (public inbox) Commit SHA: 597a7c94355990e9d49ba59d995f90c009682575

Applied to:
- Repository: lcpd-prc-meta-ti
- Base Branch: master-next
- Commit Author: Denys Dmytriyenko (TI) <denys@konsulko.com>
- Commit Subject: meta-beagle: linux-bb.org: upgrade 6.12.43 -> 6.12.57
- Commit SHA: dd0f9863bd65467d689ec895d96b386a034df660

Patches
----------------------------------------
All patches applied



=========================================================
  check-yocto-repo: FAIL
=========================================================
wrynose
=====================
FAIL
    WARN: You might need a " " as the first character for the :append. (APPEND-2)
        meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:117
            VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}"
    
    WARN: You might need a " " as the first character for the :append. (APPEND-2)
        meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:118
            VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'broadcom', ',broadcom', '', d)}"
    
    WARN: You might need a " " as the first character for the :append. (APPEND-2)
        meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:119
            VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'gallium-llvm', ',swrast', '', d)}"
    
    WARN: You might need a " " as the first character for the :append. (APPEND-2)
        meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:120
            VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'imagination', ',imagination-experimental', '', d)}"
    
    WARN: You might need a " " as the first character for the :append. (APPEND-2)
        meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:126
            TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'etnaviv', ',etnaviv', '', d)}"
    
    WARN: You might need a " " as the first character for the :append. (APPEND-2)
        meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:127
            TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}"
    
    WARN: You might need a " " as the first character for the :append. (APPEND-2)
        meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:128
            TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'lima', ',lima', '', d)}"
    
    WARN: You might need a " " as the first character for the :append. (APPEND-2)
        meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:129
            TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'panfrost', ',panfrost', '', d)}"
    
    WARN: You might need a " " as the first character for the :append. (APPEND-2)
        meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:130
            TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'imagination', ',imagination', '', d)}"
    
    WARN: You might need a " " as the first character for the :append. (APPEND-2)
        meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:133
            TOOLS_DEPS:append = "${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ' ncurses libxml2 ', '', d)}"
    
    WARN: You might need a " " as the first character for the :append. (APPEND-2)
        meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:170
            GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'etnaviv', ',etnaviv', '', d)}"
    
    WARN: You might need a " " as the first character for the :append. (APPEND-2)
        meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:171
            GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}"
    
    WARN: You might need a " " as the first character for the :append. (APPEND-2)
        meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:172
            GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'kmsro', ',kmsro', '', d)}"
    
    WARN: You might need a " " as the first character for the :append. (APPEND-2)
        meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:173
            GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'vc4', ',vc4', '', d)}"
    
    WARN: You might need a " " as the first character for the :append. (APPEND-2)
        meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:174
            GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'v3d', ',v3d', '', d)}"
    
    WARN: You might need a " " as the first character for the :append. (APPEND-2)
        meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:175
            GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'zink', ',zink', '', d)}"
    
    WARN: You might need a " " as the first character for the :append. (APPEND-2)
        meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:188
            GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'gallium-llvm', '${GALLIUMDRIVERS_LLVM}', '', d)}"
    
    WARN: You might need a " " as the first character for the :append. (APPEND-2)
        meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:189
            GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'r600', ',r600', '', d)}"
    
    WARN: You might need a " " as the first character for the :append. (APPEND-2)
        meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:190
            GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'virgl', ',virgl', '', d)}"
    
    WARN: You might need a " " as the first character for the :append. (APPEND-2)
        meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:201
            GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'lima', ',lima', '', d)}"
    
    WARN: You might need a " " as the first character for the :append. (APPEND-2)
        meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:204
            GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'panfrost', ',panfrost', '', d)}"
    
    WARN: You might need a " " as the first character for the :append. (APPEND-2)
        meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:207
            GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'tegra', ',tegra,nouveau', '', d)}"
    
    For details on the above errors/warnings visit: https://lists.yoctoproject.org/g/meta-ti/wiki/40887

master
=====================
FAIL
    WARN: You might need a " " as the first character for the :append. (APPEND-2)
        meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:117
            VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}"
    
    WARN: You might need a " " as the first character for the :append. (APPEND-2)
        meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:118
            VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'broadcom', ',broadcom', '', d)}"
    
    WARN: You might need a " " as the first character for the :append. (APPEND-2)
        meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:119
            VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'gallium-llvm', ',swrast', '', d)}"
    
    WARN: You might need a " " as the first character for the :append. (APPEND-2)
        meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:120
            VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'imagination', ',imagination-experimental', '', d)}"
    
    WARN: You might need a " " as the first character for the :append. (APPEND-2)
        meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:126
            TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'etnaviv', ',etnaviv', '', d)}"
    
    WARN: You might need a " " as the first character for the :append. (APPEND-2)
        meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:127
            TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}"
    
    WARN: You might need a " " as the first character for the :append. (APPEND-2)
        meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:128
            TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'lima', ',lima', '', d)}"
    
    WARN: You might need a " " as the first character for the :append. (APPEND-2)
        meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:129
            TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'panfrost', ',panfrost', '', d)}"
    
    WARN: You might need a " " as the first character for the :append. (APPEND-2)
        meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:130
            TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'imagination', ',imagination', '', d)}"
    
    WARN: You might need a " " as the first character for the :append. (APPEND-2)
        meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:133
            TOOLS_DEPS:append = "${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ' ncurses libxml2 ', '', d)}"
    
    WARN: You might need a " " as the first character for the :append. (APPEND-2)
        meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:170
            GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'etnaviv', ',etnaviv', '', d)}"
    
    WARN: You might need a " " as the first character for the :append. (APPEND-2)
        meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:171
            GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}"
    
    WARN: You might need a " " as the first character for the :append. (APPEND-2)
        meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:172
            GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'kmsro', ',kmsro', '', d)}"
    
    WARN: You might need a " " as the first character for the :append. (APPEND-2)
        meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:173
            GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'vc4', ',vc4', '', d)}"
    
    WARN: You might need a " " as the first character for the :append. (APPEND-2)
        meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:174
            GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'v3d', ',v3d', '', d)}"
    
    WARN: You might need a " " as the first character for the :append. (APPEND-2)
        meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:175
            GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'zink', ',zink', '', d)}"
    
    WARN: You might need a " " as the first character for the :append. (APPEND-2)
        meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:188
            GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'gallium-llvm', '${GALLIUMDRIVERS_LLVM}', '', d)}"
    
    WARN: You might need a " " as the first character for the :append. (APPEND-2)
        meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:189
            GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'r600', ',r600', '', d)}"
    
    WARN: You might need a " " as the first character for the :append. (APPEND-2)
        meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:190
            GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'virgl', ',virgl', '', d)}"
    
    WARN: You might need a " " as the first character for the :append. (APPEND-2)
        meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:201
            GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'lima', ',lima', '', d)}"
    
    WARN: You might need a " " as the first character for the :append. (APPEND-2)
        meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:204
            GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'panfrost', ',panfrost', '', d)}"
    
    WARN: You might need a " " as the first character for the :append. (APPEND-2)
        meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:207
            GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'tegra', ',tegra,nouveau', '', d)}"
    
    For details on the above errors/warnings visit: https://lists.yoctoproject.org/g/meta-ti/wiki/40887
Ryan Eatmon June 10, 2026, 11:28 p.m. UTC | #2
On 6/10/2026 5:55 PM, PRC Automation wrote:
> meta-ti / na / 20260610225153.154945-1-a-christidis
> 
> PRC Results: FAIL
> 
> =========================================================
>    check-yocto-patches: PASS
> =========================================================
> Patches
> ----------------------------------------
> All patches passed
> 
> 
> 
> =========================================================
>    apply-yocto-patch: PASS
> =========================================================
> wrynose
> =====================
> Summary:
> - Patch Series: [meta-ti][wrynose/master][PATCH V2] mesa-pvr: Migration from v24.0.1 -> v25.2.8
> - Submitter: From: <a-christidis@ti.com>
> From: Antonios Christidis <a-christidis@ti.com>
> +From: Khem Raj <raj.khem@gmail.com>
> - Date: Date: Wed, 10 Jun 2026 17:51:53 -0500
> +Date: Mon, 13 Jan 2020 15:23:47 -0800
> - Num Patches: 1
> - Mailing List (public inbox) Commit SHA: 597a7c94355990e9d49ba59d995f90c009682575
> 
> Applied to:
> - Repository: lcpd-prc-meta-ti
> - Base Branch: wrynose-wip
> - Commit Author: Judith Mendez <jm@ti.com>
> - Commit Subject: conf: am62dxx-evm: Fixup packaged overlay list
> - Commit SHA: b5f503ddbff2cdd22d86cfb6769ebbcc11f1e60e
> 
> Patches
> ----------------------------------------
> All patches applied
> 
> master
> =====================
> Summary:
> - Patch Series: [meta-ti][wrynose/master][PATCH V2] mesa-pvr: Migration from v24.0.1 -> v25.2.8
> - Submitter: From: <a-christidis@ti.com>
> From: Antonios Christidis <a-christidis@ti.com>
> +From: Khem Raj <raj.khem@gmail.com>
> - Date: Date: Wed, 10 Jun 2026 17:51:53 -0500
> +Date: Mon, 13 Jan 2020 15:23:47 -0800
> - Num Patches: 1
> - Mailing List (public inbox) Commit SHA: 597a7c94355990e9d49ba59d995f90c009682575
> 
> Applied to:
> - Repository: lcpd-prc-meta-ti
> - Base Branch: master-next
> - Commit Author: Denys Dmytriyenko (TI) <denys@konsulko.com>
> - Commit Subject: meta-beagle: linux-bb.org: upgrade 6.12.43 -> 6.12.57
> - Commit SHA: dd0f9863bd65467d689ec895d96b386a034df660
> 
> Patches
> ----------------------------------------
> All patches applied
> 
> 
> 
> =========================================================
>    check-yocto-repo: FAIL
> =========================================================
> wrynose
> =====================
> FAIL

You need to also update the meta-ti/check_yocto_rules.json file since 
you renamed the file that we were looking for.  That will help clear up 
these warnings if you did that as part of this patch.


>      WARN: You might need a " " as the first character for the :append. (APPEND-2)
>          meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:117
>              VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}"
>      
>      WARN: You might need a " " as the first character for the :append. (APPEND-2)
>          meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:118
>              VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'broadcom', ',broadcom', '', d)}"
>      
>      WARN: You might need a " " as the first character for the :append. (APPEND-2)
>          meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:119
>              VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'gallium-llvm', ',swrast', '', d)}"
>      
>      WARN: You might need a " " as the first character for the :append. (APPEND-2)
>          meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:120
>              VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'imagination', ',imagination-experimental', '', d)}"
>      
>      WARN: You might need a " " as the first character for the :append. (APPEND-2)
>          meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:126
>              TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'etnaviv', ',etnaviv', '', d)}"
>      
>      WARN: You might need a " " as the first character for the :append. (APPEND-2)
>          meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:127
>              TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}"
>      
>      WARN: You might need a " " as the first character for the :append. (APPEND-2)
>          meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:128
>              TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'lima', ',lima', '', d)}"
>      
>      WARN: You might need a " " as the first character for the :append. (APPEND-2)
>          meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:129
>              TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'panfrost', ',panfrost', '', d)}"
>      
>      WARN: You might need a " " as the first character for the :append. (APPEND-2)
>          meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:130
>              TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'imagination', ',imagination', '', d)}"
>      
>      WARN: You might need a " " as the first character for the :append. (APPEND-2)
>          meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:133
>              TOOLS_DEPS:append = "${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ' ncurses libxml2 ', '', d)}"
>      
>      WARN: You might need a " " as the first character for the :append. (APPEND-2)
>          meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:170
>              GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'etnaviv', ',etnaviv', '', d)}"
>      
>      WARN: You might need a " " as the first character for the :append. (APPEND-2)
>          meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:171
>              GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}"
>      
>      WARN: You might need a " " as the first character for the :append. (APPEND-2)
>          meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:172
>              GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'kmsro', ',kmsro', '', d)}"
>      
>      WARN: You might need a " " as the first character for the :append. (APPEND-2)
>          meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:173
>              GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'vc4', ',vc4', '', d)}"
>      
>      WARN: You might need a " " as the first character for the :append. (APPEND-2)
>          meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:174
>              GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'v3d', ',v3d', '', d)}"
>      
>      WARN: You might need a " " as the first character for the :append. (APPEND-2)
>          meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:175
>              GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'zink', ',zink', '', d)}"
>      
>      WARN: You might need a " " as the first character for the :append. (APPEND-2)
>          meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:188
>              GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'gallium-llvm', '${GALLIUMDRIVERS_LLVM}', '', d)}"
>      
>      WARN: You might need a " " as the first character for the :append. (APPEND-2)
>          meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:189
>              GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'r600', ',r600', '', d)}"
>      
>      WARN: You might need a " " as the first character for the :append. (APPEND-2)
>          meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:190
>              GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'virgl', ',virgl', '', d)}"
>      
>      WARN: You might need a " " as the first character for the :append. (APPEND-2)
>          meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:201
>              GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'lima', ',lima', '', d)}"
>      
>      WARN: You might need a " " as the first character for the :append. (APPEND-2)
>          meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:204
>              GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'panfrost', ',panfrost', '', d)}"
>      
>      WARN: You might need a " " as the first character for the :append. (APPEND-2)
>          meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:207
>              GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'tegra', ',tegra,nouveau', '', d)}"
>      
>      For details on the above errors/warnings visit: https://lists.yoctoproject.org/g/meta-ti/wiki/40887
> 
> master
> =====================
> FAIL
>      WARN: You might need a " " as the first character for the :append. (APPEND-2)
>          meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:117
>              VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}"
>      
>      WARN: You might need a " " as the first character for the :append. (APPEND-2)
>          meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:118
>              VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'broadcom', ',broadcom', '', d)}"
>      
>      WARN: You might need a " " as the first character for the :append. (APPEND-2)
>          meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:119
>              VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'gallium-llvm', ',swrast', '', d)}"
>      
>      WARN: You might need a " " as the first character for the :append. (APPEND-2)
>          meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:120
>              VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'imagination', ',imagination-experimental', '', d)}"
>      
>      WARN: You might need a " " as the first character for the :append. (APPEND-2)
>          meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:126
>              TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'etnaviv', ',etnaviv', '', d)}"
>      
>      WARN: You might need a " " as the first character for the :append. (APPEND-2)
>          meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:127
>              TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}"
>      
>      WARN: You might need a " " as the first character for the :append. (APPEND-2)
>          meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:128
>              TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'lima', ',lima', '', d)}"
>      
>      WARN: You might need a " " as the first character for the :append. (APPEND-2)
>          meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:129
>              TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'panfrost', ',panfrost', '', d)}"
>      
>      WARN: You might need a " " as the first character for the :append. (APPEND-2)
>          meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:130
>              TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'imagination', ',imagination', '', d)}"
>      
>      WARN: You might need a " " as the first character for the :append. (APPEND-2)
>          meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:133
>              TOOLS_DEPS:append = "${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ' ncurses libxml2 ', '', d)}"
>      
>      WARN: You might need a " " as the first character for the :append. (APPEND-2)
>          meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:170
>              GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'etnaviv', ',etnaviv', '', d)}"
>      
>      WARN: You might need a " " as the first character for the :append. (APPEND-2)
>          meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:171
>              GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}"
>      
>      WARN: You might need a " " as the first character for the :append. (APPEND-2)
>          meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:172
>              GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'kmsro', ',kmsro', '', d)}"
>      
>      WARN: You might need a " " as the first character for the :append. (APPEND-2)
>          meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:173
>              GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'vc4', ',vc4', '', d)}"
>      
>      WARN: You might need a " " as the first character for the :append. (APPEND-2)
>          meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:174
>              GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'v3d', ',v3d', '', d)}"
>      
>      WARN: You might need a " " as the first character for the :append. (APPEND-2)
>          meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:175
>              GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'zink', ',zink', '', d)}"
>      
>      WARN: You might need a " " as the first character for the :append. (APPEND-2)
>          meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:188
>              GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'gallium-llvm', '${GALLIUMDRIVERS_LLVM}', '', d)}"
>      
>      WARN: You might need a " " as the first character for the :append. (APPEND-2)
>          meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:189
>              GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'r600', ',r600', '', d)}"
>      
>      WARN: You might need a " " as the first character for the :append. (APPEND-2)
>          meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:190
>              GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'virgl', ',virgl', '', d)}"
>      
>      WARN: You might need a " " as the first character for the :append. (APPEND-2)
>          meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:201
>              GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'lima', ',lima', '', d)}"
>      
>      WARN: You might need a " " as the first character for the :append. (APPEND-2)
>          meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:204
>              GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'panfrost', ',panfrost', '', d)}"
>      
>      WARN: You might need a " " as the first character for the :append. (APPEND-2)
>          meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc:207
>              GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'tegra', ',tegra,nouveau', '', d)}"
>      
>      For details on the above errors/warnings visit: https://lists.yoctoproject.org/g/meta-ti/wiki/40887
> 
> 
>
Antonios Christidis June 10, 2026, 11:32 p.m. UTC | #3
Dear Ryan,


On 6/10/26 6:28 PM, Ryan Eatmon wrote:
> You need to also update the meta-ti/check_yocto_rules.json file since 
> you renamed the file that we were looking for.  That will help clear 
> up these warnings if you did that as part of this patch.


Noted. Let me know if this is all the feedback on the patch, then I'll 
send a v3.


Kind Regards,

Antonios
diff mbox series

Patch

diff --git a/meta-ti-bsp/conf/machine/include/ti-bsp.inc b/meta-ti-bsp/conf/machine/include/ti-bsp.inc
index f7e2710c..38375ada 100644
--- a/meta-ti-bsp/conf/machine/include/ti-bsp.inc
+++ b/meta-ti-bsp/conf/machine/include/ti-bsp.inc
@@ -44,7 +44,10 @@  BSP_BOOTLOADER_VERSION:bsp-ti-6_18 = "2026.01%"
 
 BSP_ROGUE_DRIVER_PROVIDER:bsp-ti-6_18 = "ti-img-rogue-driver"
 BSP_ROGUE_DRIVER_VERSION:bsp-ti-6_18 = "26%"
-BSP_MESA_PVR_VERSION:bsp-ti-6_18 = "24%"
+
+#Only two valid versions are 24.0.1 & 25.2.8.
+#V24 is meant for SGX cores, V25 is meant for Rogue
+BSP_MESA_PVR_VERSION:bsp-ti-6_18: = "2%"
 
 # ==========
 # ti-6_12
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%
rename from meta-ti-bsp/recipes-graphics/mesa/mesa-pvr.inc
rename to meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-24.inc
diff --git a/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-25.2.8/0001-meson-misdetects-64bit-atomics-on-mips-clang.patch b/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-25.2.8/0001-meson-misdetects-64bit-atomics-on-mips-clang.patch
new file mode 100644
index 00000000..baa98a0d
--- /dev/null
+++ b/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-25.2.8/0001-meson-misdetects-64bit-atomics-on-mips-clang.patch
@@ -0,0 +1,24 @@ 
+From 02cc21800fe29f566add525e63f619c0536d6e7b Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 13 Jan 2020 15:23:47 -0800
+Subject: [PATCH] meson misdetects 64bit atomics on mips/clang
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/util/u_atomic.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/util/u_atomic.c b/src/util/u_atomic.c
+index 5a5eab4..e499516 100644
+--- a/src/util/u_atomic.c
++++ b/src/util/u_atomic.c
+@@ -21,7 +21,7 @@
+  * IN THE SOFTWARE.
+  */
+ 
+-#if defined(MISSING_64BIT_ATOMICS) && defined(HAVE_PTHREAD)
++#if !defined(__clang__) && defined(MISSING_64BIT_ATOMICS) && defined(HAVE_PTHREAD)
+ 
+ #include <stdint.h>
+ #include <pthread.h>
diff --git a/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-25.inc b/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-25.inc
new file mode 100644
index 00000000..5c6beff1
--- /dev/null
+++ b/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-25.inc
@@ -0,0 +1,356 @@ 
+# Copy from oe-core, commit sha:2c0c7c3e5b71, branch Whinlatter.
+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.  \
+A variety of device drivers allows Mesa to be used in many different environments \
+ranging from software emulation to complete hardware acceleration for modern GPUs. \
+Mesa is used as part of the overall Direct Rendering Infrastructure and X.org \
+environment."
+
+HOMEPAGE = "http://mesa3d.org"
+BUGTRACKER = "https://bugs.freedesktop.org"
+SECTION = "x11"
+LICENSE = "MIT"
+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-freedreno-don-t-encode-build-path-into-binaries.patch \
+"
+
+SRC_URI[sha256sum] = "097842f3e49d996868b38688db87b006f7d4541e93ce86d2f341d8b3e7be7c93"
+PV = "25.2.8"
+
+UPSTREAM_CHECK_GITTAGREGEX = "mesa-(?P<pver>\d+(\.\d+)+)"
+
+#Remove this, since it points to mesa and not mesa-pvr
+#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() {
+  # sed can't find EGL/eglplatform.h as it doesn't get installed when glvnd enabled.
+  # So, check if EGL/eglplatform.h exists before running sed.
+  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 python3-pyyaml-native"
+EXTRANATIVEPATH += "chrpath-native"
+
+inherit meson pkgconfig python3native gettext features_check rust
+
+ANY_OF_DISTRO_FEATURES = "opencl opengl vulkan"
+
+PLATFORMS ??= "${@bb.utils.filter('PACKAGECONFIG', 'x11 wayland', d)}"
+
+# set the MESA_BUILD_TYPE to either 'release' (default) or 'debug'
+# by default the upstream mesa sources build a debug release
+# here we assume the user will want a release build by default
+MESA_BUILD_TYPE ?= "release"
+def check_buildtype(d):
+    _buildtype = d.getVar('MESA_BUILD_TYPE')
+    if _buildtype not in ['release', 'debug']:
+        bb.fatal("unknown build type (%s), please set MESA_BUILD_TYPE to either 'release' or 'debug'" % _buildtype)
+    if _buildtype == 'debug':
+        return 'debugoptimized'
+    return 'plain'
+MESON_BUILDTYPE = "${@check_buildtype(d)}"
+
+EXTRA_OEMESON = " \
+    -Dglx-read-only-text=true \
+    -Dplatforms='${@",".join("${PLATFORMS}".split())}' \
+"
+
+def strip_comma(s):
+    return s.strip(',')
+
+# skip all Rust dependencies if we are not building OpenCL"
+INHIBIT_DEFAULT_RUST_DEPS = "${@bb.utils.contains('PACKAGECONFIG', 'opencl', '', '1', d)}"
+
+# "egl" requires "opengl"
+PACKAGECONFIG[egl] = "-Degl=enabled, -Degl=disabled"
+
+# "gbm" requires "opengl"
+PACKAGECONFIG[gbm] = "-Dgbm=enabled,-Dgbm=disabled"
+
+# "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"
+
+# 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 = ""
+
+# keep sorted by the driver name (rather than PKGCONFIG)
+VULKAN_DRIVERS = ""
+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 .= "${@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 = "${@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[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"
+
+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[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"
+
+PACKAGECONFIG[unwind] = "-Dlibunwind=enabled,-Dlibunwind=disabled,libunwind"
+
+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"
+
+CFLAGS:append:armv5 = " -DMISSING_64BIT_ATOMICS"
+CFLAGS:append:armv6 = " -DMISSING_64BIT_ATOMICS"
+
+# Remove the mesa dependency on mesa-dev, as mesa is empty
+DEV_PKG_DEPENDENCY = ""
+
+# Provide virtual names to allow selecting preferred rproviders
+RPROVIDES:mesa-vulkan-drivers += "virtual-vulkan-icd"
+RPROVIDES:libopencl-mesa += "virtual-opencl-icd"
+
+# GLES2 and GLES3 implementations are packaged in a single library in libgles2-mesa.
+# Add a dependency so the GLES3 dev package is associated with its implementation.
+RPROVIDES:libgles2-mesa += "libgles3-mesa"
+RPROVIDES:libgles2-mesa-dev += "libgles3-mesa-dev"
+
+RDEPENDS:libopencl-mesa += "${@bb.utils.contains('PACKAGECONFIG', 'opencl', 'libclc', '', d)}"
+
+PACKAGES =+ "libegl-mesa libegl-mesa-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 \
+             libteflon \
+             mesa-megadriver mesa-vulkan-drivers \
+             mesa-vdpau-drivers mesa-tools \
+            "
+
+# 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 ("libegl", "libgl", "libglx", "libgles1", "libgles2", "libgles3", "libopencl"):
+        fullp = mlprefix + p + "-mesa" + suffix
+        d.appendVar("RRECOMMENDS:" + fullp, " ${MLPREFIX}mesa-megadriver" + suffix)
+
+    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() {
+    pkgs = ['mesa', 'mesa-dev', 'mesa-dbg']
+    for pkg in pkgs:
+        d.setVar("RPROVIDES:%s" % pkg, pkg.replace("mesa", "mesa-dri", 1))
+        d.setVar("RCONFLICTS:%s" % pkg, pkg.replace("mesa", "mesa-dri", 1))
+        d.setVar("RREPLACES:%s" % pkg, pkg.replace("mesa", "mesa-dri", 1))
+
+    import re
+    dri_drivers_root = oe.path.join(d.getVar('PKGD'), d.getVar('libdir'), "dri")
+    if os.path.isdir(dri_drivers_root):
+        dri_pkgs = sorted(os.listdir(dri_drivers_root))
+        lib_name = d.expand("${MLPREFIX}mesa-megadriver")
+        for p in dri_pkgs:
+            m = re.match(r'^(.*)_dri\.so$', p)
+            if m:
+                pkg_name = " ${MLPREFIX}mesa-driver-%s" % legitimize_package_name(m.group(1))
+                d.appendVar("RPROVIDES:%s" % lib_name, pkg_name)
+                d.appendVar("RCONFLICTS:%s" % lib_name, pkg_name)
+                d.appendVar("RREPLACES:%s" % lib_name, pkg_name)
+}
+
+PACKAGESPLITFUNCS =+ "mesa_populate_packages"
+
+PACKAGES_DYNAMIC += "^mesa-driver-.*"
+PACKAGES_DYNAMIC:class-native = "^mesa-driver-.*-native"
+
+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.* ${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}/lib*OpenCL.so* ${sysconfdir}/OpenCL/vendors/*.icd"
+FILES:libglapi = "${libdir}/libglapi.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 ${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: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..3e81eef6 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,10 +2,12 @@ 
 # 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)"
 
+COMPATIBLE_MACHINE = "ti33x|ti43x|am57xx|am65xx"
+
 LIC_FILES_CHKSUM = "file://docs/license.rst;md5=63779ec98d78d823a9dc533a0735ef10"
 
 BRANCH = "powervr/${PV}"
diff --git a/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr_25.2.8.bb b/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr_25.2.8.bb
new file mode 100644
index 00000000..49925e60
--- /dev/null
+++ b/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr_25.2.8.bb
@@ -0,0 +1,60 @@ 
+# PowerVR Graphics require several patches that have not made their way
+# upstream yet. This allows us to build the shims we need without completely
+# clobbering mesa.
+
+require recipes-graphics/mesa/mesa-pvr-25.inc
+
+SUMMARY += " (with PowerVR for TI parts)"
+
+COMPATIBLE_MACHINE = "j721e|j721s2|j784s4|j742s2|am62xx|am62pxx|j722s"
+
+LIC_FILES_CHKSUM = "file://docs/license.rst;md5=ffe678546d4337b732cfd12262e6af11"
+
+BRANCH = "powervr/${PV}"
+
+SRC_URI = "git://github.com/TexasInstruments/mesa.git;protocol=https;branch=${BRANCH} \
+           file://0001-meson-misdetects-64bit-atomics-on-mips-clang.patch"
+
+SRCREV = "ffdef450e1f954af21768371506e013c19f5fe49"
+PV = "25.2.8"
+PR = "r1"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+GALLIUMDRIVERS:append = "${@bb.utils.contains('PREFERRED_PROVIDER_virtual/gpudriver', 'ti-img-rogue-driver', ',pvr', '', d)}"
+GALLIUMDRIVERS:append = "${@bb.utils.contains('PREFERRED_PROVIDER_virtual/gpudriver', 'ti-sgx-ddk-km', ',sgx', '', d)}"
+
+VULKAN_DRIVERS:append = "${@bb.utils.contains('PREFERRED_PROVIDER_virtual/gpudriver', 'ti-img-rogue-driver', ',pvr', '', d)}"
+
+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', 'opencl', 'opencl libclc gallium-llvm', '', d)} \
+        ${@bb.utils.contains('DISTRO_FEATURES', 'vulkan', 'zink', '', d)} \
+        xmlconfig \
+"
+
+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 \
+"
+
+BBCLASSEXTEND = "native nativesdk"
+
+do_install:append () {
+    # remove pvr custom pkgconfig
+    rm -rf ${D}${datadir}/pkgconfig
+}
+
+FILES:${PN}-dev += "${datadir}/mesa/wayland-drm.xml"
+FILES:mesa-vulkan-drivers += "${libdir}/libpvr_mesa_wsi.so"
+
+RRECOMMENDS:mesa-megadriver:append:class-target = " ${@d.getVar('PREFERRED_PROVIDER_virtual/gpudriver')}"