嵌入式CTS测试

news2024/11/20 2:35:48

1.概述

        CTS是一套开源测试套件,可以实现对OpenGL、ES、OpenCL、Vulkan的兼容性测试。OpenGL ES CTS的测试集,其测试用例涵盖了各种OpenGL ES 的功能和特性。这些功能包括着色器编译和链接、图元绘制、纹理操作、帧缓冲操作、深度测试、模板测试以及其他一些图形渲染相关的功能。通过执行这些测试用例,可以验证OpenGL ES实现在各种情况下的正确性和一致性。

2.套件安装

        从OpenGL ES官方网站上下载最新的CTS测试套件源码。网址为

GitHub - KhronosGroup/VK-GL-CTS: Khronos Vulkan, OpenGL, and OpenGL ES Conformance Tests

        源码目录如上图。还需要下载依赖的外部库源码和测试case,依赖zlib, libpng, glslang, spirv-headers, spirv-tools,renderdoc。

        在external目录下执行python fetch_sources.py。可能下载失败,需要科学上网。

3.套件内容

·  data:测试数据,提供测试图片和测试shader参数;

·  execserver:测试服务程序,主要为android和ios平台测试框架提供;

·  executor:测试基础程序,测试框架的基础实现,可视作自定义测试框架基础。

·  external:依赖的外部库源码和测试case

·  framework:测试框架,包括测试套装和case的实现框架,wrapper。

·  modules:测试目标模块的case

·  scrpits:针对不同平台的编译脚本

·  targets:编译脚本目录

4.测试套件适配

       添加自定义的目标文件:targets/*/*.cmake。

        根据需要配置这个文件。*文件名即为目标文件。

5.套件编译

        使用cmake构建,需要安装cmake: sudo apt install cmake。

        注意这里的cmake版本最好在3.20以上。

        cmake 编译有两个选项:

  • -DDEQP_TARGET:构建目标,如android,default,iOS,null,osx,raspi,curfaceless,vulkan_headless,wayland,x11_egl,x11_egl_glx,x11_glx
  • -DCLSTS_GTF_TARGET:测试对象,如gles2,gles3,gles31,gles32和gl

        这里使用自定义的构建目标*,在targets/*/*.cmake文件中定义构建参数。

        在cts目录下执行编译步骤如下:

1、cmake ./ -DDEQP_TARGET=* -DGLCTS_GTF_TARGET=gles32

2、cmake --build external/openglcts

          编译根据CMakeList.txt执行。其内部过程如下:

1、编译external里的第三方库,如glslang,spirv-tools,amber等;

2、编译framework里的delibs,如debase,depool等,相当于自己实现的基础库函数以避免对不同平台的依赖;

3、编译execserver和executor,测试框架的基础库

4、编译全部framework,modules,framework主要是针对不同的平台开发的平台适配内容,即为实现接口测试而需要的基础适配代码;modules是针对不同版本gl库开发的接口测试用例;

5、最后编译external/openglcts,生成测试对应的可执行文件 cts-runner 和 glcts 。

​​​​​​​6.测试流程

        cts支持的测试有:

ES: es2, es3, es31, es32; 

GL: gl30, gl31, gl32, gl33, gl40, gl41, gl42, gl43, gl44, gl45, gl46。

        测试程序生成在external/openglcts/modules目录下。包含glcts(用例级测试)

和cts-runner(套装级测试)二个测试程序。

        这里的测试使用的是opengl es。

        测试指令参考如下:

1、./glcts --deqp-case=dEQP-GLES2.info.*

2、./cts-runner --type=es32 --logdir=./

        --logdir=./表示在当前目录生成log文件。

        如果是使用用例测试glcts,使用./glcts -h查看支持的参数。

​​​​​​​7.测试结果

        测试结果默认输出在external/openglcts/modules目录下。文件如下图所示。

        log.txt中时运行的log信息记录。

        cts-run-summary.xml是qpa的汇总文件,包含每一个testcase的结果路径,每个testcase的结果存在相应的qpa文件中。

8.测试结果分析

        套件中还提供了一些工具来辅助分析结果。

        在scripts/log/目录下提供了以下python工具:

  • bottleneck_repot.py 生成运行报告
  • log_to_csv.py 将.qpa文件转换为csv格式文件
  • log_to_xls 将.qpa文件转换为xls格式文件
  • log_to_xml 将.qpa文件转换为xml格式文件

参考资料:

VK-GL-CTS 初步了解 - 简书 (jianshu.com)

VK-GL-CTS(一)环境配置 - 简书 (jianshu.com)

VK-GL-CTS(二) - 简书 (jianshu.com)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1195955.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

中国智能驾驶的“突围赛”打响,这家本土厂商为何能成为“先行者”?

中国本土厂商正在成为全球智能汽车产业链的“核心力量”。 根据《高工智能汽车研究院》数据显示,今年1-6月,自主品牌标配L2(含L2)级辅助驾驶交付新车155.34万辆。其中,搭载中国本土智能驾驶解决方案提供商&#xff08…

Clickhouse 学习笔记(6)—— ClickHouse 分片集群

前置知识: Clickhouse学习笔记(5)—— ClickHouse 副本-CSDN博客 与副本对比: 副本虽然能够提高数据的可用性,降低丢失风险,但是每台服务器实际上必须容纳全量数据,对数据的横向扩容没有解决 …

自适应AI chatGPT智能聊天创作官网html源码/最新AI创作系统/ChatGPT商业版网站源码

源码简介: 自适应AI chatGPT智能聊天创作官网html源码,这是最新AI创作系统,作为ChatGPT商业版网站源码,它是支持创作、编写、翻译、写代码等。是一个智能聊天系统项目源码。 注意:这个只是网站html源码,要…

leetcode 刷题 - 有效三角形个数 - 长度最小的子数组 - 无重复字符的最长子串

l611. 有效三角形的个数 - 力扣(LeetCode) 给定一个包含非负整数的数组 nums ,返回其中可以组成三角形三条边的三元组个数。 示例 1:输入: nums [2,2,3,4] 输出: 3 解释:有效的组合是: 2,3,4 (使用第一个 2) 2,3,4 (使用第二个 2) 2,2,3示…

【vue】vue项目批量下载二维码,且打包成压缩包.

一. 先看效果演示 二. 下插件 npm i vue-qr -S // 二维码显示插件 我的版本^4.0.9 npm i html2canvas -S // 将二维码转为图片 我的版本^1.4.1 npm i file-saver -S // 下载图片 我的版本^2.0.5 npm i jszip -S // 打包成压缩包 我的版本^3.10.1 // 一次性下载 npm i vue-qr h…

利用中断做数码表

功能要求:1.按下KEY1,显示数字开始每0.5秒加1,加到(10学号)返回0,0显示2秒后继续开始重复加1。 2. 任何时候按下KEY2数字清零,并停止加1。 3. KEY1和KEY2分别采用查询和外部中断方式。 要求程序中有硬件…

最新宝塔面板第三方云端站点程序源码/第三方宝塔面板PHP源码/全开源ThinkPHP框架

源码简介: 实现宝塔面板第三方云端站点程序源码,这个是第三方宝塔面板 btcloud PHP源码,它还有云端使用记录、IP黑白名单、定时任务等功能。 这是一个使用PHP开发的宝塔面板第三方云端站点程序。 您可以利用此程序搭建属于自己的宝塔面板第三方云端&a…

Springboot+vue的高校办公室行政事务管理系统(有报告)。Javaee项目,springboot vue前后端分离项目。

演示视频: Springbootvue的高校办公室行政事务管理系统(有报告)。Javaee项目,springboot vue前后端分离项目 项目介绍: 本文设计了一个基于Springbootvue的高校办公室行政事务管理系统,采用M(m…

九种常用二次曲面的构造过程

九种常用二次曲面的构造过程 1.九种常用二次曲面的构造过程1.1 椭圆锥面1.2 椭球面1.3 单叶双曲面1.4 双叶双曲面1.5 椭圆抛物面1.6 双曲抛物面(马鞍面)1.7 椭圆柱面1.8 双曲柱面1.9 抛物柱面 1.九种常用二次曲面的构造过程 声明:部分截图来自…

【算法-哈希表1】哈希表有什么用? 来看看 有效的字母异位词 和 两数组的交集.

今天,带来哈希相关算法的讲解。文中不足错漏之处望请斧正! 理论基础点这里 有效的字母异位词 1. 思路 暴力的解法,需要两层for循环,同时还要记录字符是否重复出现,很明显时间复杂度是 O(n^2)。 其实可以用哈希表来…

mac 无法 push 代码到 github 报错:Couldn‘t connect to server 或者 无法克隆 github 仓库 ,克隆进度卡住

开启代理后上传代码报错 Failed to connect to github.com port 443 after 75108 ms: Couldn’t connect to server 解决方法 在 网络 设置里查看代理端口号 开启配置 http、https 全局代理 git config --global http.proxy http://127.0.0.1:你所查询的端口号 git confi…

【安卓13】谷歌原生桌面launcher3源码修改,修改桌面布局(首屏应用、小部件、导航栏、大屏设备任务栏)

前言 近期接到一个关于谷歌EDLA认证的需求,我负责的是谷歌原生桌面布局的修改,通过研究源码,将涉及到了一些修改思路发出来,大家可以参考一下有没有对你有用的信息。主要修改内容有: 1、搜索栏、底部导航栏未居中 2、…

吴恩达《机器学习》7-1->7-4:过拟合问题、代价函数、线性回归的正则化、正则化的逻辑回归模型

一、过拟合的本质 过拟合是指模型在训练集上表现良好,但在新数据上的泛化能力较差。考虑到多项式回归的例子,我们可以通过几个模型的比较来理解过拟合的本质。 线性模型(欠拟合): 第一个模型是一个线性模型&#xff0…

熊海CMS 靶场

熊海CMS 靶场 0x01 前言 初步了解cms,Content Management System 内容管理系统。它是一种用于创建、编辑、管理和发布内容的软件程序或工具。内容管理系统通常用于网站、博客、企业内部系统等各种应用中,可以帮助用户管理和发布各种类型的内容&#xf…

Clickhouse学习笔记(5)—— ClickHouse 副本

Data Replication | ClickHouse Docs 副本的目的主要是保障数据的高可用性,即使一台 ClickHouse 节点宕机,那么也可以从其他服务器获得相同的数据 注意: clickhouse副本机制的实现要基于zookeeperclickhouse的副本机制只适用于MergeTree f…

一起看看StatusBarManagerService(一)

写在前面 工作需要涉及到这部分代码,但是我对此了解很少;边学边总结,把这部分逻辑和涉及到的知识点弄明白。该系列不确定几篇,随缘。 本篇主要介绍StatusBarManagerService与systemui之间的关联。 了解StatusBarManagerService …

[Android]_[初级]_[配置gradle的环境变量设置安装位置]

场景 在开发Android项目的时候, gradle是官方指定的构建工具。不同项目通过wrapper指定不同版本的gradle。随着项目越来越多,使用的gradle版本也增多,导致它以来的各种库也增加,系统盘空间不足,怎么解决? 说明 grad…

pyqt环境搭建

创建虚拟环境 # 用管理员身份运行 conda create --prefixE:\Python\envs\pyqt5stu python3.6 # 激活虚拟环境 conda activate E:\Python\envs\pyqt5stu # 退出虚拟环境 conda deactivate安装包 pip install PyQt5 -i https://pypi.douban.com/simple pip install PyQt5-tools…

asp.net学生宿舍管理系统VS开发sqlserver数据库web结构c#编程Microsoft Visual Studio

一、源码特点 asp.net 学生宿舍管理系统是一套完善的web设计管理系统,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为vs2010,数据库为sqlserver2008,使用c#语言 开发 asp.net学生宿舍管理系统1 应用技…

CV计算机视觉每日开源代码Paper with code速览-2023.11.8

精华置顶 墙裂推荐!小白如何1个月系统学习CV核心知识:链接 点击CV计算机视觉,关注更多CV干货 论文已打包,点击进入—>下载界面 点击加入—>CV计算机视觉交流群 1.【基础网络架构】(WACV2024)SBCFo…