Para pamekar proyék Mesa ngumumkeun yén supir rustil parantos disertifikasi ku Khronos. Éta parantos hasil lulus sadaya tés dina Kronos Conformance Test Suite (CTS) sareng dianggap sapinuhna saluyu sareng spésifikasi OpenCL 3.0, anu ngahartikeun API sareng éksténsi basa C pikeun komputasi paralel lintas platform. Nampi sertifikasi ieu ngamungkinkeun Khronos sacara resmi nyatakeun patuh kana standar sareng nganggo mérek dagang Khronos anu aya hubunganana. Verifikasi dilaksanakeun dina sistem kalayan GPU terintegrasi Intel generasi ka-12 anu nganggo supir Gallium3D Iris.
Supir ieu ditulis dina Rust sareng dikembangkeun ku Karol Herbst ti Red Hat, anu kalibet dina pamekaran Mesa, supir Nouveau, sareng tumpukan OpenCL sumber terbuka. Rusticl bertindak salaku analog tina frontend OpenCL Mesa, Clover, sareng ogé dikembangkeun nganggo antarmuka Gallium Mesa. Clover parantos lami ditinggalkeun, sareng rusticl diposisikan salaku panggantina ka hareup. Salian ti ngahontal kompatibilitas sareng OpenCL 3.0, Rusticl béda ti Clover kumargi ngadukung éksténsi OpenCL pikeun pamrosésan gambar, tapi tacan ngadukung format FP16. Rusticl nganggo rust-bindgen pikeun ngahasilkeun binding pikeun Mesa sareng OpenCL, anu ngamungkinkeun fungsi Rust dipanggil tina kode C sareng sabalikna.
Kodeu dukungan basa Rust sareng supir rusticl parantos ditampi kana inti Mesa sareng bakal dirilis dina Mesa 22.3, diperkirakeun dina ahir Nopémber. Dukungan Rust sareng rusticl bakal ditumpurkeun sacara standar sareng bakal meryogikeun pilihan pangwangunan anu éksplisit sapertos "-D gallium-rusticl=true -Dllvm=enabled -Drust_std=2021." Katergantungan pangwangunan tambahan kalebet kompiler rustc, bindgen, LLVM, SPIRV-Tools, sareng SPIRV-LLVM-Translator.
Возможность использования языка Rust в проекте Mesa обсуждается с 2020 года. Из плюсов поддержки Rust упоминается повышение безопасности и качества драйверов за счёт избавления от типовых проблем при работе с памятью, а также возможность включения в состав Mesa сторонних наработок, таких как Kazan (реализация Vulkan на Rust). Из недостатков отмечается усложнение системы сборки, нежелание привязываться к пакетной системе cargo, расширение требований к сборочному окружению и необходимость включения компилятора Rust в сборочные зависимости, обязательные для построения ключевых компонентов рабочего стола в Linux.
Дополнительно можно отметить работу по развитию драйвера Nouveau, также проведённую Кэролом Хербстом. В драйвер Nouveau добавлена базовая поддержка OpenGL для GNU NVIDIA GeForce RTX 30xx на базе микроархитектуры Ampere, выпускаемых с мая 2020 года. Связанные с поддержкой новых чипов изменения войдут в состав ядра Linux 6.2 sareng Mesa 22.3.
sumber: opennet.ru
