Looks like nice cleanup, but is someone still using llvm 3.2 or older? With PACKAGECONFIG for almost each gallium driver it might be easier to get rid of GALLIUMDRIVERS_LLVM33, GALLIUMDRIVERS_LLVM33_ENABLED, GALLIUMDRIVERS_LLVM variables and use just GALLIUMDRIVERS.
In worst case scenario people using llvm 3.2 or older will need to redefine some of these PACKAGECONFIGs but that shouldn't be big issue considering that they probably have different mesa recipe already. People can then select right list of drivers with or without using gallium-llvm as well. On Thu, Jun 13, 2019 at 7:54 PM Marco Felsch <m.fel...@pengutronix.de> wrote: > Most of the time we are compiling for embedded targets which have > dedicated hardware combinations. Enabling swrast by default isn't a good > solution for such devices because if the hardware render node has an > issue or doesn't support a special format/request Mesa will fallback to > the software renderer. This will make it harder to debug performance > issues. > > A better way is to let the user decide if a software renderer is > needed e.g. if the system has no hardware renderer or to have such a > fallback device. This way the user knows that the software renderer is > enabled. > > Signed-off-by: Marco Felsch <m.fel...@pengutronix.de> > --- > v3 > - rebased on current master-next branch > > meta/recipes-graphics/mesa/mesa.inc | 22 +++++++++++++--------- > 1 file changed, 13 insertions(+), 9 deletions(-) > > diff --git a/meta/recipes-graphics/mesa/mesa.inc > b/meta/recipes-graphics/mesa/mesa.inc > index 3ecfb8506c..a6d36cf21c 100644 > --- a/meta/recipes-graphics/mesa/mesa.inc > +++ b/meta/recipes-graphics/mesa/mesa.inc > @@ -90,23 +90,27 @@ PACKAGECONFIG[egl] = "-Degl=true, -Degl=false" > > PACKAGECONFIG[etnaviv] = "" > PACKAGECONFIG[kmsro] = "" > +PACKAGECONFIG[swrast] = "" > > -GALLIUMDRIVERS = "swrast" > -GALLIUMDRIVERS_append ="${@bb.utils.contains('PACKAGECONFIG', 'etnaviv', > ',etnaviv', '', d)}" > -GALLIUMDRIVERS_append ="${@bb.utils.contains('PACKAGECONFIG', 'kmsro', > ',kmsro', '', d)}" > +GALLIUMDRIVERS = "" > +GALLIUMDRIVERS +="${@bb.utils.contains('PACKAGECONFIG', 'swrast', > 'swrast', '', d)}" > +GALLIUMDRIVERS +="${@bb.utils.contains('PACKAGECONFIG', 'etnaviv', > 'etnaviv', '', d)}" > +GALLIUMDRIVERS +="${@bb.utils.contains('PACKAGECONFIG', 'kmsro', 'kmsro', > '', d)}" > > # radeonsi requires LLVM > -GALLIUMDRIVERS_LLVM33 = "${@bb.utils.contains('PACKAGECONFIG', 'r600', > ',radeonsi', '', d)}" > +GALLIUMDRIVERS_LLVM33 = "${@bb.utils.contains('PACKAGECONFIG', 'r600', > 'radeonsi', '', d)}" > GALLIUMDRIVERS_LLVM33_ENABLED = > "${@oe.utils.version_less_or_equal('MESA_LLVM_RELEASE', '3.2', False, > len('${GALLIUMDRIVERS_LLVM33}') > 0, d)}" > -GALLIUMDRIVERS_LLVM = "r300,svga,nouveau${@',${GALLIUMDRIVERS_LLVM33}' if > ${GALLIUMDRIVERS_LLVM33_ENABLED} else ''}" > +GALLIUMDRIVERS_LLVM = "r300 svga nouveau ${@'${GALLIUMDRIVERS_LLVM33}' if > ${GALLIUMDRIVERS_LLVM33_ENABLED} else ''}" > > PACKAGECONFIG[r600] = "" > > -GALLIUMDRIVERS_append = "${@bb.utils.contains('PACKAGECONFIG', > 'gallium-llvm', ',${GALLIUMDRIVERS_LLVM}', '', d)}" > -GALLIUMDRIVERS_append = "${@bb.utils.contains('PACKAGECONFIG', 'r600', > ',r600', '', d)}" > -GALLIUMDRIVERS_append = ",virgl" > +GALLIUMDRIVERS += "${@bb.utils.contains('PACKAGECONFIG', 'gallium-llvm', > '${GALLIUMDRIVERS_LLVM}', '', d)}" > +GALLIUMDRIVERS += "${@bb.utils.contains('PACKAGECONFIG', 'r600', 'r600', > '', d)}" > +GALLIUMDRIVERS += "virgl" > +GALLIUMDRIVERS_MESON = "${@",".join("${GALLIUMDRIVERS}".split())}" > + > +PACKAGECONFIG[gallium] = "-Dgallium-drivers=${GALLIUMDRIVERS_MESON}, > -Dgallium-drivers=''" > > -PACKAGECONFIG[gallium] = "-Dgallium-drivers=${GALLIUMDRIVERS}, > -Dgallium-drivers=''" > MESA_LLVM_RELEASE ?= "8.0.0" > PACKAGECONFIG[gallium-llvm] = "-Dllvm=true -Dshared-llvm=true, > -Dllvm=false, llvm${MESA_LLVM_RELEASE} llvm-native \ > ${@'elfutils' if > ${GALLIUMDRIVERS_LLVM33_ENABLED} else ''}" > -- > 2.20.1 > > -- > _______________________________________________ > Openembedded-core mailing list > Openembedded-core@lists.openembedded.org > http://lists.openembedded.org/mailman/listinfo/openembedded-core >
-- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core