当前位置:首页 >综合 >开发者故事—王石:VK 希望能给广大开发者一些参考

开发者故事—王石:VK 希望能给广大开发者一些参考

2024-06-29 06:27:18 [百科] 来源:避面尹邢网

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

作者:王石 系统 OpenHarmony 我将与大家一起分享我们团队在适配与移植过程中的事王石故事和经验,希望能给广大开发者一些参考。事王石

​​想了解更多关于开源的事王石内容,请访问:​​

开发者故事—王石:VK 希望能给广大开发者一些参考

​​51CTO 开源基础软件社区​​

开发者故事—王石:VK 希望能给广大开发者一些参考

​​https://ost.51cto.com​​

开发者故事—王石:VK 希望能给广大开发者一些参考

近期,事王石深圳开鸿数字产业发展有限公司(以下简称“深开鸿”)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为基础的智慧创新之路必将赋能千行百业,促进万物互联。

​​想了解更多关于开源的内容,请访问:​​

​​51CTO 开源基础软件社区​​

​​https://ost.51cto.com​​

责任编辑:jianghua 来源: 51CTO 开源基础软件社区 鸿蒙操作系统

(责任编辑:热点)

    推荐文章
    热点阅读