Татбиқи нави OpenCL (rusticl), ки бо забони Rust навишта шудааст, ки барои лоиҳаи Mesa таҳия шудааст, аз маҷмӯи санҷиши CTS (Kronos Conformance Test Suite), ки аз ҷониби консорсиуми Khronos барои арзёбии мутобиқат бо мушаххасоти OpenCL 3.0 истифода мешавад, бомуваффақият гузашт. Лоиҳаро Карол Ҳербст аз Red Hat таҳия мекунад, ки дар таҳияи Mesa, ронандаи Nouveau ва стеки кушодаи OpenCL иштирок мекунад. Қайд карда мешавад, ки Кэрол бо Хронос дар бораи сертификатсияи расмии дастгирии OpenCL 3.0 дар rusticl тамос гирифт.
Санҷишҳо дар система бо насли 12-уми Intel GPU (Alder Lake) анҷом дода шуданд. Кор бо истифода аз ронандаи Mesa Iris анҷом дода шуд, аммо лоиҳа инчунин бояд бо дигар ронандагони Mesa, ки намояндагии мобайнии бесим (IR) -и шэйдерҳои NIR-ро истифода мебаранд, кор кунад. Дархост дар бораи муттаҳидсозии Rusticle бо Mesa ҳоло ҳам мавриди баррасӣ қарор дорад ва дар бораи дохил кардани рамзи Rust ба Меса тасмим гирифта нашудааст. Пеш аз он ки Rusticl ба таркиби асосии Mesa қабул карда шавад, шумо метавонед як шохаи алоҳидаро барои сохтмон истифода баред, ки ҳангоми тартиб додани он шумо бояд параметрҳои сохтмонро муайян кунед “-Dgallium-rusticl=true -Dopencl-spirv=true -Dshader-cache=true -Dllvm= рост».
Rusticle ҳамчун аналоги Clover-и OpenCL Frontend Mesa амал мекунад ва инчунин бо истифода аз интерфейси Gallium дар Mesa таҳия шудааст. Ҳиссаи беда барои муддати тӯлонӣ партофта шуда буд ва rusticl ҳамчун ивазкунандаи ояндаи он ҷойгир карда шудааст. Илова ба ноил шудан ба мутобиқати OpenCL 3.0, лоиҳаи Rusticle аз Clover бо дастгирии васеъшавии OpenCL барои коркарди тасвир фарқ мекунад, аммо формати FP16-ро ҳанӯз дастгирӣ намекунад.
Для генерации биндингов для Mesa и OpenCL, позволяющих вызывать Rust-функции из кода на Си и наоборот, в Rusticl задействован rust-bindgen. Возможность использования языка Rust в проекте Mesa обсуждается с 2020 года. Из плюсов поддержки Rust упоминается повышение безопасности и качества драйверов за счёт избавления от типовых проблем при работе с памятью, а также возможность включения в состав Mesa сторонних наработок, таких как Kazan (реализация Vulkan на Rust). Из недостатков отмечается усложнение системы сборки, нежелание привязываться к пакетной системе cargo, расширение требований к сборочному окружению и необходимость включения компилятора Rust в сборочные зависимости, обязательные для построения ключевых компонентов рабочего стола в Linux.
Манбаъ: opennet.ru
