26 个版本
使用旧的 Rust 2015
0.5.1 | 2024 年 2 月 9 日 |
---|---|
0.5.0 | 2023 年 12 月 7 日 |
0.4.0 | 2023 年 10 月 11 日 |
0.3.5 | 2023 年 7 月 1 日 |
0.1.6 | 2018 年 3 月 15 日 |
54 在 图形 API
8,447 每月下载
在 5 crates 中使用
14MB
310K SLoC
mozangle
Mozilla 对 Google ANGLE 的分支,重新打包成 Rust 包。
-
ANGLE 是 OpenGL ES 的实现。它的官方构建系统是 Chromium 的 depot_tools 中的
gn
。 -
mozilla/angle 在 GitHub 上是一个带有一些 Gecko 特定补丁的分支。
-
gfx/angle
在 mozilla-central 中是由它生成的。update-angle.py
运行gn desc
从官方构建系统中提取信息,复制相关源文件,并为 Gecko 的构建系统创建moz.build
文件。 -
这个仓库导入
gfx/angle
目录的一个副本。脚本generate_build_data.py
将moz.build
文件中的数据转换为 Rust 源文件。(此脚本仅支持足够的moz.build
格式以实现此特定目的。)最后,基于这些数据,Cargo 构建脚本使用 cc 包驱动 C++ 编译。
功能标志
默认情况下,此包仅编译着色器翻译器。
在Windows中,egl
Cargo功能启用了EGL和OpenGL ES实现。尽管上流ANGLE支持更多平台,但此crate仅配置了Direct3D 11渲染后端。
[dependencies]
mozangle = { version = "0.5", features = ["egl"] }
更新ANGLE
要更新
- 完全删除
gfx/angle
- 从mozilla-central复制其新版本
- 应用
patches
目录中存在的任何补丁 - 运行
python3 generate_build_data.py
- 在提交信息中包含mozilla-central的提交哈希值