Les développeurs de Mesa discutent de la possibilité d'ajouter du code Rust

Développeurs de projets Mesa discuter la possibilité d'utiliser le langage Rust pour développer des pilotes OpenGL/Vulkan et des composants de pile graphique. La discussion a été initiée par Alyssa Rosenzweig, développeur de pilotes panfrost pour les GPU Mali basés sur les microarchitectures Midgard et Bifrost. L'initiative est au stade de la discussion et aucune décision précise n'a encore été prise.

Les partisans de l'utilisation de Rust soulignent la capacité d'améliorer les performances de la mémoire et d'éliminer les problèmes tels que l'accès à la mémoire après libération, les déréférences de pointeurs nuls et les dépassements de mémoire tampon. La prise en charge de Rust permettrait également à Mesa d'inclure des développements tiers, tels qu'un système de rendu logiciel. Kazan avec une implémentation de l'API graphique Vulkan, écrite en Rust.

Il convient de noter que l'urgence d'améliorer la sécurité des pilotes s'est récemment accrue à la lumière de l'utilisation d'OpenGL lors de l'exécution de code non fiable dans les navigateurs prenant en charge WebGL, ce qui fait des pilotes un vecteur important d'attaques contre les systèmes des utilisateurs. Actuellement, Mesa utilise déjà des outils tels que le ralloc et l'analyse de code statique pour minimiser les problèmes de mémoire, mais leur utilisation ne suffit pas.

Opposants à la mise en œuvre de Rust considérer, que la plupart des fonctionnalités utiles de Rust peuvent être obtenues en transférant le développement vers le C++ moderne, ce qui semble plus attrayant étant donné que la majeure partie de Mesa est écrite en C. Parmi les arguments contre Rust est également mentionné complication systèmes d'assemblage, pas le désir se lier au système de colis de fret,
expansion des exigences relatives à l'environnement d'assemblage et besoin d'inclure Compilateur Rust dans les dépendances d'assembly requises pour créer des composants de bureau clés sous Linux.

Le mouvement vers l'utilisation de Rust pour le développement est également observé chez AMD, qui a récemment ouvert un poste vacant Programmeur Rust pour développer de nouveaux outils liés aux pilotes 3D pour les GPU Radeon.

Source: opennet.ru

Ajouter un commentaire