纹理地址产生的制作方法

文档序号:33719542发布日期:2023-04-05 21:27阅读:48来源:国知局
纹理地址产生的制作方法

本发明涉及纹理地址产生。


背景技术:

1、图形处理通常涉及执行大量计算以最终定义所渲染的每个像素的特性。片段着色器(也称为像素着色器)可用于计算这些特性(例如,颜色和其他属性),其中术语“片段”可用于指样本位置处的图元的元素,并且最终渲染图像中的样本位置与像素位置之间可存在1:1对应。输出像素的特性可取决于来自源纹理的多个纹理像素,并且因此计算输出像素的特性涉及确定这些纹理像素的纹理地址。

2、下文描述的实施方案例仅借助于示例提供,并且不限制解决已知图形处理系统以及(尤其是)纹理地址产生的已知方法的任何或所有缺点的具体实施。


技术实现思路

1、提供本
技术实现要素:
是为了以简化形式介绍下文在具体实施方式中进一步描述的一系列概念。本发明内容不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。

2、描述用于纹理地址产生的方法和硬件。所述方法包括接收片段的输入块的片段坐标和所述片段的纹理指令,以及计算至少一个片段对的梯度。基于所述梯度,所述方法确定将使用纹理地址产生的第一模式还是第二模式,并且随后使用所确定模式和所述梯度来执行纹理地址产生。纹理地址产生的所述第一模式以第一精度对所述片段的子集执行计算,并且以较低的第二精度对其余片段执行计算。纹理地址产生的所述第二模式以所述第一精度对所有片段执行计算,并且如果使用所述第二模式并且所述输入块中超过一半的所述片段是有效的,则在两个时钟周期内执行所述纹理地址产生。

3、描述用于立方体映射的方法和硬件。所述方法包括接收片段的输入块的片段坐标和片段的纹理指令,并且随后基于片段的所述输入块的梯度,确定将使用立方体映射的第一模式还是立方体映射的第二模式,其中立方体映射的所述第一模式以第一精度对所述片段的子集执行计算,并且以较低的第二精度对其余片段执行计算,并且立方体映射的所述第二模式以所述第一精度对所有片段执行计算。随后使用所确定模式和所述梯度来执行立方体映射,其中如果使用所述第二模式并且所述输入块中超过一半的所述片段是有效的,则在两个时钟周期内执行所述立方体映射。

4、第一方面提供一种纹理地址产生的方法,所述方法包括:接收片段的输入块的片段坐标和所述片段的纹理指令;根据所述输入块来计算至少一个片段对的梯度,并且基于所计算梯度,确定将使用纹理地址产生的第一模式还是纹理地址产生的第二模式,其中纹理地址产生的所述第一模式以第一精度对所述片段的子集执行计算,并且以较低的第二精度对其余片段执行计算,并且纹理地址产生的所述第二模式以所述第一精度对所有片段执行计算;以及使用所确定模式和所计算梯度来执行纹理地址产生,其中如果使用所述第二模式并且所述输入块中超过一半的所述片段是有效的,则在两个时钟周期内执行所述纹理地址产生。

5、在纹理地址产生的所述第一模式中,所述子集中的片段可以是参考片段,并且其余片段可以是导出片段,并且可相对于所述参考片段中的一个参考片段执行对导出片段的较低精度计算。

6、响应于确定将使用纹理地址产生的所述第一模式,使用所确定模式和所计算梯度来执行纹理地址产生可包括:以所述第一精度对所述参考片段执行纹理地址产生;以及以所述第二精度对所述导出片段执行相对纹理地址产生;以及输出一个或多个纹理像素面片的索引、每个纹理像素面片的mip映射层级数据以及所述输入块中的每个有效片段的混合权重。

7、以所述第二精度对导出片段执行相对地址产生可包括相对于对应参考片段执行地址产生。

8、输出一个或多个纹理像素面片的索引、每个纹理像素面片的mip映射层级数据以及所述输入块中的每个有效片段的混合权重可包括:针对每个有效参考片段,输出一个或多个纹理像素面片的索引、每个纹理像素面片的mip映射层级数据以及混合权重;以及针对每个有效导出片段,输出混合权重。

