O le au atiaʻe o le poloketi Mesa na faʻasalalau le faʻamaonia e le Khronos faʻalapotopotoga o le avetaavale rusticl, lea na pasia uma suʻega mai le CTS (Kronos Conformance Test Suite) seti ma ua iloa e fetaui lelei ma le OpenCL 3.0 faʻamatalaga, lea e faʻamatalaina API ma fa'aopoopoga o le gagana C mo le fa'atulagaina o komipiuta fa'atutusa fa'alava. O le mauaina o se tusi faamaonia e mafai ai ona e faʻaalia aloaia le tausisia o tulaga ma faʻaoga faʻailoga faʻatau a Khronos. O le suʻega na faia i luga o se faiga faʻatasi ai ma le 12-generation integrated Intel GPUs e faʻaaoga ai le avetaavale Gallium3D Iris.
O le avetaavale na tusia i Rust ma atiae e Karol Herbst mai Red Hat, o loʻo aʻafia i le atinaʻeina o Mesa, le avetaavale Nouveau ma le OpenCL open stack. Rusticle e fai ma analogue o le Mesa's OpenCL frontend Clover ma o lo'o fa'atupuina fo'i i le fa'aogaina o le feso'ota'iga Gallium o lo'o tu'uina atu i Mesa. O le Clover ua leva ona lafoaia ma o le rusticl ua faʻatulagaina e fai ma sui i le lumanaʻi. I le faaopoopo atu i le ausia o OpenCL 3.0 fetaui, o le Rusticle project e ese mai le Clover i le lagolagoina o OpenCL faʻaopoopoga mo le faʻaogaina o ata, ae e leʻi lagolagoina le FP16 format. Ina ia fa'atupu fusi mo Mesa ma OpenCL, fa'atagaina oe e vala'au galuega Rust mai le C code ma le isi itu, rust-bindgen fa'aaogaina i Rusticle.
O le tulafono lagolago gagana Rust ma le avetaavale rustl ua taliaina i le Mesa mainstream ma o le a ofoina atu i le Mesa 22.3 faʻasalalauga, faʻamoemoe i le faaiuga o Novema. O le a fa'aletonu le lagolago a le Rust ma le rusticl ona o le faaletonu ma o le a mana'omia se fau ma le "-D gallium-rusticl=true -Dllvm=enabled -Drust_std=2021" filifiliga o lo'o fa'ailoa manino mai. A fau, e te mana'omia le rustc compiler, bindgen binding generator, LLVM, SPIRV-Tools, ma le SPIRV-LLVM-Translator e fai ma fa'aopoopoga fa'alagolago.
Возможность использования языка Rust в проекте Mesa обсуждается с 2020 года. Из плюсов поддержки Rust упоминается повышение безопасности и качества драйверов за счёт избавления от типовых проблем при работе с памятью, а также возможность включения в состав Mesa сторонних наработок, таких как Kazan (реализация Vulkan на Rust). Из недостатков отмечается усложнение системы сборки, нежелание привязываться к пакетной системе cargo, расширение требований к сборочному окружению и необходимость включения компилятора Rust в сборочные зависимости, обязательные для построения ключевых компонентов рабочего стола в Linux.
Дополнительно можно отметить работу по развитию драйвера Nouveau, также проведённую Кэролом Хербстом. В драйвер Nouveau добавлена базовая поддержка OpenGL для GNU NVIDIA GeForce RTX 30xx на базе микроархитектуры Ampere, выпускаемых с мая 2020 года. Связанные с поддержкой новых чипов изменения войдут в состав ядра Linux 6.2 ma le Mesa 22.3.
puna: opennet.ru
