Razvijalci Mesa razpravljajo o možnosti dodajanja kode Rust

Razvijalci projekta Mesa razpravljajo možnost uporabe jezika Rust za razvoj gonilnikov OpenGL/Vulkan in komponent grafičnih skladov. Razpravo je sprožila Alyssa Rosenzweig, razvijalka gonilnikov Mraz za grafične procesorje Mali, ki temeljijo na mikroarhitekturah Midgard in Bifrost. Pobuda je v fazi razprave, konkretnih odločitev še ni.

Zagovorniki uporabe Rusta poudarjajo zmožnost izboljšanja zmogljivosti pomnilnika in odpravljanja težav, kot so dostop do pomnilnika, ki je po izpraznjenem stanju, dereferenciranja ničelnega kazalca in prekoračitve medpomnilnika. Podpora za Rust bi tudi omogočila Mesi, da vključi razvoj tretjih oseb, kot je sistem za upodabljanje programske opreme Kazan z implementacijo grafičnega API-ja Vulkan, napisanega v Rustu.

Opozoriti je treba, da se je nujnost izboljšanja varnosti gonilnikov v zadnjem času povečala zaradi uporabe OpenGL pri izvajanju nezaupljive kode v brskalnikih, ki podpirajo WebGL, zaradi česar so gonilniki pomemben vektor za napade na uporabniške sisteme. Trenutno Mesa že uporablja orodja, kot sta ralloc in analiza statične kode, da zmanjša težave s pomnilnikom, vendar njihova uporaba ni dovolj.

Nasprotniki implementacije Rust upoštevajte, da je večino uporabnih funkcij Rusta mogoče pridobiti s prenosom razvoja v sodobni C++, ki je videti privlačnejši glede na to, da je večina Mesa napisana v C. Med argumenti proti Rustu je omenjen tudi zaplet montažni sistemi, ne želja vezava na sistem tovornega paketa,
razširitev zahtev za montažno okolje in treba vključiti Prevajalnik Rust v odvisnosti sestava, potrebne za gradnjo ključnih komponent namizja v sistemu Linux.

Premike k uporabi Rusta za razvoj opazimo tudi pri AMD, ki je pred kratkim odprl prosto delovno mesto Programer Rust za razvoj novih orodij, povezanih s 3D gonilniki za GPU Radeon.

Vir: opennet.ru

Dodaj komentar