On Windows, Linux, and Mac ANGLE now builds most core components cross platform, including the shader validator and translator as well as the graphics API translator. These parts can be built and tested inside a Chromium checkout.
ANGLE also includes some sample applications and a few other targets that don't build on Chromium. These steps describe how to build such targets within a Chromium checkout.
Prerequisite Steps:
- To sync all standalone dependencies run:
cd src/third_party/angle
python3 scripts/bootstrap.py
gclient sync
- To generate ANGLE standalone build files run:
cd src/third_party/angle
gn gen out/Debug
- To build:
cd src/third_party/angle
ninja -j 10 -k1 -C out/Debug
- For example,
ninja -j 10 -k1 -C out/Debug angle_gles2_deqp_tests
- To run a sample application:
./out/Debug/hello_triangle
- To go back to the Chromium-managed version, remove
third_party/angle/.gclient
.
You will also want to work with a local version of ANGLE instead of the version that is pulled in by Chromium's DEPS file. To do this do the following:
- cd to
chromium/
. One directory abovechromium/src
. Add this tochromium/.gclient
:
solutions = [
{
# ...
u'custom_deps':
{
"src/third_party/angle": None,
},
},
]
You will have full control over your ANGLE workspace and are responsible for running all git commands (pull, rebase, etc.) for managing your branches.
If you decide you need to go back to the DEPS version of ANGLE:
- Comment out or remove the
src/third_party/angle
line in yourcustom_deps
inchomium/.gclient
. - Se the ANGLE workspace to the version specified in Chromium's DEPS. Ensure there are no modified or new files.
gclient sync
your Chromium workspace.