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...
[mesa] des crashs avec le duo mesa 11.0.3 - llvm-libs 3.7.0
- 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
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Re: [mesa] des crashs avec le duo mesa 11.0.3 - llvm-libs 3.7.0
je viens d'ajouter ces informations dans le rapport de bug de mesa :
https://bugs.freedesktop.org/show_bug.cgi?id=92214#c31
https://bugs.freedesktop.org/show_bug.cgi?id=92214#c31
Re: [mesa] des crashs avec le duo mesa 11.0.3 - llvm-libs 3.7.0
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 :
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
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
+ }
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
Re: [mesa] des crashs avec le duo mesa 11.0.3 - llvm-libs 3.7.0
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
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