与 Android CTS 集成

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 通过可以包括 PassNotSupportedQualityWarningCompatibilityWarning
  • CTS 失败可以包括 FailResourceErrorCrashTimeoutInternalError