Android CTS 发布软件包(可从Android 兼容性下载获取)包含 Khronos 一致性测试,并要求通过这些测试的子集(称为 mustpass
列表)。对于不支持目标 API 或扩展程序的设备,系统会跳过测试,并将其报告为通过。
mustpass
列表包含对 OpenGL ES 2.0 到 OpenGL ES 3.2 和 Vulkan 1.1 的覆盖。mustpass
文件可以在 Khronos 一致性测试的 android/cts
目录下找到。您可以使用以下命令通过 cts-tradefed
实用程序运行这些测试
cts-tradefed run cts --plan CTS-DEQP
在没有 CTS 的情况下重复运行
如需复制 CTS 运行,请安装 CTS 软件包的 deqp APK,并使用以下命令
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
重要部分是 --deqp-gl-config-name=rgba8888d24s8
参数,它请求在 RGBA 8888 屏幕上表面(带有 24 位深度缓冲区和 8 位模板缓冲区)上运行测试。请务必使用 --deqp-case
参数设置所需的测试。
CTS 结果映射
在 Android CTS 中,测试用例可以以三种状态之一结束:通过、失败或未执行(deqp 有更多可用的结果代码)。CTS 会自动将 Khronos 一致性测试结果代码映射到 CTS 结果
- CTS 通过可以包括
Pass
、NotSupported
、QualityWarning
和CompatibilityWarning
。 - CTS 失败可以包括
Fail
、ResourceError
、Crash
、Timeout
和InternalError
。