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
参数,它要求在具有 24 位深度缓冲区和 8 位模板缓冲区的 RGBA 8888 屏幕 Surface 上运行测试。请记得使用 --deqp-case
参数设置所需的测试。
CTS 结果映射
在 Android CTS 中,测试用例最终呈现以下三种状态之一:通过、失败或未执行(deqp 会提供更多的结果代码)。CTS 会自动将 Khronos 合规性测试结果代码映射到 CTS 结果:
- CTS 通过可包括
Pass
、NotSupported
、QualityWarning
和CompatibilityWarning
。 - CTS 失败可包括
Fail
、ResourceError
、Crash
、Timeout
和InternalError
。