Mesa 开发人员正在讨论添加 Rust 代码的可能性

梅萨项目开发商 正在讨论 能够使用 Rust 语言开发 OpenGL/Vulkan 驱动程序和图形堆栈组件。 讨论由驱动程序开发人员 Alyssa Rosenzweig 发起 霜冻 适用于基于 Midgard 和 Bifrost 微架构的 Mali GPU。 该倡议正处于讨论阶段,尚未做出具体决定。

使用 Rust 的支持者强调其能够提高内存性能并消除访问释放后内存、空指针取消引用和缓冲区溢出等问题。 Rust 支持还允许 Mesa 包含第三方开发,例如软件渲染系统 喀山 使用 Rust 编写的 Vulkan 图形 API 实现。

值得注意的是,由于在支持 WebGL 的浏览器中执行不可信代码时使用 OpenGL,提高驱动程序安全性的紧迫性最近有所增加,这使得驱动程序成为攻击用户系统的重要载体。 目前,Mesa 已经使用 ralloc 和静态代码分析等工具来最大限度地减少内存问题,但它们的使用还不够。

Rust 实施的反对者 考虑,Rust 的大部分有用功能都可以通过将开发转移到现代 C++ 来获得,考虑到 Mesa 的大部分是用 C 编写的,这看起来更有吸引力。 在反对 Rust 的论点中还提到了 并发症 装配系统, 不渴望 绑定到货物包装系统,
扩大了对装配环境的要求 需要包括 Rust 编译器将其编译成在 Linux 上构建关键桌面组件所需的程序集依赖项。

AMD 也观察到了使用 Rust 进行开发的趋势,最近该公司 开设了一个空缺职位 Rust 程序员开发与 Radeon GPU 3D 驱动程序相关的新工具。

来源: opennet.ru

添加评论