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.
Steps:
ninja -C out/Debug angle_end2end_tests
, for example.On Mac, ANGLE doesn‘t yet include the dEQP tests or the API translation libraries as part of Chromium. 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.
Steps:
cd src/third_party/angle gclient config --name . --unmanaged https://chromium.googlesource.com/angle/angle.git gclient sync git checkout master
cd src/third_party/angle GYP_GENERATORS=ninja gclient runhooks
cd src/third_party/angle ninja -j 10 -k1 -C out/Debug
cd src/third_party/angle ninja -j 10 -k1 -C out/Debug angle_gles2_deqp_tests
cd src/third_party/angle ./out/Debug/hello_triangle
If you decide to go back to the Chromium-managed version, just remove the .gclient
file.
If you're actively developing within ANGLE in your Chromium workspace you will want to work with top of tree ANGLE. To do this do the following:
.gclient
solutions = [ { # ... u'custom_deps': { "src/third_party/angle": None, }, }, ]
You then 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:
src/third_party/angle
line in your custom_deps
.gclient sync
your Chromium workspace.