Crates.io | mozangle |
lib.rs | mozangle |
version | 0.5.2 |
source | src |
created_at | 2018-03-04 09:39:11.822692 |
updated_at | 2024-10-29 08:36:27.76996 |
description | Mozilla's fork of Google ANGLE, repackaged as a Rust crate. |
homepage | |
repository | https://github.com/servo/mozangle |
max_upload_size | |
id | 53784 |
size | 23,083,771 |
Mozilla's fork of Google ANGLE, repackaged as a Rust crate.
ANGLE is an implementation of OpenGL ES. Its official build system is gn
, from Chromium's
depot_tools.
mozilla/angle on GitHub is a fork with some Gecko-specific patches.
gfx/angle
in mozilla-central is generated from that. update-angle.py
runs gn desc
to
extract information from the official build system, copies relevant source files, and creates
moz.build
files for Gecko's build system.
This repository imports a copy of the gfx/angle
directory. The generate_build_data.py
script
turns data from moz.build
files into a Rust source file. (This script supports just enough of
the moz.build
format for this specific purpose.) Finally, a Cargo build script drives the C++
compilation with the cc crate based on that data.
By default, this crate only compiles the shader translator.
In Windows, the egl
Cargo feature enables the EGL and OpenGL ES implementations. Although upstream
ANGLE supports more platforms, this crate only configures the Direct3D 11 rendering backend.
[dependencies]
mozangle = { version = "0.5", features = ["egl"] }
To update:
gfx/angle
entirelypatches
directorypython3 generate_build_data.py