Hash :
2937ee27
Author :
Date :
2024-01-08T20:01:48
Manual roll VK-GL-CTS from c92e4b2608d4 to 75a6a8315e20 (14 revisions) Includes manual ANGLE changes to reference new file names. https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/c92e4b2608d4..75a6a8315e20 2024-01-08 lorenzo@khronosgroup.org Update external sources 2024-01-07 rgarcia@igalia.com More VK_EXT_host_image_copy tests with depth/stencil buffers 2024-01-07 rgarcia@igalia.com Additional host image copy tests 2024-01-07 rgarcia@igalia.com Fix identical_memory_layout host image copy tests 2024-01-07 james.fitzpatrick@imgtec.com Check for entry points dependencies and validate all entry points from extensions 2024-01-07 rgarcia@igalia.com Add --quiet option to suppress standard output messages 2024-01-07 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.3.7 into vk-gl-cts/main 2024-01-05 gleese@broadcom.com Allow VK_KHR_vertex_attribute_divisor 2024-01-05 jbolz@nvidia.com Disable KHR attrib_divisor tests for VulkanSC 2024-01-05 cturner@igalia.com Populate all members of StdVideoDecodeH265PictureInfoFlags 2024-01-05 eilif.swensen@arm.com Add external_format_resolve to no_unknown_extensions 2024-01-05 marcin.hajder@mobica.com TransformFeedback API errors in compatibility profiles 2024-01-05 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkansc-cts-1.0.2 into vk-gl-cts/main 2024-01-02 aitor@lunarg.com Rename files/directories from master to main If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vk-gl-cts-angle-autoroll Please CC angle-team@google.com,cnorthrop@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: angleproject:8475 Change-Id: Iab2df38c310becb4785828d7129fe10c6d0228fc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5177828 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
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. Some of the current targets are:
angle_deqp_egl_tests for EGL 1.x tests angle_deqp_gles2_tests for GLES 2.0 tests angle_deqp_gles3_tests for GLES 3.0 tests angle_deqp_gles31_tests for GLES 3.1 tests
Note:
To run an individual test, use the --gtest_filter argument.
It supports simple wildcards. For example: --gtest_filter=dEQP-GLES2.functional.shaders.linkage.*.
The tests lists are sourced from the Android CTS mains in
third_party/VK-GL-CTS/src/android/cts/main. See gles2-main.txt,
gles3-main.txt, gles31-main.txt and egl-main.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.
By default ANGLE tests with D3D11 on Windows, GLES on mobile and Desktop GL otherwise. 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) --deqp-egl-display-type=angle-metal for Metal (Mac) --deqp-egl-display-type=angle-swiftshader for Vulkan with SwiftShader as driver (Android, Linux, Mac, Windows) --deqp-egl-display-type=angle-vulkan for Vulkan (Android, Linux, Windows)
The flag --use-angle=X has the same effect as --deqp-egl-display-type=angle-X.
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 (see
Handling Test Failures). When
you fix tests, please remove the suppression(s) from the relevant files!
When you only need to run a few tests with --gtest_filter you can use Android wrappers such as angle_deqp_egl_tests directly but beware that Android test runner wipes data by default (try --skip-clear-data).
Running the tests not using the test runner is tricky, but is necessary in order to get a complete TestResults.qpa from the dEQP tests when running many tests (since the runner shards the tests, only the results of the last shard will be available when using the test runner). First, use the runner to install the APK, test data and test expectations on the device. After the tests start running, the test runner can be stopped with Ctrl+C. Then, run
adb shell am start -a android.intent.action.MAIN -n org.chromium.native_test/.NativeUnitTestNativeActivity -e org.chromium.native_test.NativeTest.StdoutFile /sdcard/chromium_tests_root/out.txt
After the tests finish, get the results with (requires adb root)
adb pull /data/data/com.android.angle.test/TestResults.qpa .
Note: this location might change, one can double-check with adb logcat -d | grep qpa.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
# 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. Some of the current targets are:
* `angle_deqp_egl_tests` for EGL 1.x tests
* `angle_deqp_gles2_tests` for GLES 2.0 tests
* `angle_deqp_gles3_tests` for GLES 3.0 tests
* `angle_deqp_gles31_tests` for GLES 3.1 tests
## How to use dEQP
Note:
To run an individual test, use the `--gtest_filter` argument.
It supports simple wildcards. For example: `--gtest_filter=dEQP-GLES2.functional.shaders.linkage.*`.
The tests lists are sourced from the Android CTS mains in
`third_party/VK-GL-CTS/src/android/cts/main`. See `gles2-main.txt`,
`gles3-main.txt`, `gles31-main.txt` and `egl-main.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
By default ANGLE tests with D3D11 on Windows, GLES on mobile and Desktop GL otherwise.
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)
* `--deqp-egl-display-type=angle-metal` for Metal (Mac)
* `--deqp-egl-display-type=angle-swiftshader` for Vulkan with SwiftShader as driver (Android, Linux, Mac, Windows)
* `--deqp-egl-display-type=angle-vulkan` for Vulkan (Android, Linux, Windows)
The flag `--use-angle=X` has the same effect as `--deqp-egl-display-type=angle-X`.
### Check your results
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](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/external/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` (see
[Handling Test Failures](TestingAndProcesses.md)). When
you fix tests, please remove the suppression(s) from the relevant files!
### Running dEQP on Android
When you only need to run a few tests with `--gtest_filter` you can use Android wrappers such as `angle_deqp_egl_tests` directly but beware that Android test runner wipes data by default (try `--skip-clear-data`).
Running the tests not using the test runner is tricky, but is necessary in order to get a complete TestResults.qpa from the dEQP tests when running many tests (since the runner shards the tests, only the results of the last shard will be available when using the test runner). First, use the runner to install the APK, test data and test expectations on the device. After the tests start running, the test runner can be stopped with Ctrl+C. Then, run
```
adb shell am start -a android.intent.action.MAIN -n org.chromium.native_test/.NativeUnitTestNativeActivity -e org.chromium.native_test.NativeTest.StdoutFile /sdcard/chromium_tests_root/out.txt
```
After the tests finish, get the results with (requires `adb root`)
```
adb pull /data/data/com.android.angle.test/TestResults.qpa .
```
Note: this location might change, one can double-check with `adb logcat -d | grep qpa`.