[发明专利]用于图形处理的每个着色器的前置码有效
申请号: | 201780028782.1 | 申请日: | 2017-04-10 |
公开(公告)号: | CN109074625B | 公开(公告)日: | 2020-04-24 |
发明(设计)人: | 陈林;杜云;A·E·格鲁贝尔;焦国方;于春;D·R·加西亚·加西亚 | 申请(专利权)人: | 高通股份有限公司 |
主分类号: | G06T1/20 | 分类号: | G06T1/20 |
代理公司: | 北京律盟知识产权代理有限责任公司 11287 | 代理人: | 杨林勳 |
地址: | 美国加利*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 图形 处理 每个 着色 前置 | ||
1.一种操作图形处理单元GPU的方法,其包括:
通过所述GPU从着色器编译程序接收包括前置码代码块和主要着色器代码块的着色器程序,所述前置码代码块包括产生一或多个结果的指令,所述一或多个结果在所述着色器程序执行期间每次执行所述指令都相同;
通过所述GPU执行所述着色器程序的多个例子,其中执行所述着色器程序的所述多个例子中的每一例子包括:
确定第一旗标是否指示已经开始执行所述前置码代码块;
响应于所述第一旗标指示尚未开始执行所述前置码代码块,执行所述前置码代码块以产生所述一或多个结果,以及存储所述前置码代码块的所述一或多个结果;
响应于所述第一旗标指示已经开始执行所述前置码代码块,不执行所述前置码代码块;
确定第二旗标是否指示所述前置码代码块的执行完成;
响应于所述第二旗标指示所述前置码代码块的执行尚未完成,等待所述第二旗标指示所述前置码代码块的执行完成;以及
响应于所述第二旗标指示所述前置码代码块的执行完成,使用通过执行所述前置码代码块产生的所述一或多个结果执行所述主要着色器代码块。
2.根据权利要求1所述的方法,其进一步包括:
通过在处理器上运行的所述着色器编译程序识别产生在所述着色器程序执行期间每次执行所述指令都相同的所述一或多个结果的所述指令;以及
通过在所述处理器上运行的所述着色器编译程序将所述指令分组到所述着色器程序的所述前置码代码块中。
3.根据权利要求2所述的方法,其中所述识别所述指令包括识别仅使用常数的指令。
4.根据权利要求1所述的方法,其进一步包括:
基于识别着色器前置码起点指令识别所述前置码代码块。
5.根据权利要求1所述的方法,其中所述执行所述前置码代码块是通过在所述GPU上的标量处理器执行的。
6.根据权利要求1所述的方法,其中所述存储所述一或多个结果是在可写入缓冲器管理的高速缓冲存储器上。
7.根据权利要求1所述的方法,其中所述存储所述一或多个结果可由着色器处理器的所有处理元件存取。
8.根据权利要求1所述的方法,其进一步包括:
通过所述GPU将来自随机存取存储器RAM的所述前置码代码块的所述一或多个结果加载到常数存储器中。
9.一种用于处理数据的设备,所述设备包括:
图形处理单元GPU,所述GPU包括存储器和着色器核心,所述着色器核心包括控制单元、多个处理元件和常数存储器,其中所述控制单元经配置以进行以下操作:
从着色器编译程序接收包括前置码代码块和主要着色器代码块的着色器程序,所述前置码代码块包括产生一或多个结果的指令,所述一或多个结果在所述着色器程序执行期间每次执行所述指令都相同;
执行所述着色器程序的多个例子,其中执行所述着色器程序的所述多个例子中的每一例子包括:
确定第一旗标是否指示已经开始执行所述前置码代码块;
响应于所述第一旗标指示尚未开始执行所述前置码代码块,引导所述多个处理元件中的至少一个执行所述前置码代码块以产生所述一或多个结果,以及在所述常数存储器中存储所述前置码代码块的所述一或多个结果;
响应于所述第一旗标指示已经开始执行所述前置码代码块,不执行所述前置码代码块;
确定第二旗标是否指示所述前置码代码块的执行完成;
响应于所述第二旗标指示所述前置码代码块的执行尚未完成,等待所述第二旗标指示所述前置码代码块的执行完成;以及
响应于所述第二旗标指示所述前置码代码块的执行完成,使用通过执行所述前置码代码块产生的所述一或多个结果引导所述多个处理元件中的至少一个执行所述主要着色器代码块。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于高通股份有限公司,未经高通股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201780028782.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:三维重建方法
- 下一篇:图像处理装置、图像处理方法以及程序