On Mon, Aug 21, 2023 at 08:11:38PM -0500, [email protected] wrote:
> From: Randolph Sapp <[email protected]>
> 
> Meta-clang provides a bbappend for mesa to use clang to accelerate it's
> rasterization with runtime code generation through the use of llvmpipe.
> With the addition of mesa-pvr we no longer get this for free with the
> blanket mesa bbappend on the devices that explicitly request mesa-pvr so
> lets add a dynamic layer to append the same args meta-clang does.
> 
> Though the number of devices that would select pvr-mesa and still want
> to use software rendering is small, it's not zero due to debug and
> testing purposes.
> 
> Signed-off-by: Randolph Sapp <[email protected]>
> ---
> 
> Please let me know if I'm overlooking some specification like some reason bsp
> layers shouldn't have dynamic-layers or something like that. The
> yocto-check-layer didn't seem to care.

Well, normally you wouldn't want a pure BSP layer to depend on anything extra 
besides OE-Core. But compiler and toolchain dependencies are rather special 
and there were and still are such cases. Plus bigger plan for clang is to get 
into OE-Core eventually, similar to how Rust has been handled. So, a dynamic 
dependency for meta-clang is probably fine for now, just need to make sure it 
works both ways and gets validated with and w/o such dependency...


>  meta-ti-bsp/conf/layer.conf                        |  4 ++++
>  .../recipes-graphics/mesa/mesa-pvr_%.bbappend      | 14 ++++++++++++++
>  2 files changed, 18 insertions(+)
>  create mode 100644 
> meta-ti-bsp/dynamic-layers/clang-layer/recipes-graphics/mesa/mesa-pvr_%.bbappend
> 
> diff --git a/meta-ti-bsp/conf/layer.conf b/meta-ti-bsp/conf/layer.conf
> index 26cbb4b5..56ca392b 100644
> --- a/meta-ti-bsp/conf/layer.conf
> +++ b/meta-ti-bsp/conf/layer.conf
> @@ -18,6 +18,10 @@ LAYERDEPENDS_meta-ti-bsp = " \
>      meta-arm \
>  "
>  
> +BBFILES_DYNAMIC += " \
> +    clang-layer:${LAYERDIR}/dynamic-layers/clang-layer/recipes*/*/*.bbappend 
> \
> +"
> +
>  SIGGEN_EXCLUDERECIPES_ABISAFE += " \
>      mesa-pvr \
>  "
> diff --git 
> a/meta-ti-bsp/dynamic-layers/clang-layer/recipes-graphics/mesa/mesa-pvr_%.bbappend
>  
> b/meta-ti-bsp/dynamic-layers/clang-layer/recipes-graphics/mesa/mesa-pvr_%.bbappend
> new file mode 100644
> index 00000000..7e5c36fd
> --- /dev/null
> +++ 
> b/meta-ti-bsp/dynamic-layers/clang-layer/recipes-graphics/mesa/mesa-pvr_%.bbappend
> @@ -0,0 +1,14 @@
> +# This is a copy of meta-clang/recipes-graphics/mesa/mesa_%.bbappend required
> +# for llvmpipe when using pvr-mesa since we aren't caught by that glob.
> +
> +FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
> +
> +LDFLAGS:append:toolchain-clang = " -latomic -lm"
> +DEPENDS:append:toolchain-clang = " libatomic-ops"
> +
> +EXTRA_OEMASON:append:toolchain-clang:x86 = " -Dasm=false"
> +EXTRA_OEMASON:append:toolchain-clang:x86-64 = " -Dasm=false"
> +
> +export YOCTO_ALTERNATE_EXE_PATH = "${STAGING_LIBDIR}/llvm-config"
> +
> +PACKAGECONFIG[gallium-llvm] = "-Dllvm=true -Dshared-llvm=true 
> -Ddraw-use-llvm=true,-Dllvm=false,clang clang-native elfutils"
> -- 
> 2.41.0
> 
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#16894): 
https://lists.yoctoproject.org/g/meta-ti/message/16894
Mute This Topic: https://lists.yoctoproject.org/mt/100886498/21656
Group Owner: [email protected]
Unsubscribe: 
https://lists.yoctoproject.org/g/meta-ti/leave/6695321/21656/1393940836/xyzzy 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to