[mesa] des crashs avec le duo mesa 11.0.3 - llvm-libs 3.7.0

Applications multimedia / jeux
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17230
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [mesa] des crashs avec le duo mesa 11.0.3 - llvm-libs 3.7.0

Message par benjarobin »

Tu devrait rajouter toutes ces informations dans le rapport de bug de mesa, avec le lien vers cette discussion.
Pour moi la nouvelle façon de faire est assez "étrange", on active tout (SSE4) même si non supporté par le processeur, et c'est à l'applicatif (mesa) de désactiver les fonctions incompatibles. J'aurais préféré l'inverse au moins pas de crash...
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Elbarto
Elfe
Messages : 671
Inscription : jeu. 22 déc. 2011, 23:15

Re: [mesa] des crashs avec le duo mesa 11.0.3 - llvm-libs 3.7.0

Message par Elbarto »

je viens d'ajouter ces informations dans le rapport de bug de mesa :

https://bugs.freedesktop.org/show_bug.cgi?id=92214#c31
Elbarto
Elfe
Messages : 671
Inscription : jeu. 22 déc. 2011, 23:15

Re: [mesa] des crashs avec le duo mesa 11.0.3 - llvm-libs 3.7.0

Message par Elbarto »

il y a du nouveau : le bug est résolu si dans le code source de mesa on ajoute ce test en retirant explicitement "SSE4" si le CPU ne supporte pas SSE4 :

Code : Tout sélectionner

+   if (!util_cpu_caps.has_sse4_1) {
+#if HAVE_LLVM >= 0x0304
+      MAttrs.push_back("-sse4.1");
+#else
+      MAttrs.push_back("-sse41");
+#endif
+   }
car il semblerait que llvm utilise par défaut les "features" définies pour une famille de CPU, comme mon pentium dual core est vu comme un "Penryn" par llvm, et que llvm considère que "Penryn" supporte SSE4.1 alors llvm semble ajouter automatiquement "+sse4.1" dans la liste des arguments passés au compileur llvm, même si le développeur ( mesa ) qui utilise llvm n'a pas explicitement demandé l'utilisation de sse4.1,

la solution préconisée par Craig Tooper est alors de faire un "MAttrs.push_back("-sse4.1")" dans le code source de mesa quand "util_cpu_caps.has_sse4_1 == false",

mais je pense que la meilleure solution serait que llvm crée un nouveau nom de CPU : "dualcore" pour l'associer aux pentium dual core, ce nouveau nom de famille aurait alors les bonnes "features" par défaut ( mmx, sse3, pas de sse4.1 ), ce qui éviterait que le sse4.1 soit utilisé automatiquement par llvm alors que le développeur ( qui utilise la librairie llvm ) n'a pas précisé explicitement d'utiliser sse4.1
Elbarto
Elfe
Messages : 671
Inscription : jeu. 22 déc. 2011, 23:15

Re: [mesa] des crashs avec le duo mesa 11.0.3 - llvm-libs 3.7.0

Message par Elbarto »

je remarque que quelqu'un avait ouvert un rapport de bug similaire à mon problème en 2013 sur le site de llvm :

https://llvm.org/bugs/show_bug.cgi?id=16721

et que la solution trouvée à l'époque par un développeur llvm c'était justement d'ajouter le test SSE4.1 afin d'identifier les pentium dual core en tant que "core2" au lieu de "penryn" :

http://lists.llvm.org/pipermail/llvm-co ... 82469.html
Répondre