Android CTS release packages (available from Android Compatibility Downloads) include Khronos Conformance Tests and require a subset of these tests (known as the mustpass
list), to pass. For devices that do not support a target API or extension, tests are skipped and reported as passing.
The mustpass
list includes coverage for OpenGL ES 2.0 through OpenGL ES 3.2 and Vulkan 1.1. mustpass
files can be found under the android/cts
directory in the Khronos Conformance Tests. You can run these tests through the cts-tradefed
utility with the following command:
cts-tradefed run cts --plan CTS-DEQP
Duplicate runs without CTS
To replicate the CTS run, install the deqp APK of the CTS package and use the following command:
adb -d shell am start -n com.drawelements.deqp/android.app.NativeActivity -e \ cmdLine "deqp --deqp-case=dEQP-GLES3.some_group.* --deqp-gl-config-name=rgba8888d24s8 --deqp-log-filename=/sdcard/dEQP-Log.qpa
The important part is the --deqp-gl-config-name=rgba8888d24s8
argument, which requests the tests be run on an RGBA 8888 on-screen surface with a 24-bit depth buffer and an 8-bit stencil buffer. Remember to set the desired tests using the --deqp-case
argument.
CTS results mapping
In the Android CTS, a test case can end up in one of three states: passed, failed, or not executed (the deqp has more result codes available). CTS automatically maps Khronos Conformance Test result codes to CTS results:
- A CTS pass can include
Pass
,NotSupported
,QualityWarning
, andCompatibilityWarning
. - A CTS failure can include
Fail
,ResourceError
,Crash
,Timeout
, andInternalError
.