9、所述方法还可包括:作为对导出片段执行相对地址产生的部分,响应于确定所述导出片段的所述纹理像素落在所述对应参考片段的纹理像素面片之外,在下一时钟周期中为所述其余片段产生一个或多个纹理像素面片。

10、响应于确定将使用纹理地址产生的所述第二模式,使用所确定模式和所计算梯度来执行纹理地址产生可包括:在第一时钟周期中,以所述第一精度对所述片段的所述子集片段执行地址产生;以及在第二时钟周期中,以所述第一精度对所述其余片段中的每个片段执行地址产生;以及输出一个或多个纹理像素面片的索引、每个纹理像素面片的mip映射层级数据以及所述输入块中的每个有效片段的混合权重。

11、输出一个或多个纹理像素面片的索引、每个纹理像素面片的mip映射层级数据以及所述输入块中的每个有效片段的混合权重可包括:针对输入块中的每个有效片段,输出一个或多个纹理像素面片的索引、每个纹理像素面片的mip映射层级数据以及混合权重。

12、基于所计算梯度,确定将使用纹理地址产生的第一模式还是纹理地址产生的第二模式可包括:识别所述输入块中的有效片段的数量;确定所述输入块中的一个或多个有效片段对是否可由参考片段和导出片段替换;以及基于所述确定和有效片段的所述数量,选择纹理地址产生的所述第一模式或纹理地址产生的所述第二模式。

13、所述方法可包括:响应于识别出四个有效片段并且确定可替换两个有效片段对,选择所述第一模式;以及响应于识别出四个有效片段并且确定可替换少于两个有效片段对,选择所述第二模式。

14、所述方法可包括:响应于仅识别出三个有效片段并且确定没有有效片段对能够被替换或尾部对角线片段对不能够被替换,选择所述第二模式;否则响应于仅识别出三个有效片段,选择所述第一模式。

15、所述方法可包括:响应于仅识别出两个有效片段,选择所述第一模式。

16、所述方法可包括:响应于识别出大于两个有效片段并且所述纹理指令指示使用各向异性滤波,选择所述第二模式。

17、所述方法可包括:响应于识别出大于两个有效片段并且所述纹理指令指示使用投影操作,选择所述第二模式。

18、确定所述输入块中的有效片段对可由参考片段替换,并且导出片段可包括以下中的一者或多者:(i)确定所述有效片段对的纹理像素之间的步长不大于预定义阈值;(ii)确定着色器供应细节层级偏置不小于偏置阈值,其中所述偏置阈值可被设置为-1;(iii)确定在舍入之后,所述片段对具有共同的每片段着色器供应细节层级偏置;(iv)确定所述有效片段对的所述梯度中的最大梯度所暗示的细节层级不大于最大细节层级;(v)确定所述有效片段对的细节层级参数指示两个片段使用共同的mip映射层级;(vi)确定所述有效片段对映射到立方体映射的公共面;以及(vii)确定相对于对应参考片段以所述第二精度对所述导出片段执行所述计算引起不超过预定义误差阈值的相对误差。

19、第二方面提供一种纹理地址产生单元,包括:输入端,所述输入端用于接收片段的输入块的片段坐标和所述片段的纹理指令;分析硬件逻辑块,所述分析硬件逻辑块被布置成根据片段的所述输入块来计算至少一个片段对的梯度,并且基于所计算梯度,确定将使用纹理地址产生的第一模式还是纹理地址产生的第二模式,其中纹理地址产生的所述第一模式以第一精度对所述片段的子集执行计算,并且以较低的第二精度对其余片段执行计算,并且纹理地址产生的所述第二模式以所述第一精度对所有片段执行计算;以及至少一个其他硬件逻辑块,所述至少一个其他硬件逻辑块被布置成使用所确定模式和所计算梯度来执行纹理地址产生,其中如果使用所述第二模式并且所述输入块中超过一半的所述片段是有效的,则在两个时钟周期内执行所述纹理地址产生。

