Name Date Size #Lines LOC

..--

.github/H25-Apr-2025-42

android/H25-Apr-2025-6,971,3086,966,540

data/H25-Apr-2025-208,745182,406

doc/H25-Apr-2025-8,7996,981

execserver/H25-Apr-2025-5,1253,593

executor/H25-Apr-2025-9,5916,962

external/H25-Apr-2025-7,276,1456,775,738

framework/H25-Apr-2025-193,665147,636

modules/H25-Apr-2025-505,694393,246

scripts/H25-Apr-2025-13,1669,347

targets/H25-Apr-2025-823666

.clang-formatH A D25-Apr-20256.2 KiB190131

.editorconfigH A D25-Apr-2025190 108

.gitattributesH A D25-Apr-2025225 85

.gitignoreH A D25-Apr-202581 1010

Android.bpH A D25-Apr-202510.3 KiB418359

AndroidGen.bpH A D25-Apr-202598.1 KiB1,4491,446

AndroidKhronosCTSGen.bpH A D25-Apr-2025126.8 KiB1,9191,889

CMakeLists.txtH A D25-Apr-202517.9 KiB451363

CODE_OF_CONDUCT.mdH A D25-Apr-2025280 21

LICENSEH A D25-Apr-202511.1 KiB203169

METADATAH A D25-Apr-202539 43

MODULE_LICENSE_APACHE2HD25-Apr-20250

NOTICEH A D25-Apr-202511.1 KiB203169

OWNERSH A D25-Apr-202587 54

README-android.mdH A D25-Apr-2025901 1914

README.mdH A D25-Apr-20254 KiB9065

deqp_binary.ldsH A D25-Apr-202527 65

format_all.shH A D25-Apr-20258.3 KiB193140

README-android.md

1# dEQP for Android
2
3## Notes on `deqp-binary`
4
5`deqp-binary` (defined in `Android.bp`) allows running dEQP offscreen
6from a single binary via adb shell. Not all tests will work,
7but most should be fine.
8
9Example usage:
10
11```sh
12cd $ANDROID_PRODUCT_OUT/testcases/deqp-binary/arm64
13adb push ./ /data/local/tmp/
14adb shell "cd /data/local/tmp && ./deqp-binary64 --deqp-caselist-file=/data/local/tmp/vk-incremental-deqp.txt --deqp-log-images=disable --deqp-log-filename=/sdcard/vk-incremental-deqp-results.qpa --deqp-surface-type=fbo --deqp-surface-width=2048 --deqp-surface-height=2048"
15adb shell "cd /data/local/tmp && ./deqp-binary64 --deqp-caselist-file=/data/local/tmp/gles3-incremental-deqp.txt --deqp-log-images=disable --deqp-log-filename=/sdcard/gles3-incremental-deqp-results.qpa --deqp-surface-type=fbo --deqp-surface-width=2048 --deqp-surface-height=2048"
16# Check results.
17adb logcat -s dEQP
18```
19

README.md

1VK-GL-CTS README
2===========
3
4This repository contains Khronos Conformance Testing Suite called VK-GL-CTS
5which originated from dEQP (drawElements Quality Program).
6VK-GL-CTS contains tests for several graphics APIs, including
7OpenGL, OpenGL ES, EGL, Vulkan, and Vulkan SC.
8
9Documentation
10-------------
11
12Up-to-date documentation for VK-GL-CTS is available at:
13
14* [The VK-GL-CTS wiki for Khronos members](https://gitlab.khronos.org/Tracker/vk-gl-cts/wikis/home)
15* [The VK-GL-CTS wiki for non-Khronos members](https://github.com/KhronosGroup/VK-GL-CTS/wiki)
16
17The .qpa logs generated by the conformance tests may contain embedded PNG images of the results.
18These can be viewed with `scripts/qpa_image_viewer.html`, by opening the file
19with a web browser and following its instructions, or using the
20[Cherry](https://android.googlesource.com/platform/external/cherry/)
21tool.
22
23Khronos Vulkan Conformance Tests
24--------------------------------
25
26This repository includes Khronos Vulkan CTS under `external/vulkancts` directory.
27For more information see [Vulkan CTS README](external/vulkancts/README.md).
28
29Khronos OpenGL / OpenGL ES Conformance Tests
30--------------------------------
31
32This repository includes Khronos OpenGL / OpenGL ES CTS under `external/openglcts` directory.
33For more information see [OpenGL / OpenGL ES CTS README](external/openglcts/README.md).
34
35Selecting a subset of targets to build by default
36--------------------------------
37
38When configuring the source code of VK-GL-CTS for running either Vulkan
39Conformance Tests or OpenGL(ES) Conformance Tests as described above, CMake will
40generate build files that, by default on desktop platforms, will build every
41possible project binary. This may be undesirable due the amount of time and disk
42space needed to perform the build.
43
44One way of selecting only a subset of the targets to be built is using CMake's
45target selection mechanism. For example, the following command will only build
46`deqp-vk`, the main Vulkan Conformance Tests binary:
47
48```
49cmake --build BUILD_DIRECTORY --target deqp-vk
50```
51
52When building only a subset of targets is the preferred default behavior for a
53given working copy or build directory, there's a second target selection
54mechanism that can be used to avoid passing the `--target` option every time:
55the `SELECTED_BUILD_TARGETS` CMake option. If set to a non-empty value, only the
56targets listed in that configuration option, separated by spaces, will be built.
57
58For example, passing `-DSELECTED_BUILD_TARGETS="deqp-vk deqp-vksc"` when
59configuring the project will make `cmake --build BUILD_DIRECTORY` act as if it
60had been passed `--target deqp-vk --target deqp-vksc` as additional arguments.
61
62**IMPORTANT**: Target subset selection may not have been thoroughly tested in
63all enviroments and situations, and it does not replace the instructions given
64for the purposes of creating a conformance submission.
65
66ANGLE for Android
67--------------------------------
68
69ANGLE can be built for Android by following the instructions
70[here](https://chromium.googlesource.com/angle/angle.git/+/HEAD/doc/DevSetup.md#building-angle-for-android).
71
72The resulting ANGLE shared object libraries can be linked against and embedded into `dEQP.apk` with
73the `--angle-path` option.   This will cause `dEQP.apk` to use the ANGLE libraries for OpenGL ES
74calls, rather than the native drivers.
75
76An ABI must be specified and the directory structure containing the ANGLE shared objects must match
77it so the build system can find the correct `*.so` files.
78
79Assuming ANGLE shared objects are generated into `~/chromium/src/out/Release/` and `dEQP.apk` will
80be generated with `--abis arm64-v8a`, issue the following commands:
81
82	cd ~/chromium/src/out/Release/
83	mkdir arm64-v8a && cd arm64-v8a
84	cp ../lib*_angle.so .
85
86The `--angle-path ~/chromium/src/out/Release/` option can then be used to link against and embed the
87ANGLE shared object files.   The full command would be:
88
89	python scripts/android/build_apk.py --sdk <path to Android SDK> --ndk <path to Android NDK> --abis arm64-v8a --angle-path ~/chromium/src/out/Release/
90