Os desenvolvedores do proxecto Mesa anunciaron a certificación por parte da organización Khronos do controlador rusticl, que superou con éxito todas as probas do conxunto CTS (Kronos Conformance Test Suite) e está recoñecido como totalmente compatible coa especificación OpenCL 3.0, que define as API e extensións da linguaxe C para organizar a computación paralela multiplataforma. A obtención dun certificado permítelle declarar oficialmente o cumprimento dos estándares e utilizar as marcas rexistradas asociadas de Khronos. A proba realizouse nun sistema con GPU Intel integradas de 12 xeracións utilizando o controlador Gallium3D Iris.
O controlador está escrito en Rust e desenvolvido por Karol Herbst de Red Hat, que participa no desenvolvemento de Mesa, o controlador Nouveau e a pila aberta OpenCL. Rusticle actúa como un análogo da interfaz OpenCL Clover de Mesa e tamén se desenvolve mediante a interface Gallium proporcionada en Mesa. O trevo leva moito tempo abandonado e rusticl sitúase como o seu futuro substituto. Ademais de acadar a compatibilidade con OpenCL 3.0, o proxecto Rusticle diferénciase de Clover en que admite extensións OpenCL para o procesamento de imaxes, pero aínda non admite o formato FP16. Para xerar ligazóns para Mesa e OpenCL, o que lle permite chamar ás funcións de Rust desde código C e viceversa, Rusticle úsase rust-bindgen.
O código de compatibilidade do idioma Rust e o controlador rusticl foron aceptados no mainstream de Mesa e ofreceranse na versión 22.3 de Mesa, prevista para finais de novembro. O soporte Rust e rusticl desactivarase de forma predeterminada e requirirá unha compilación coas opcións "-D gallium-rusticl=true -Dllvm=enabled -Drust_std=2021" especificadas explícitamente. Ao construír, necesitarás o compilador rustc, o xerador de ligazóns Bindgen, LLVM, SPIRV-Tools e SPIRV-LLVM-Translator como dependencias adicionais.
A posibilidade de usar a linguaxe Rust no proxecto Mesa leva debaténdose desde 2020. Entre as vantaxes de soportar Rust están o aumento da seguridade e a calidade dos controladores debido á eliminación de problemas comúns de memoria, así como a capacidade de incorporar desenvolvementos de terceiros en Mesa, como Kazan (unha implementación de Vulkan para Rust). As desvantaxes inclúen unha maior complexidade do sistema de compilación, a reticencia a vincularse ao sistema de empaquetado de carga, os requisitos ampliados do ambiente de compilación e a necesidade de incluír o compilador Rust nas dependencias de compilación necesarias para compilar compoñentes clave do escritorio. Linux.
Ademais, é digno de mención o traballo de desenvolvemento do controlador Nouveau, tamén dirixido por Carol Herbst. O controlador Nouveau engade compatibilidade básica con OpenGL para as GPU NVIDIA GeForce RTX 30xx baseadas na microarquitectura Ampere, lanzadas desde maio de 2020. Os cambios relacionados coa compatibilidade cos novos chips incorporaranse ao kernel. Linux 6.2 e Mesa 22.3.
Fonte: opennet.ru