20、所述至少一个其他硬件逻辑块可包括:变换和设置硬件逻辑块,所述变换和设置硬件逻辑块被布置成变换坐标和梯度向量,以执行细节层级计算并且确定全局滤波器参数;以及排序和迭代硬件逻辑块,所述排序和迭代硬件逻辑块被布置成确定滤波操作序列且确定混合权重,并且输出一个或多个纹理像素面片的索引、每个纹理像素面片的mip映射层级数据以及所述输入块中的每个有效片段的混合权重。

21、第三方面提供一种立方体映射的方法,所述方法包括:接收片段的输入块的片段坐标和所述片段的纹理指令;基于片段的所述输入块的梯度,确定将使用立方体映射的第一模式还是立方体映射的第二模式,其中立方体映射的所述第一模式以第一精度对所述片段的子集执行计算,并且以较低的第二精度对其余片段执行计算,并且立方体映射的所述第二模式以所述第一精度对所有片段执行计算;以及使用所确定模式和所计算梯度来执行立方体映射,其中如果使用所述第二模式并且所述输入块中超过一半的所述片段是有效的,则在两个时钟周期内执行所述立方体映射。

22、所述方法还可包括利用片段的所述输入块的所述片段坐标接收着色器供应梯度。

23、所述方法还可包括在确定将使用立方体映射的第一模式还是立方体映射的第二模式之前,进行以下操作:以所述第一精度计算片段的所述输入块的梯度。

24、在立方体映射的所述第一模式中,所述子集中的片段可以是参考片段,并且其余片段可以是导出片段,并且可相对于所述参考片段中的一个参考片段执行对导出片段的较低精度计算。

25、响应于确定将使用立方体映射的所述第一模式,使用所确定模式和所述梯度来执行立方体映射可包括:以所述第一精度对所述参考片段执行坐标变换;以及以所述第二精度对所述导出片段执行梯度变换。

26、响应于确定将使用立方体映射的所述第一模式,使用所确定模式和所述梯度来执行立方体映射还可包括:将所变换梯度添加到所述参考片段的所变换坐标,以产生所述导出片段的所变换坐标。

27、基于片段的所述输入块的梯度,确定将使用立方体映射的第一模式还是立方体映射的第二模式可包括:确定所述输入块中的所有所述片段是否映射到所述立方体的公共面;以及确定相对于片段的所述子集中的片段以所述第二精度对其余片段执行所述计算是否引起不超过预定义误差阈值的相对误差,其中响应于确定所述输入块中的所有所述片段都映射到公共面并且所述相对误差不超过所述预定义误差阈值,选择使用所述第一模式。

28、确定相对于片段的所述子集中的片段以所述第二精度对其余片段执行所述计算是否引起不超过预定义误差阈值的相对误差可包括:基于片段的所述输入块的所述梯度的指数,确定当以所述第二精度对所述导出片段执行梯度变换作为立方体映射的部分时,是否能够进行项抵消。

29、确定相对于片段的所述子集中的片段以所述第二精度对其余片段执行所述计算是否引起不超过预定义误差阈值的相对误差可包括:基于片段的所述输入块的梯度的符号,确定当以所述第二精度对所述导出片段执行梯度变换作为立方体映射的部分时,是否能够进行项抵消。

30、确定相对于片段的所述子集中的片段以所述第二精度对其余片段执行所述计算是否引起不超过预定义误差阈值的相对误差可包括:基于片段的所述输入块的所述梯度的比较,确定当以所述第二精度对所述导出片段执行梯度变换作为立方体映射的部分时,是否能够进行项抵消。

31、所述比较可由下式给出:其中b和d是片段的所述输入块的梯度,ε是所述相对误差,ε0是预定义误差阈值,并且bias是所述纹理指令中包括的细节层级偏置。

32、第四方面提供立方体映射硬件逻辑单元,包括:输入端,所述输入端用于接收片段的输入块的片段坐标和所述片段的纹理指令;分析硬件逻辑块,所述分析硬件逻辑块被布置成基于片段的所述输入块的梯度,确定将使用立方体映射的第一模式还是立方体映射的第二模式,其中立方体映射的所述第一模式以第一精度对所述片段的子集执行计算,并且以较低的第二精度对其余片段执行计算,并且立方体映射的所述第二模式以所述第一精度对所有片段执行计算;以及一个或多个其他硬件逻辑块,所述一个或多个其他硬件逻辑块被布置成使用所确定模式和所述梯度来执行立方体映射,其中如果使用所述第二模式并且所述输入块中超过一半的所述片段是有效的,则在两个时钟周期内执行所述立方体映射。

