Mesa-utvecklare diskuterar möjligheten att lägga till Rust-kod

Mesa projektutvecklare diskuterar möjligheten att använda Rust-språket för att utveckla OpenGL/Vulkan-drivrutiner och grafikstackkomponenter. Diskussionen initierades av Alyssa Rosenzweig, förarutvecklare panfrost för Mali GPU:er baserade på Midgard och Bifrost mikroarkitekturer. Initiativet är på diskussionsstadiet, inga konkreta beslut har ännu fattats.

Förespråkare för att använda Rust lyfter fram möjligheten att förbättra minnesprestanda och eliminera problem som att komma åt efterfritt minne, nollpekarereferenser och buffertöverskridanden. Roststöd skulle också tillåta Mesa att inkludera utvecklingar från tredje part, såsom ett mjukvarurenderingssystem Kazan med en implementering av Vulkan grafik API, skriven i Rust.

Det noteras att angelägenheten av att förbättra förarsäkerheten nyligen har ökat i ljuset av användningen av OpenGL vid exekvering av opålitlig kod i webbläsare som stöder WebGL, vilket gör förare till en viktig vektor för attacker mot användarsystem. För närvarande använder Mesa redan verktyg som ralloc och statisk kodanalys för att minimera minnesproblem, men deras användning räcker inte.

Motståndare av Rust implementering överväga, att de flesta av de användbara funktionerna i Rust kan erhållas genom att överföra utvecklingen till modern C++, som ser mer attraktiv ut med tanke på att det mesta av Mesa är skrivet i C. Bland argumenten mot Rust nämns också komplikation monteringssystem, inte lust binda till lastpaketsystemet,
utökning av krav på monteringsmiljö och behöver inkludera Rust kompilatorn in i de monteringsberoenden som krävs för att bygga viktiga skrivbordskomponenter på Linux.

Rörelsen mot att använda Rust för utveckling observeras också hos AMD, som nyligen öppnat en ledig tjänst Rustprogrammerare för att utveckla nya verktyg relaterade till 3D-drivrutiner för Radeon GPU:er.

Källa: opennet.ru

Lägg en kommentar