| # ANGLE + dEQP |
| |
| 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). |
| |
| ## How to build dEQP |
| |
| You should have dEQP as a target if you followed the [DevSetup](DevSetup.md) |
| instructions. Current targets: |
| |
| * `angle_deqp_gles2_tests` for GLES 2.0 tests |
| * `angle_deqp_gles3_tests` for GLES 3.0 tests |
| * `angle_deqp_egl_tests` for EGL 1.x tests |
| * `angle_deqp_gles31_tests` for GLES 3.1 tests (currently very experimental) |
| |
| ## How to use dEQP |
| |
| The `--deqp-case` flag allows you to run individual tests, with simple |
| wildcard support. For example: `--deqp-case=dEQP- |
| GLES2.functional.shaders.linkage.*`. |
| |
| The tests lists are sourced from the Android CTS masters in |
| `third_party/deqp/src/android/cts/master`. See `gles2-master.txt`, |
| `gles3-master.txt`, `gles31-master.txt` and `egl-master.txt`. |
| |
| 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. |
| |
| ### Choosing a Renderer on Windows |
| |
| By default Windows ANGLE tests with D3D11. To specify the exact platform for |
| ANGLE + dEQP, use the arguments: |
| |
| * `--deqp-egl-display-type=angle-d3d11` for D3D11 (highest available feature level) |
| * `--deqp-egl-display-type=angle-d3d9` for D3D9 |
| * `--deqp-egl-display-type=angle-d3d11-fl93` for D3D11 Feature level 9_3 |
| * `--deqp-egl-display-type=angle-gl` for OpenGL Desktop (OSX, Linux and Windows) |
| * `--deqp-egl-display-type=angle-gles` for OpenGL ES (Android/ChromeOS, some Windows platforms) |
| |
| ### Check your results |
| |
| If run from Visual Studio 2015, dEQP generates a test log to |
| `src/tests/TestResults.qpa`. To view the test log information, you'll need to |
| use the open-source GUI |
| [Cherry](https://android.googlesource.com/platform/external/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](https://android.googlesource.com/platform/ext |
| ernal/cherry/+/master/README) for instructions on how to run Cherry on Linux |
| or Windows. |
| |
| ### GoogleTest, ANGLE and dEQP |
| |
| 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! |