OpenGL ES 测试

AOSP 包含 drawElements 质量计划 (deqp) GPU 测试套件 (https://android.googlesource.com/platform/external/deqp)。

要采用最新提交的代码,请使用 deqp-dev 分支。要采用适用于特定 Android CTS 版本的代码,请使用 release-code-name-release 分支(例如,如果是 Android 6.0,请使用 marshmallow-release 分支)。

部署 deqp

要将 deqp 测试套件部署到新环境中,请查看本部分的所有页面:

  • 编译测试程序:讨论编译系统(例如 CMake)、目标和各种版本(Win32、Android、Linux)。
  • 移植测试框架:说明如何调整基础可移植性库,实现测试框架平台集成界面以及移植执行服务。移植是可选的(具体取决于目标平台)。
  • 运行测试:提供在 Linux 和 Windows 环境中运行 deqp 测试,命令行参数和 Android 软件包的相关说明。
  • 自动执行测试:涵盖测试自动化选项、命令行工具、CSV 和 XML 导出,以及转换为 JUnit。
  • 使用特殊测试组:针对运行内存分配和长时间运行的压力测试提供相关建议。
  • 与 Android CTS 集成:说明测试的 mustpass 列表、重复运行以及映射 CTS 结果。

源代码布局

deqp 测试模块和支持的库的源代码布局如下表所示(列出的内容并不全面,但突出显示了最重要的目录)。

目录 说明
android

Android 测试人员源代码和编译脚本

data

测试数据文件

modules

测试模块源代码

modules/egl

EGL 模块

modules/gles2

GLES2 模块

modules/gles3

GLES3 模块

modules/gles31

GLES3.1 模块

modules/gles32

GLES3.2 模块

targets

特定于目标的编译配置文件

framework

deqp 测试模块框架和实用工具

framework/delibs

基础可移植性库和编译库

framework/platform

平台端口

framework/qphelper

测试程序集成库 (C)

framework/common

Deqp 框架 (C++)

framework/opengl, framework/egl

API 专用实用工具

execserver

设备端 ExecServer 源代码

executor

主机端测试执行器 shell 工具和实用工具

external

适用于外部库 libpng 和 zlib 的编译存根目录

开放源代码组件

deqp 使用 libpngzlib,您可以使用脚本 platform/external/deqp/external/fetch_sources.py 或通过 platform/external/[libpng,zlib] 中的 git 获取它们。