33、所述输入端还可用于利用片段的所述输入块的所述片段坐标接收着色器供应梯度。

34、所述分析硬件逻辑块还可被布置成以所述第一精度计算片段的所述输入块的梯度。

35、在立方体映射的所述第一模式中,所述子集中的片段可以是参考片段,并且其余片段可以是导出片段,并且可相对于所述参考片段中的一个参考片段执行对导出片段的较低精度计算。

36、所述一个或多个其他硬件逻辑块可包括:坐标变换硬件逻辑块,所述坐标变换硬件逻辑块被布置成以所述第一精度对所述参考片段执行坐标变换;和导出变换硬件逻辑块,所述导出变换硬件逻辑块被布置成以所述第二精度对所述导出片段执行梯度变换。

37、所述一个或多个其他硬件逻辑块还可包括:输出求和硬件逻辑块,所述输出求和硬件逻辑块被布置成将所变换梯度加到所述参考片段的所变换坐标,以产生所述导出片段的所变换坐标。

38、其他方面提供一种纹理地址产生单元,所述纹理地址产生单元包括如本文中所描述的立方体映射硬件逻辑;纹理硬件,所述纹理硬件包括如本文中所描述的纹理地址产生单元;渲染单元,所述渲染单元包括如本文中所描述的纹理硬件或纹理地址产生单元;图形处理系统,包括如本文中所描述的渲染单元;图形处理系统,所述图形处理系统被配置成执行本文中所描述的方法中的任一种方法(其中所述图形处理系统可在集成电路上的硬件中体现);计算机可读代码,所述计算机可读代码被配置成当运行所述代码时,促使本文中所描述的方法中的任一种方法被执行;集成电路定义数据集,当在集成电路制造系统中被处理时,所述集成电路定义数据集将所述集成电路制造系统配置成制造如本文中所描述的图形处理系统;和集成电路制造系统,所述集成电路制造系统包括:计算机可读存储介质,其上存储有描述如本文中所描述的图形处理系统的集成电路的计算机可读描述;布局处理系统,所述布局处理系统被配置成处理所述集成电路描述,以便产生体现所述图形处理系统的集成电路的电路布局描述;和集成电路产生系统,所述集成电路产生系统被配置成根据所述电路布局描述来制造所述图形处理系统。

39、所述纹理地址产生单元、立方体映射硬件单元和图形处理系统可在集成电路上的硬件中体现。可提供一种在集成电路制造系统处制造纹理地址产生单元、立方体映射硬件单元或图形处理系统的方法。可提供一种集成电路定义数据集,当在集成电路制造系统中被处理时,所述集成电路定义数据集将所述系统配置成制造纹理地址产生单元、立方体映射硬件单元或图形处理系统。可提供一种非暂时性计算机可读存储介质,其上存储有集成电路的计算机可读描述,当被处理时,所述计算机可读描述促使布局处理系统产生用于集成电路制造系统中的电路布局描述,以制造纹理地址产生单元、立方体映射硬件单元或图形处理系统。

40、可提供一种集成电路制造系统,包括:非暂时性计算机可读存储介质,其上存储有描述所述纹理地址产生单元、立方体映射硬件单元或图形处理系统的计算机可读集成电路描述;布局处理系统,所述布局处理系统被配置成处理集成电路描述,以便产生体现所述纹理地址产生单元、立方体映射硬件单元或图形处理系统的集成电路的电路布局描述;和集成电路产生系统,所述集成电路产生系统被配置成根据所述电路布局描述来制造所述纹理地址产生单元、立方体映射硬件单元或图形处理系统。

41、可提供用于执行本文中所描述的方法中的任一种方法的计算机程序代码。可提供非暂时性计算机可读存储介质,其上存储有计算机可读指令,当在计算机系统处执行时,所述计算机可读指令促使所述计算机系统执行本文中所描述的方法中的任一种方法。

42、如对本领域的技术人员将显而易见,上述特征可以适当地组合,并且可与本文中所描述的示例的各方面中的任一方面进行组合。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1