I sviluppatori di u prughjettu Mesa anu annunziatu a certificazione da l'urganisazione Khronos di u driver rusticl, chì hà passatu cù successu tutte e teste da u set CTS (Kronos Conformance Test Suite) è hè ricunnisciutu cum'è cumplettamente cumpatibile cù a specificazione OpenCL 3.0, chì definisce API è API. estensioni di a lingua C per l'urganizazione di l'informatica parallela multipiattaforma. L'ottenimentu di un certificatu vi permette di dichjarà ufficialmente a conformità à i normi è di utilizà i marchi Khronos associati. A prova hè stata realizata nantu à un sistema cù GPU Intel integrate di generazione 12 chì utilizanu u driver Gallium3D Iris.
U cunduttore hè scrittu in Rust è sviluppatu da Karol Herbst da Red Hat, chì hè implicatu in u sviluppu di Mesa, u driver Nouveau è OpenCL open stack. Rusticle agisce cum'è un analogu di u frontend OpenCL Clover di Mesa è hè ancu sviluppatu cù l'interfaccia Gallium furnita in Mesa. Clover hè stata abbandunata per un bellu pezzu è rusticl hè posizionatu cum'è u so futuru sustitutu. In più di ottene a cumpatibilità OpenCL 3.0, u prughjettu Rusticle difiere da Clover in u sustegnu di l'estensione OpenCL per u processu di l'imaghjini, ma ùn sustene micca ancu u formatu FP16. Per generà ligami per Mesa è OpenCL, chì permettenu di chjamà funzioni Rust da u codice C è vice versa, rust-bindgen hè utilizatu in Rusticle.
U codice di supportu di lingua Rust è u driver rusticl sò stati accettati in u mainstream Mesa è seranu offerti in a versione Mesa 22.3, prevista à a fini di nuvembre. U supportu Rust è rusticl serà disattivatu per difettu è necessitarà una custruzione cù l'opzioni "-D gallium-rusticl=true -Dllvm=enabled -Drust_std=2021" esplicitamente specificate. Quandu custruite, avete bisognu di u compilatore rustc, u generatore di binding bindgen, LLVM, SPIRV-Tools è SPIRV-LLVM-Translator cum'è dipendenze supplementari.
Возможность использования языка Rust в проекте Mesa обсуждается с 2020 года. Из плюсов поддержки Rust упоминается повышение безопасности и качества драйверов за счёт избавления от типовых проблем при работе с памятью, а также возможность включения в состав Mesa сторонних наработок, таких как Kazan (реализация Vulkan на Rust). Из недостатков отмечается усложнение системы сборки, нежелание привязываться к пакетной системе cargo, расширение требований к сборочному окружению и необходимость включения компилятора Rust в сборочные зависимости, обязательные для построения ключевых компонентов рабочего стола в Linux.
Дополнительно можно отметить работу по развитию драйвера Nouveau, также проведённую Кэролом Хербстом. В драйвер Nouveau добавлена базовая поддержка OpenGL для GNU NVIDIA GeForce RTX 30xx на базе микроархитектуры Ampere, выпускаемых с мая 2020 года. Связанные с поддержкой новых чипов изменения войдут в состав ядра Linux 6.2 è Mesa 22.3.
Source: opennet.ru
