drawElements (dEQP) is a very robust and comprehensive set of open-source tests for GLES2, GLES3+ and EGL. They provide a huge net of coverage for almost every GL API feature. ANGLE by default builds dEQP testing targets for testing against GLES 2, GLES 3, EGL, and GLES 3.1 (on supported platforms).
You should have dEQP as a target if you followed the DevSetup instructions. Current targets:
angle_deqp_gles2_testsfor GLES 2.0 tests
angle_deqp_gles2_no_gtestfor GLES 2.0 tests without google test suite
angle_deqp_gles3_testsfor GLES 3.0 tests
angle_deqp_gles3_no_gtestfor GLES 3.0 tests without google test suite
angle_deqp_egl_testsfor EGL 1.x tests
angle_deqp_egl_no_gtestfor EGL 1.x tests without google test suite
angle_deqp_gles31_testsfor GLES 3.1 tests (currently very experimental)
angle_deqp_gles31_no_gtestfor GLES 3.1 tests (currently very experimental) without google test suite
Note: To run an individual test, use the
--deqp-case flag on any of the
no_gtest targets. It supports simple wildcard support. For example:
--deqp-case=dEQP- GLES2.functional.shaders.linkage.*. The
gtest targets support wildcards via the
--gtest_filter argument, but have different test names.
The tests lists are sourced from the Android CTS masters in
If you're running a full test suite, it might take very long time. Running in Debug is only useful to isolate and fix particular failures, Release will give a better sense of total passing rate.
By default Windows ANGLE tests with D3D11. To specify the exact platform for ANGLE + dEQP, use the arguments:
--deqp-egl-display-type=angle-d3d11for D3D11 (highest available feature level)
--deqp-egl-display-type=angle-d3d11-fl93for D3D11 Feature level 9_3
--deqp-egl-display-type=angle-glfor OpenGL Desktop (OSX, Linux and Windows)
--deqp-egl-display-type=angle-glesfor OpenGL ES (Android/ChromeOS, some Windows platforms)
--deqp-egl-display-type=angle-vulkanfor Vulkan (Android, Linux, Windows)
If run from Visual Studio 2015, dEQP generates a test log to
out/sln/obj/src/tests/TestResults.qpa. To view the test log information, you'll need to use the open-source GUI Cherry. ANGLE checks out a copy of Cherry to
angle/third_party/cherry when you sync with gclient. Note, if you are using ninja or another build system, the qpa file will be located in your working directory.
See the official Cherry README for instructions on how to run Cherry on Linux or Windows.
ANGLE also supports the same set of targets built with GoogleTest, for running on the bots. We don't currently recommend using these for local debugging, but we do maintain lists of test expectations in
src/tests/deqp_support. When you fix tests, please remove the suppression(s) from the relevant files!