Message ID | 20230905201852.4056578-2-rs@ti.com |
---|---|
State | Superseded |
Delegated to: | Ryan Eatmon |
Headers | show |
Series | [meta-arago,kirkstone,v2] meta-arago-distro: add meta-clang dependency and llvmpipe | expand |
On Tue, Sep 05, 2023 at 03:18:53PM -0500, rs@ti.com wrote: > From: Randolph Sapp <rs@ti.com> > > Devices that must use software rendering should use llvmpipe over the > default softpipe. There are significant performance improvements > associated with this change for devices like AM62A which lack a GPU. > > This, unfortunately is only available on armv6+ devices so we'll > conditionally drop this for the omapl138 device. (I'd switch this > directly based on platform architecture but this doesn't appear to work > correctly for PACKAGECONFIG strings in the distro.conf) > > Signed-off-by: Randolph Sapp <rs@ti.com> > --- > meta-arago-distro/conf/distro/arago.conf | 7 +++++++ > meta-arago-distro/conf/layer.conf | 1 + > 2 files changed, 8 insertions(+) > > diff --git a/meta-arago-distro/conf/distro/arago.conf b/meta-arago-distro/conf/distro/arago.conf > index 48f053bb..b029360b 100644 > --- a/meta-arago-distro/conf/distro/arago.conf > +++ b/meta-arago-distro/conf/distro/arago.conf > @@ -102,6 +102,13 @@ PACKAGECONFIG:append:pn-piglit = " \ > PACKAGECONFIG:pn-opengl-es-cts = "${@bb.utils.contains("DISTRO_FEATURES", "wayland", "wayland", "surfaceless", d)}" > PACKAGECONFIG:pn-vulkan-cts = "${@bb.utils.contains("DISTRO_FEATURES", "wayland", "wayland", "surfaceless", d)}" > > +# Use llvmpipe for better performance with software rendering > +# Only available for armv6+ devices > +PACKAGECONFIG:append:pn-mesa = " gallium-llvm" > +PACKAGECONFIG:remove:pn-mesa:omapl138 = " gallium-llvm" > +PACKAGECONFIG:append:pn-mesa-pvr = " gallium-llvm" > +PACKAGECONFIG:remove:pn-mesa-pvr:omapl138 = " gallium-llvm" While :remove happens last, it's not recommended to rely on it, especially when you have nested overrides - there's no guaranteed order of processing overrides. A better option would be: GALLIUM_LLVM = " gallium-llvm" GALLIUM_LLVM:omapl138 = "" PACKAGECONFIG:append:pn-mesa = "${GALLIUM_LLVM}" PACKAGECONFIG:append:pn-mesa-pvr = "${GALLIUM_LLVM}" > # Enable encryption support in open62541 > PACKAGECONFIG:append:pn-open62541 = " encrypt" > > diff --git a/meta-arago-distro/conf/layer.conf b/meta-arago-distro/conf/layer.conf > index 5de46fc9..02d5beaa 100644 > --- a/meta-arago-distro/conf/layer.conf > +++ b/meta-arago-distro/conf/layer.conf > @@ -19,6 +19,7 @@ LAYERDEPENDS_meta-arago-distro = " \ > meta-python \ > qt5-layer \ > meta-arago-extras \ > + clang-layer \ > " > > LAYERRECOMMENDS_meta-arago-distro = " \ > -- > 2.41.0
On 9/5/23 16:56, Denys Dmytriyenko wrote: > On Tue, Sep 05, 2023 at 03:18:53PM -0500, rs@ti.com wrote: >> From: Randolph Sapp <rs@ti.com> >> >> Devices that must use software rendering should use llvmpipe over the >> default softpipe. There are significant performance improvements >> associated with this change for devices like AM62A which lack a GPU. >> >> This, unfortunately is only available on armv6+ devices so we'll >> conditionally drop this for the omapl138 device. (I'd switch this >> directly based on platform architecture but this doesn't appear to work >> correctly for PACKAGECONFIG strings in the distro.conf) >> >> Signed-off-by: Randolph Sapp <rs@ti.com> >> --- >> meta-arago-distro/conf/distro/arago.conf | 7 +++++++ >> meta-arago-distro/conf/layer.conf | 1 + >> 2 files changed, 8 insertions(+) >> >> diff --git a/meta-arago-distro/conf/distro/arago.conf b/meta-arago-distro/conf/distro/arago.conf >> index 48f053bb..b029360b 100644 >> --- a/meta-arago-distro/conf/distro/arago.conf >> +++ b/meta-arago-distro/conf/distro/arago.conf >> @@ -102,6 +102,13 @@ PACKAGECONFIG:append:pn-piglit = " \ >> PACKAGECONFIG:pn-opengl-es-cts = "${@bb.utils.contains("DISTRO_FEATURES", "wayland", "wayland", "surfaceless", d)}" >> PACKAGECONFIG:pn-vulkan-cts = "${@bb.utils.contains("DISTRO_FEATURES", "wayland", "wayland", "surfaceless", d)}" >> >> +# Use llvmpipe for better performance with software rendering >> +# Only available for armv6+ devices >> +PACKAGECONFIG:append:pn-mesa = " gallium-llvm" >> +PACKAGECONFIG:remove:pn-mesa:omapl138 = " gallium-llvm" >> +PACKAGECONFIG:append:pn-mesa-pvr = " gallium-llvm" >> +PACKAGECONFIG:remove:pn-mesa-pvr:omapl138 = " gallium-llvm" > > While :remove happens last, it's not recommended to rely on it, especially > when you have nested overrides - there's no guaranteed order of processing > overrides. A better option would be: > > GALLIUM_LLVM = " gallium-llvm" > GALLIUM_LLVM:omapl138 = "" > PACKAGECONFIG:append:pn-mesa = "${GALLIUM_LLVM}" > PACKAGECONFIG:append:pn-mesa-pvr = "${GALLIUM_LLVM}" Fair enough. This seems cleaner anyway. V3 inbound.
diff --git a/meta-arago-distro/conf/distro/arago.conf b/meta-arago-distro/conf/distro/arago.conf index 48f053bb..b029360b 100644 --- a/meta-arago-distro/conf/distro/arago.conf +++ b/meta-arago-distro/conf/distro/arago.conf @@ -102,6 +102,13 @@ PACKAGECONFIG:append:pn-piglit = " \ PACKAGECONFIG:pn-opengl-es-cts = "${@bb.utils.contains("DISTRO_FEATURES", "wayland", "wayland", "surfaceless", d)}" PACKAGECONFIG:pn-vulkan-cts = "${@bb.utils.contains("DISTRO_FEATURES", "wayland", "wayland", "surfaceless", d)}" +# Use llvmpipe for better performance with software rendering +# Only available for armv6+ devices +PACKAGECONFIG:append:pn-mesa = " gallium-llvm" +PACKAGECONFIG:remove:pn-mesa:omapl138 = " gallium-llvm" +PACKAGECONFIG:append:pn-mesa-pvr = " gallium-llvm" +PACKAGECONFIG:remove:pn-mesa-pvr:omapl138 = " gallium-llvm" + # Enable encryption support in open62541 PACKAGECONFIG:append:pn-open62541 = " encrypt" diff --git a/meta-arago-distro/conf/layer.conf b/meta-arago-distro/conf/layer.conf index 5de46fc9..02d5beaa 100644 --- a/meta-arago-distro/conf/layer.conf +++ b/meta-arago-distro/conf/layer.conf @@ -19,6 +19,7 @@ LAYERDEPENDS_meta-arago-distro = " \ meta-python \ qt5-layer \ meta-arago-extras \ + clang-layer \ " LAYERRECOMMENDS_meta-arago-distro = " \