diff mbox series

[meta-arago,kirkstone,v3] meta-arago-distro: add meta-clang dependency and llvmpipe

Message ID 20230905220738.4169104-2-rs@ti.com
State Accepted
Delegated to: Ryan Eatmon
Headers show
Series [meta-arago,kirkstone,v3] meta-arago-distro: add meta-clang dependency and llvmpipe | expand

Commit Message

Randolph Sapp Sept. 5, 2023, 10:07 p.m. UTC
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>
---

Use Denys' recommendation with a more verbose variable name.

 meta-arago-distro/conf/distro/arago.conf | 7 +++++++
 meta-arago-distro/conf/layer.conf        | 1 +
 2 files changed, 8 insertions(+)

Comments

Denys Dmytriyenko Sept. 5, 2023, 10:34 p.m. UTC | #1
On Tue, Sep 05, 2023 at 05:07:39PM -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>
> ---
> 
> Use Denys' recommendation with a more verbose variable name.
> 
>  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..81faf7bd 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
> +MESA_GALLIUM_LLVM_PACKAGECONFIG = "gallium-llvm"
> +MESA_GALLIUM_LLVM_PACKAGECONFIG:omapl138 = ""
> +PACKAGECONFIG:append:pn-mesa = " ${MESA_GALLIUM_LLVM_PACKAGECONFIG}"
> +PACKAGECONFIG:append:pn-mesa-pvr = " ${MESA_GALLIUM_LLVM_PACKAGECONFIG}"

This would unnecessarily add a whitespace to PACKAGECONFIG for omapl138, but 
is fine.


>  # 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
diff mbox series

Patch

diff --git a/meta-arago-distro/conf/distro/arago.conf b/meta-arago-distro/conf/distro/arago.conf
index 48f053bb..81faf7bd 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
+MESA_GALLIUM_LLVM_PACKAGECONFIG = "gallium-llvm"
+MESA_GALLIUM_LLVM_PACKAGECONFIG:omapl138 = ""
+PACKAGECONFIG:append:pn-mesa = " ${MESA_GALLIUM_LLVM_PACKAGECONFIG}"
+PACKAGECONFIG:append:pn-mesa-pvr = " ${MESA_GALLIUM_LLVM_PACKAGECONFIG}"
+
 # 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 = " \