ANGLE provides an implementation of OpenGL ES on Windows, which Chromium relies upon for hardware accelerated rendering and WebGL support. Chromium specifies its dependency on a specific version of ANGLE in the repository; this document describes how to update that dependency, and, if necessary, create an ANGLE branch to correspond to a branched release of Chrome.
ANGLE‘s commit queue also runs browser-level tests which are hosted in the Chromium repository. To reduce the chance of a Chromium-side change breaking ANGLE’s CQ, the version of Chromium against which ANGLE changes is also snapshotted, and rolled forward into ANGLE with appropriate testing.
At present, autorollers manage both the ANGLE roll into Chromium, and the Chromium roll into ANGLE. All of the ANGLE-related autorollers are documented in the ANGLE Wrangling documentation.
Chromium's dependency on third-party projects is tracked in the Chromium repository's src/DEPS file. To update the ANGLE dependency:
git log
on the appropriate branch of the repository, or via the public repository viewer.https://chromium.googlesource.com/angle/angle/+/<branch name>/
-- including the terminating forward slash. (e.g. https://chromium.googlesource.com/angle/angle/+/main/
)Sometimes, individual changes to ANGLE are needed for a release of Chrome which has already been branched. If this is the case, a branch of ANGLE should be created to correspond to the Chrome release version, so that Chrome may incorporate only these changes, and not everything that has been committed since the version on which Chrome depended at branch time. Please note: Only ANGLE admins can create a new branch. To create a branch of ANGLE for a branched Chrome release:
git checkout -b mybranch 4df02c1ed5e97dd54576b06964b1da67ea30238e
git push origin mybranch:refs/heads/chrome_m34