[发明专利]着色器代码的调试方法、装置、电子设备及存储介质有效
申请号: | 201910441135.4 | 申请日: | 2019-05-24 |
公开(公告)号: | CN110287106B | 公开(公告)日: | 2023-09-26 |
发明(设计)人: | 张一磊 | 申请(专利权)人: | 北京达佳互联信息技术有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 莎日娜 |
地址: | 100085 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 着色 代码 调试 方法 装置 电子设备 存储 介质 | ||
1.一种着色器代码的调试方法,应用于第一终端,其特征在于,包括:
将接收到的着色器代码输入预置编译器;
接收所述预置编译器输出的编译结果,包括:接收所述预置编译器输出的反汇编代码,并将所述反汇编代码作为所述编译结果;
根据所述编译结果,确定所述着色器代码是否存在至少一个异常代码行;
在所述着色器代码中存在所述至少一个异常代码行的情况下,将所述着色器代码和所述至少一个异常代码行导入第二终端;
由所述第二终端将所述着色器代码和所述至少一个异常代码行渲染显示;
依据渲染显示结果,确定所述至少一个异常代码行中的待调试代码行;
由所述第二终端根据所述待调试代码行,对所述着色器代码进行调试。
2.根据权利要求1所述的方法,其特征在于,所述根据所述编译结果,确定所述着色器代码是否存在异常代码行的步骤,包括:
获取所述反汇编代码中每行反汇编代码对应的代码质量评分;
获取所述代码质量评分小于评分阈值的反汇编代码所处的汇编代码行;
获取所述着色器代码中与所述汇编代码行对应的第一代码行,将所述第一代码行作为所述异常代码行。
3.根据权利要求1所述的方法,其特征在于,所述预置编译器包括模拟GPU,所述接收所述预置编译器输出的编译结果的步骤,包括:
由所述预置编译器在所述模拟GPU上运行所述着色器代码,得到模拟运行结果;
接收由所述预置编译器输出的所述模拟运行结果,并将所述模拟运行结果作为所述编译结果。
4.根据权利要求3所述的方法,其特征在于,所述根据所述编译结果,确定所述着色器代码是否存在异常代码行的步骤,包括:
根据所述模拟运行结果,获取所述着色器代码中的多行第一子着色器代码对应的运行周期;所述第一子着色器代码为所述着色器代码中的一行代码;
获取所述运行周期小于周期阈值的第一子着色器代码所处的第二代码行,将所述第二代码行作为所述异常代码行。
5.根据权利要求1所述的方法,其特征在于,所述接收所述预置编译器输出的编译结果的步骤,包括:
采用所述预置编译器对所述着色器代码执行编译处理;
在编译完成的情况下,获取在编译过程中调用所述着色器代码中多行第二子着色器代码的调用流程;所述第二子着色器代码为所述着色器代码中的一行代码;
由所述预置编译器根据多个所述调用流程,生成流程图;
接收所述预置编译器输出的所述流程图,并将所述流程图作为所述编译结果。
6.根据权利要求5所述的方法,其特征在于,所述根据所述编译结果,确定所述着色器代码是否存在异常代码行的步骤,包括:
根据所述流程图,获取所述多行第二子着色器代码中的异常第二子着色器代码;
获取所述异常第二子着色器代码在所述着色器代码中所处的第三代码行,将所述第三代码行作为所述异常代码行。
7.根据权利要求1所述的方法,其特征在于,所述将所述着色器代码和所述至少一个异常代码行导入第二终端的步骤,包括:
对所述着色器代码执行转换处理,生成转换代码;所述着色器代码为GPU代码,所述转换代码为CPU代码;
将所述转换代码和所述至少一个异常代码行导入所述第二终端。
8.根据权利要求1所述的方法,其特征在于,所述第一终端为PC端,所述第二终端为移动终端。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京达佳互联信息技术有限公司,未经北京达佳互联信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910441135.4/1.html,转载请声明来源钻瓜专利网。