https://bugs.freedesktop.org/show_bug.cgi?id=108135
--- Comment #6 from Kenneth Graunke <kenn...@whitecape.org> ---
This does point out an even more serious issue though:
Megadrivers interacts very badly with drivers that have global C++
initializers. When dlopen'ing a DRI driver, C++ global constructors will run
for ANY driver that is built in, even if that isn't the driver the user is
trying to use.
In other words, let's say you're on a Raspberry Pi and are trying to use the
vc4 driver. If your distro happens to have built SWR, then you'll end up
running a bunch of SWR C++ constructors...when trying to dlopen
vc4_dri.so...because both live in the same .so file.
Such global initialization really ought to happen at driver screen init time,
not dlopen time. IMO we should forbid C++ global objects in Mesa drivers. (We
have a few in the compiler, but everybody uses the compiler.) I don't know how
feasible that is, though. If it isn't, maybe we need to exclude such drivers
from the megadrivers mechanism...
--
You are receiving this mail because:
You are the QA Contact for the bug.
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev