开发者故事——王石:VK-GL-CTS测试套件适配和经验分享 原创 精华

深开鸿
发布于 2023-2-16 14:15
浏览
2收藏

作者:王石

近期,深圳开鸿数字产业发展有限公司(以下简称“深开鸿”)VK-GL-CTS测试套件适配正式合入OpenAtom OpenHarmony(以下简称“OpenHarmony”)社区主干。作为将VK-GL-CTS测试套件合入OpenHarmony主干的代码提交者,我将与大家一起分享我们团队在适配与移植过程中的故事和经验,希望能给广大开发者一些参考。

我和我的团队

我是深开鸿OS框架开发工程师王石,作为深开鸿参与开源共建的骨干,我主要负责VK-GL-CTS测试套件的GPU图形适配与移植工作。
在我的团队里有OpenGL的专家,负责OpenHarmony图形接口适配;有兼容性专家,负责开源三方库的移植和与OpenHarmony系统的适配;有系统服务移植与版本构建的专家,负责版本构建与系统服务的稳定性移植与调试;有测试领域的专家,负责兼容性、稳定性、安全性测试等工作。团队成员在适配与移植工作中不断攻坚克难、通力合作,使得相关问题均得到闭环处理,最终顺利完成了这一项目。

VK-GL-CTS适配对OpenHarmony生态的积极作用

VK-GL-CTS是Khronos开发的一套开源GPU测试套件,可用于开放标准OpenGL ES,EGL和Vulkan的测试,也是验证GPU驱动API的实现是否支持的官方标准。VK-GL-CTS的引入是对OpenHarmony生态共建的强有力的保护,补齐了OpenHarmony兼容性测试套件在GPU方向上的缺失,为社区之后能更好地看护OpenHarmony应用兼容性、API兼容性提供完备的保证,同时也为OpenHarmony兼容性测评提供助力。

困难与挑战

在完成VK-GL-CTS测试套件适配的过程中,我们也面临很多挑战和困难。
首先是对图形框架的移植挑战,OpenHarmony的图形框架不同于现在业界其他的图形框架,移植的初始就需要我们快速了解和分析OpenHarmony图形框架的模块组成和应用API;同时由于OpenHarmony的迅速发展,主线变更频繁,这就需要我们不但要了解图形框架的架构,而且要理解图形框架的设计原理,抽丝剥茧地抓住图形框架的主脉络。
其次是对OpenHarmony兼容性测试框架的理解和适配。VK-GL-CTS的全代码量有200多万行,100多万条测试项,为了适配OpenHarmony的XTS(X Test Suite)子系统,并且在后期能方便更新维护,我们运用了分层设计理念,开发出两个测试套件的适配层将两个测试框架进行解耦,并通过编译脚本,测试脚本等辅助工具对测试结果进行收集,分析形成报告。
最后是对标准建立的挑战。在VK-GL-CTS测试套件运行的测试结果,我们进行了多重对比和验证,对标业内成熟产品的数据,同时参考主流嵌入式硬件产品的测试数据,通过校准配置、测试数据及测试项目以及和社区开发者、硬件厂商的讨论初步建立OpenHarmony在GPU接口和功能方面的兼容性测评标准。

经验与总结

VK-GL-CTS测试套件适配覆盖图形框架、GPU驱动、编译框架、日志框架、兼容性测试框架等,涉及OpenHarmony的众多方面。在适配过程中,我们团队也在社区众多专家的帮助下克服了重重困难。如最初碰到的问题是signal11报错,OpenHarmony提供了faultlog,可以在开发版路径/data/log/faultlog里查看;然后又遇到测试报错问题,由于我们仿照rosen采用了线性扫描,但对测试用例来说线性扫描会导致某些情况下的色偏,于是我们改用GPU的默认设置;又因为开源合规问题我们引入OAT规则。
直到现在,我们团队还在维护着VK-GL-CTS的测试框架,时刻关注着可能出现的问题和版本更新。从3.1 Release到3.2 Beta版本,OpenHarmony进行了文件目录的调整、GPU库的调整、增加了对64位设备的支持,这些都是版本维护工作中要进行的必要过程,我们需要关注每日构建系统(http://ci.openharmony.cn/dailys/dailybuilds ) 对不同版本、分支进行看护。
目前,VK-GL-CTS测试套件适配已正式合入OpenHarmony社区主干,相关仓库路径参考如下:
https://gitee.com/openharmony/third_party_vk-gl-ctshttps://gitee.com/openharmony/third_party_glslanghttps://gitee.com/openharmony/third_party_spirv-headershttps://gitee.com/openharmony/third_party_spirv-tools

愿景与展望

一路以来,深开鸿始终持续聚焦KaihongOS操作系统和超级设备管理平台的核心技术,不断增强OpenHarmony技术能力,在代码共建、任务承接、SIG主导或者参与、社区活动、代码贡献等方面的工作中对OpenHarmony开源项目作出了突出贡献,不断加速开源生态建设。

作为深开鸿的一名OS框架开发工程师,我很幸运能从事自己喜欢的职业,并且很荣幸能够加入OpenHarmony项目。未来,我将与团队伙伴们继续坚持技术研发,探索开源生态发展之路,并将提炼、沉淀出来的场景、技术贡献给OpenHarmony社区,真正践行“从开源中来到开源中去”的理念。我们坚信,未来以OpenHarmony为基础的智慧创新之路必将赋能千行百业,促进万物互联。

更多原创内容请关注:深开鸿技术团队

入门到精通、技巧到案例,系统化分享OpenHarmony开发技术,欢迎投稿和订阅,让我们一起携手前行共建生态。
深开鸿官网:https://www.kaihong.com

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
4
收藏 2
回复
举报
3条回复
按时间正序
/
按时间倒序
红叶亦知秋
红叶亦知秋

构建下的每一个成功都是大佬们不断付出的结果

1
回复
2023-2-16 14:39:32
麻辣香锅配馒头
麻辣香锅配馒头

为大佬点赞

1
回复
2023-2-16 18:27:04
真庐山升龙霸
真庐山升龙霸

仓库路径路径点不开,可以修复一下吗

回复
2023-2-17 12:00:22
回复
    相关推荐