[发明专利]封装图形库和硬件的图形引擎和环境有效
申请号: | 201680033235.8 | 申请日: | 2016-06-06 |
公开(公告)号: | CN107771319B | 公开(公告)日: | 2021-02-26 |
发明(设计)人: | J·P·加瑟林德里奇博格;D·P·珀西诺;T·R·欧瑞奥 | 申请(专利权)人: | 苹果公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 中国贸促会专利商标事务所有限公司 11038 | 代理人: | 吴信刚 |
地址: | 美国加*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 封装 图形 硬件 引擎 环境 | ||
1.一种方法,包括:
接收以第一图形源代码语言表达并限定第一图形的图形请求;
将所述图形请求转换为第二图形源代码语言,所述第二图形源代码语言为通用语言,所述通用语言的特征在于具有与所述第一图形源代码语言和多个可用低级图形库的兼容性;
以限定所述第一图形的抽象语法树(AST)来表示所述图形请求;
检查所述AST,包括确定所述第一图形并识别所述可用低级图形库;
在运行时选择:(i)所述可用低级图形库中的一个来作为目标低级图形库、以及(ii)图形硬件,其中所述目标低级图形库和所述图形硬件的所述选择至少基于:所述目标低级图形库的功能性、所述图形硬件的功能性、以及所述图形请求的优先级;
通过操纵所述AST来将所述第二图形源代码语言转换为基于所述目标低级图形库的第三图形源代码语言,使得所述图形请求以所述第三图形源代码语言来体现;以及
将以所述第三图形源代码语言体现的所述图形请求发送到所选择的图形硬件。
2.根据权利要求1所述的方法,其中所述图形请求包括着色器程序。
3.根据权利要求1所述的方法,其中所述图形请求是从应用程序接收的。
4.根据权利要求1所述的方法,其中在将所述图形请求转换为所述第二图形源代码语言之前,所述图形请求以所述AST表示。
5.根据权利要求1所述的方法,其中检查所述AST包括以下中的一者:
确定可用硬件项目的标识;
确定系统的热曲线;
确定所述可用硬件项目中的一个或多个可用硬件项目的热曲线;以及
确定系统优先级。
6.根据权利要求5所述的方法,还包括基于所述图形请求和可用硬件项目的所述标识之间的关系来确定目标硬件项目。
7.根据权利要求6所述的方法,其中所述目标硬件项目包括图形处理单元(GPU)。
8.一种非暂态程序存储设备,所述非暂态程序存储设备能够由处理器读取并且包括存储在其上的指令以使得一个或多个处理器:
接收以第一图形源代码语言表达并限定第一图形的图形请求;
将所述图形请求转换为第二图形源代码语言,所述第二图形源代码语言为通用语言,所述通用语言的特征在于具有与所述第一图形源代码语言和多个可用低级图形库的兼容性;
以限定所述第一图形的抽象语法树(AST)来表示所述图形请求;
检查所述AST,包括确定所述第一图形并识别所述可用低级图形库;
在运行时选择:(i)所述可用低级图形库中的一个来作为目标低级图形库、以及(ii)图形硬件,其中所述目标低级图形库和所述图形硬件的所述选择至少基于:所述目标低级图形库的功能性、所述图形硬件的功能性、以及所述图形请求的优先级;
通过操纵所述AST来将所述第二图形源代码语言转换为基于所述目标低级图形库的第三图形源代码语言,使得所述图形请求以所述第三图形源代码语言来体现;以及
将以所述第三图形源代码语言体现的所述图形请求发送到所选择的图形硬件。
9.根据权利要求8所述的非暂态程序存储设备,其中所述图形请求是从应用程序接收的。
10.根据权利要求8所述的非暂态程序存储设备,其中在将所述图形请求转换为所述第二图形源代码语言之前,所述图形请求以所述AST表示。
11.根据权利要求8所述的非暂态程序存储设备,其中检查所述AST的指令包括使得所述一个或多个处理器确定可用硬件项目的标识的指令。
12.根据权利要求11所述的非暂态程序存储设备,还包括指令以用于使得所述一个或多个处理器基于所述图形请求和所述可用硬件项目的所述标识之间的关系来确定目标硬件项目。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苹果公司,未经苹果公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201680033235.8/1.html,转载请声明来源钻瓜专利网。