นักพัฒนาโครงการ Mesa ได้ประกาศการรับรองโดยองค์กร Khronos ของไดรเวอร์ Rustic ซึ่งผ่านการทดสอบทั้งหมดจากชุด CTS (Kronos Conformance Test Suite) ได้สำเร็จ และได้รับการยอมรับว่าเข้ากันได้อย่างสมบูรณ์กับข้อกำหนด OpenCL 3.0 ซึ่งกำหนด API และ ส่วนขยายของภาษา C สำหรับการจัดการการประมวลผลแบบขนานข้ามแพลตฟอร์ม การได้รับใบรับรองทำให้คุณสามารถประกาศการปฏิบัติตามมาตรฐานอย่างเป็นทางการและใช้เครื่องหมายการค้า Khronos ที่เกี่ยวข้องได้ การทดสอบดำเนินการบนระบบที่มี Intel GPU รุ่นที่ 12 ในตัว โดยใช้ไดรเวอร์ Gallium3D Iris
ไดรเวอร์นี้เขียนด้วยภาษา Rust และพัฒนาโดย Karol Herbst จาก Red Hat ซึ่งเกี่ยวข้องกับการพัฒนา Mesa ไดรเวอร์ Nouveau และ OpenCL open stack Rusticle ทำหน้าที่เป็นอะนาล็อกของ OpenCL frontend Clover ของ Mesa และยังได้รับการพัฒนาโดยใช้อินเทอร์เฟซ Gallium ที่ให้ไว้ใน Mesa Clover ถูกทิ้งร้างมาเป็นเวลานาน และ Rusticl จะถูกวางตำแหน่งให้เป็นสิ่งทดแทนในอนาคต นอกเหนือจากการบรรลุความเข้ากันได้ของ OpenCL 3.0 แล้ว โครงการ Rusticle ยังแตกต่างจาก Clover ในการรองรับส่วนขยาย OpenCL สำหรับการประมวลผลภาพ แต่ยังไม่รองรับรูปแบบ FP16 ในการสร้างการเชื่อมโยงสำหรับ Mesa และ OpenCL ทำให้คุณสามารถเรียกใช้ฟังก์ชัน Rust จากโค้ด C และในทางกลับกัน จะใช้Rust-bindgen ใน Rusticle
รหัสสนับสนุนภาษา Rust และไดรเวอร์ชนบทได้รับการยอมรับในกระแสหลักของ Mesa และจะนำเสนอในรุ่น Mesa 22.3 ซึ่งคาดว่าจะในช่วงปลายเดือนพฤศจิกายน การสนับสนุน Rust และ Rusticl จะถูกปิดใช้งานตามค่าเริ่มต้น และจะต้องมีบิลด์ที่มีการระบุอ็อพชัน "-D gallium-rusticl=true -Dllvm=enabled -Drust_std=2021" อย่างชัดเจน เมื่อสร้าง คุณจะต้องมีคอมไพเลอร์rustc, ตัวสร้างการผูกมัดbindgen, LLVM, SPIRV-Tools และ SPIRV-LLVM-Translator เป็นการขึ้นต่อกันเพิ่มเติม
Возможность использования языка Rust в проекте Mesa обсуждается с 2020 года. Из плюсов поддержки Rust упоминается повышение безопасности и качества драйверов за счёт избавления от типовых проблем при работе с памятью, а также возможность включения в состав Mesa сторонних наработок, таких как Kazan (реализация Vulkan на Rust). Из недостатков отмечается усложнение системы сборки, нежелание привязываться к пакетной системе cargo, расширение требований к сборочному окружению и необходимость включения компилятора Rust в сборочные зависимости, обязательные для построения ключевых компонентов рабочего стола в Linux.
Дополнительно можно отметить работу по развитию драйвера Nouveau, также проведённую Кэролом Хербстом. В драйвер Nouveau добавлена базовая поддержка OpenGL для GNU NVIDIA GeForce RTX 30xx на базе микроархитектуры Ampere, выпускаемых с мая 2020 года. Связанные с поддержкой новых чипов изменения войдут в состав ядра Linux 6.2 และ เมซา 22.3
ที่มา: opennet.ru
