mbox series

[kirkstone,v7,0/3] Graphics, graphics, and more graphics

Message ID 20230130232007.2393097-1-rs@ti.com
Headers show
Series Graphics, graphics, and more graphics | expand

Message

Randolph Sapp Jan. 30, 2023, 11:20 p.m. UTC
Alright, this is the 7th revision of this patch. This uses a revised
dependency chain (hopefully it's a little more logical) and some, well,
interesting switching logic using the PACKAGECONFIG and
virtual/gpudriver PREFERRED_PROVIDER override variable. I'm not sure how
I feel about it, but it solves the issue of silently configuring things
as needed without other layers manually enabling features.

This dynamically adjusts mesa's PACKAGECONFIG based on what our selected
gpudriver (and display controller, thanks sgx) is. We also add a runtime
recommendation on the gpudriver after this configuration.

The gpudriver providers didn't change too much, they just have a runtime
recommendation for the associated um components. As it stands, the um
components can live alongside the software rendering components thanks
to the mesa-megadriver being able to automatically switch as necessary
at runtime, so we will not clobber mesa's usual packages.

Then we drop all mentions of the gpu machine feature for good measure.

"Why didn't you just add preferred providers for libgles2, etc, etc."
Well, software rendering. If we do that we'll have to edit the
PACKAGECONFIG to drop gles components from mesa, disabling software
rendering. We could add a dynamic switch to do that, but honestly
keeping in line with KISS, this solution has fewer lines and less logic
while keeping swrast as a nice fallback for whenever anything really
goes south... not that I'm expecting that or anything.

Edits:
 - Add a path to fall back to a fully unedited mesa. (opengl with no
   preferred provider for gpudriver)
 - Drop the commit adding patches from oe-core. Forgot that bbappends
   assume the path of the parent recipe for extra sources so this was
   unnecessary.
 - Clean up the j784s4 machine config.

SGX is currently unable to build with this (apparently this was true
with the other patch as well). Currently looking at how we want to fix
that, but this should be fine to merge in the meantime as everything K3
related (aside from am65) should work fine. A temporary hack to enable
builds for sgx devices would be to fall back to software rendering by
setting preferred provider to "" or unsetting the variable all together.

I need some time to get a proper SGX test machine setup.

Randolph Sapp (3):
  meta-ti-bsp: graphics: Resolve dependency chain
  meta-ti-bsp: machine: Remove all gpu features
  meta-ti-bsp: machine: Attempt to update DC alias

 meta-ti-bsp/conf/machine/am62xx-lp-evm.conf   |  2 -
 meta-ti-bsp/conf/machine/include/am62xx.inc   |  6 +-
 meta-ti-bsp/conf/machine/include/am65xx.inc   |  6 +-
 meta-ti-bsp/conf/machine/include/j721e.inc    |  6 --
 meta-ti-bsp/conf/machine/include/j721s2.inc   |  6 --
 meta-ti-bsp/conf/machine/include/j784s4.inc   |  6 --
 meta-ti-bsp/conf/machine/include/omap-a15.inc |  9 ++-
 meta-ti-bsp/conf/machine/include/ti33x.inc    |  9 ++-
 meta-ti-bsp/conf/machine/include/ti43x.inc    |  9 ++-
 ...-OpenEmbedded-nodistro-internal-aarc.patch | 29 --------
 ...bb => ti-img-rogue-driver_1.18.6276027.bb} | 20 +++---
 .../ti-sgx-ddk-km_1.17.4948957.bb             |  8 +--
 .../ti-img-rogue-umlibs_1.15.6133109.bb       | 71 -------------------
 .../ti-img-rogue-umlibs_1.18.6276027.bb       | 39 ++++++++++
 .../libgles/ti-sgx-ddk-um_1.17.4948957.bb     | 30 +-------
 .../mesa/mesa-gl_22.0.%.bbappend              |  1 +
 .../mesa/mesa_22.0.%.bbappend                 |  1 +
 .../recipes-graphics/mesa/pvr-mesa.inc        | 40 +++++++++++
 18 files changed, 111 insertions(+), 187 deletions(-)
 delete mode 100644 meta-ti-bsp/recipes-bsp/powervr-drivers/ti-img-rogue-driver/0001-compiler-support-OpenEmbedded-nodistro-internal-aarc.patch
 rename meta-ti-bsp/recipes-bsp/powervr-drivers/{ti-img-rogue-driver_1.15.6133109.bb => ti-img-rogue-driver_1.18.6276027.bb} (72%)
 delete mode 100644 meta-ti-bsp/recipes-graphics/libgles/ti-img-rogue-umlibs_1.15.6133109.bb
 create mode 100644 meta-ti-bsp/recipes-graphics/libgles/ti-img-rogue-umlibs_1.18.6276027.bb
 create mode 100644 meta-ti-bsp/recipes-graphics/mesa/mesa-gl_22.0.%.bbappend
 create mode 100644 meta-ti-bsp/recipes-graphics/mesa/mesa_22.0.%.bbappend
 create mode 100644 meta-ti-bsp/recipes-graphics/mesa/pvr-mesa.inc