From 5e4a8df91e97c4f24a2a9e6edadfe4db2d7b1f70 Mon Sep 17 00:00:00 2001 From: Dmitry Baryshkov Date: Tue, 21 Feb 2023 04:21:44 +0300 Subject: mesa: provide support for packing development and testing tools Mesa contains several optional tools that can be useful for application and driver developers. Add a packageconfig option to build a mesa-tools package containing relevant programs. Note, the fdperf tool for the freedreno depends on libconfig, which is not a part of oe-core, thus this tool is not built by default by this recipe even when freedreno driver is selected. The fdperf tool needs to be explicitly enabled by adding 'freedreno-fdperf' to the PACKAGECONFIG. (From OE-Core rev: 95eb4008350424f25d08da96bc6d7d56bf4cc161) Signed-off-by: Dmitry Baryshkov Signed-off-by: Alexandre Belloni Signed-off-by: Richard Purdie --- meta/recipes-graphics/mesa/mesa.inc | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) (limited to 'meta/recipes-graphics/mesa') diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc index 0a3dc1dd62..8a8a057c6b 100644 --- a/meta/recipes-graphics/mesa/mesa.inc +++ b/meta/recipes-graphics/mesa/mesa.inc @@ -107,6 +107,23 @@ VULKAN_DRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',fre VULKAN_DRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'broadcom', ',broadcom', '', d)}" PACKAGECONFIG[vulkan] = "-Dvulkan-drivers=${@strip_comma('${VULKAN_DRIVERS}')}, -Dvulkan-drivers='',glslang-native vulkan-loader vulkan-headers" +# mesa development and testing tools support, per driver +TOOLS = "" +TOOLS_DEPS = "" +TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'etnaviv', ',etnaviv', '', d)}" +TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}" +TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'lima', ',lima', '', d)}" +TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'panfrost', ',panfrost', '', d)}" + +# dependencies for tools. +TOOLS_DEPS:append = "${@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[opengl] = "-Dopengl=true, -Dopengl=false" PACKAGECONFIG[glvnd] = "-Dglvnd=true, -Dglvnd=false, libglvnd" @@ -211,7 +228,7 @@ PACKAGES =+ "libegl-mesa libegl-mesa-dev \ libopencl-mesa libopencl-mesa-dev \ libxatracker libxatracker-dev \ mesa-megadriver mesa-vulkan-drivers \ - mesa-vdpau-drivers \ + mesa-vdpau-drivers mesa-tools \ " do_install:append () { @@ -323,6 +340,9 @@ FILES:libosmesa-dev = "${libdir}/libOSMesa.* ${includedir}/GL/osmesa.h ${libdir} FILES:libxatracker-dev = "${libdir}/libxatracker.so ${libdir}/libxatracker.la \ ${includedir}/xa_tracker.h ${includedir}/xa_composite.h ${includedir}/xa_context.h \ ${libdir}/pkgconfig/xatracker.pc" +# catch all to get all the tools and data +FILES:${PN}-tools = "${bindir} ${datadir}" +ALLOW_EMPTY:${PN}-tools = "1" # Fix upgrade path from mesa to mesa-megadriver RREPLACES:mesa-megadriver = "mesa" -- cgit v1.2.3-54-g00ecf