Mesa layihəsinin tərtibatçıları CTS (Kronos Conformance Test Suite) dəstindən bütün sınaqlardan uğurla keçmiş və API və API-ləri müəyyən edən OpenCL 3.0 spesifikasiyasına tam uyğun olaraq tanınan rusticl sürücüsünün Khronos təşkilatı tərəfindən sertifikatlaşdırıldığını elan etdilər. çarpaz platforma paralel hesablamaların təşkili üçün C dilinin genişləndirilməsi. Sertifikat əldə etmək sizə standartlara uyğunluğu rəsmi şəkildə bəyan etməyə və əlaqəli Khronos ticarət nişanlarından istifadə etməyə imkan verir. Test Gallium12D Iris sürücüsündən istifadə edərək 3 nəsil inteqrasiya olunmuş Intel GPU-ları olan sistemdə aparılıb.
Sürücü Rust dilində yazılmış və Mesa, Nouveau sürücüsü və OpenCL açıq yığınının hazırlanmasında iştirak edən Red Hat-dan Karol Herbst tərəfindən hazırlanmışdır. Rusticle Mesa-nın OpenCL frontend Clover-in analoqu kimi çıxış edir və həmçinin Mesa-da təqdim olunan Gallium interfeysindən istifadə etməklə hazırlanmışdır. Yonca uzun müddət tərk edilmişdir və rustikl onun gələcək əvəzedicisi kimi yerləşdirilmişdir. OpenCL 3.0 uyğunluğuna nail olmaqdan əlavə, Rusticle layihəsi təsvirin işlənməsi üçün OpenCL genişləndirmələrini dəstəkləməkdə Clover-dən fərqlənir, lakin hələ FP16 formatını dəstəkləmir. Mesa və OpenCL üçün bağlamalar yaratmaq üçün, Rust funksiyalarını C kodundan və əksinə çağırmağa imkan verir, Rusticle-də rust-bindgen istifadə olunur.
Rust dil dəstəyi kodu və rustik sürücü Mesa əsas axınına qəbul edilib və noyabrın sonunda gözlənilən Mesa 22.3 buraxılışında təklif olunacaq. Rust və rusticl dəstəyi defolt olaraq deaktiv ediləcək və açıq şəkildə göstərilən "-D gallium-rusticl=true -Dllvm=enabled -Drust_std=2021" seçimləri ilə quruluş tələb edəcək. Tikinti zamanı sizə əlavə asılılıqlar kimi rustc kompilyatoru, bağlama generatoru, LLVM, SPIRV-Tools və SPIRV-LLVM-Translator lazımdır.
Возможность использования языка Rust в проекте Mesa обсуждается с 2020 года. Из плюсов поддержки Rust упоминается повышение безопасности и качества драйверов за счёт избавления от типовых проблем при работе с памятью, а также возможность включения в состав Mesa сторонних наработок, таких как Kazan (реализация Vulkan на Rust). Из недостатков отмечается усложнение системы сборки, нежелание привязываться к пакетной системе cargo, расширение требований к сборочному окружению и необходимость включения компилятора Rust в сборочные зависимости, обязательные для построения ключевых компонентов рабочего стола в Linux.
Дополнительно можно отметить работу по развитию драйвера Nouveau, также проведённую Кэролом Хербстом. В драйвер Nouveau добавлена базовая поддержка OpenGL для GNU NVIDIA GeForce RTX 30xx на базе микроархитектуры Ampere, выпускаемых с мая 2020 года. Связанные с поддержкой новых чипов изменения войдут в состав ядра Linux 6.2 və Mesa 22.3.
Mənbə: opennet.ru
