[发明专利]OpenGL接口的双显卡对比调试方法、装置及介质有效
申请号: | 202310448235.6 | 申请日: | 2023-04-24 |
公开(公告)号: | CN116185743B | 公开(公告)日: | 2023-07-21 |
发明(设计)人: | 王海洋 | 申请(专利权)人: | 芯瞳半导体技术(山东)有限公司 |
主分类号: | G06F11/22 | 分类号: | G06F11/22 |
代理公司: | 西安维英格知识产权代理事务所(普通合伙) 61253 | 代理人: | 沈寒酉;归莹 |
地址: | 264006 山东省烟台市自由贸*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | opengl 接口 显卡 对比 调试 方法 装置 介质 | ||
1.一种OpenGL接口的双显卡对比调试方法,其特征在于,所述方法包括:
应用程序执行过程中,按顺序记录OpenGL接口的调用函数和上下文数据以生成Trace文件;
分别在基准显卡和测试显卡上装载相同的OpenGL接口函数并将所述Trace文件中的数据通过Trace记录模块解析为函数的调用数据,将所述函数的调用数据分发给基准显卡和测试显卡同时执行以生成第一渲染结果和第二渲染结果;
将所述第一渲染结果和第二渲染结果进行同步对比与分析,以判断渲染结果的一致性;
其中,所述分别在基准显卡和测试显卡上装载相同的OpenGL接口函数并将所述Trace文件中的数据通过Trace记录模块解析为函数的调用数据,将所述函数的调用数据分发给基准显卡和测试显卡同时执行以生成第一渲染结果和第二渲染结果,包括:
预先定义结构体类型及其上下文变量,将所述上下文变量分别作为基准显卡和测试显卡的OpenGL接口集,通过动态库加载方式将基准显卡和测试显卡的所述OpenGL接口函数装载到相应的上下文;
加载所述Trace文件并进行解析以生成函数的调用数据,将所述函数的调用数据分发给基准显卡以生成第一渲染结果和相应OpenGL接口的返回状态;
将所述函数的调用数据同步在被测显卡上执行以生成第二渲染结果和相应OpenGL接口的返回状态。
2.根据权利要求1所述方法,其特征在于,所述应用程序执行过程中,按顺序记录OpenGL接口的调用函数和上下文数据以生成Trace文件,包括:
应用程序执行过程中,采用HOOK截取OpenGL接口的函数调用;
按顺序记录所有调用所述OpenGL接口的函数名称和上下文数据并生成Trace文件。
3.根据权利要求1所述方法,其特征在于,所述将所述第一渲染结果和第二渲染结果进行同步对比与分析,以判断渲染结果的一致性,包括:
获取在基准显卡和测试显卡上基于Trace文件同步回放生成的第一渲染结果和第二渲染结果以及回放调用的OpenGL接口的每个函数的返回状态;
自动对比所述第一渲染结果和第二渲染结果以及相应OpenGL接口的每个函数的返回状态;
如果对比结果不一致,则暂停回放并给出提示以及显示调试数据信息,以用于渲染结果故障的分析和调试。
4.一种OpenGL接口的双显卡对比调试装置,其特征在于,所述调试装置包括:记录部分、生成部分以及对比部分;其中,
所述记录部分,经配置为应用程序执行过程中,按顺序记录OpenGL接口的调用函数和上下文数据以生成Trace文件;
所述生成部分,经配置为分别在基准显卡和测试显卡上装载相同的OpenGL接口函数并将所述Trace文件中的数据通过Trace记录模块解析为函数的调用数据,将所述函数的调用数据分发给基准显卡和测试显卡同时执行以生成第一渲染结果和第二渲染结果;
所述对比部分,经配置为将所述第一渲染结果和第二渲染结果进行同步对比与分析,以判断渲染结果的一致性;
其中,所述生成部分,还经配置为:
预先定义结构体类型及其上下文变量,将所述上下文变量分别作为基准显卡和测试显卡的OpenGL接口集,通过动态库加载方式将基准显卡和测试显卡的所述OpenGL接口函数装载到相应的上下文;
加载所述Trace文件并进行解析以生成函数的调用数据,将所述函数的调用数据分发给基准显卡以生成第一渲染结果和相应OpenGL接口的返回状态;
将所述函数的调用数据同步在被测显卡上执行以生成第二渲染结果和相应OpenGL接口的返回状态。
5.根据权利要求4所述装置,其特征在于,所述对比部分,经配置为:
获取在基准显卡和测试显卡上基于Trace文件同步回放生成的第一渲染结果和第二渲染结果以及回放调用的OpenGL接口的每个函数的返回状态;
自动对比所述第一渲染结果和第二渲染结果以及相应OpenGL接口的每个函数的返回状态;
如果对比结果不一致,则暂停回放并给出提示以及显示调试数据信息,以用于渲染结果故障的分析和调试。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于芯瞳半导体技术(山东)有限公司,未经芯瞳半导体技术(山东)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310448235.6/1.html,转载请声明来源钻瓜专利网。