图形处理的制作方法

文档序号:35538308发布日期:2023-09-23 14:17阅读:22来源:国知局
图形处理的制作方法


背景技术:

1、本文所述的技术涉及图形处理系统,并且尤其涉及当在图形处理系统中处理图形基元时使用的方法和系统,在这些图形处理系统中渲染输出被细分为用于渲染的多个图块(例如,所谓的“基于图块”的图形处理系统)。

2、通常通过首先将待渲染的图形处理(渲染)输出(诸如待显示的帧)分为若干类似的几何的基本分量以允许更容易地执行图形处理操作来执行图形处理。这些几何的基本分量常常可被称为图形“基元”,并且此类“基元”通常呈简单多边形(诸如三角形)、点、线或它们的群组的形式。

3、每个基元(例如,多边形)在该阶段由顶点集合限定并表示为顶点集合。基元的每个顶点具有与其相关联的表示该顶点的数据集合(诸如位置、颜色、纹理和其他属性数据)。然后使用该“顶点数据”(例如,当光栅化和渲染顶点涉及的基元时),以便生成图形处理系统的期望渲染输出。

4、对于待由图形处理系统生成的给定输出(例如,待显示的帧),通常将存在针对所考虑的输出限定的顶点集合。然后将针对输出待处理的基元指示为包括正在生成的图形处理输出的该顶点集合中的给定顶点。通常,总输出(例如,待生成的帧)将被划分为较小的处理单元,称为“绘制调用”。每个绘制调用将具有针对其限定的相应顶点集合和使用那些顶点的相应基元。对于给定的帧,存在例如大约几千个绘制调用和成千上万个(或可能几百万个)基元。

5、一旦已经生成并限定了基元及其顶点,它们就可以由图形处理系统处理,以便生成期望的图形处理输出(渲染目标),诸如用于显示的帧。这基本上涉及确定与待处理的渲染输出面积相关联的采样点阵列中的哪些采样点被基元覆盖,然后确定每个采样点应具有的外观(例如,就其颜色等而言)以表示该采样点处的基元。这些过程通常分别被称为光栅化和渲染。(术语“光栅化”有时用于表示基元转换到采样位置和渲染两者。然而,在本文中,“光栅化”将仅用于指将基元数据转换为采样点地址。)

6、一种形式的图形处理使用所谓的“基于图块”的渲染。在基于图块的渲染中,二维渲染输出(即,渲染过程的输出,诸如待显示的输出帧)被渲染为多个较小面积的区域,通常称为“渲染图块”。在此类布置中,渲染输出通常被划分(按面积)为规则大小和形状的渲染图块(它们通常为矩形,例如正方形)。(通常用于“拼接”和“基于图块”的渲染的其他术语包括“分块”(渲染图块被称为“组块”)和“存储桶”渲染。下文将出于方便使用术语“图块”和“拼接”,但应理解,这些术语旨在涵盖所有另选和等效的术语和技术,其中渲染输出被渲染为多个较小面积区域。)

7、在基于图块的图形处理流水线中,将正产生的渲染输出的几何(基元)分类到渲染输出面积的区域中,以便允许标识针对渲染输出的给定区域需要进行处理的几何(基元)。该分类允许标识针对渲染输出的给定区域需要进行处理的基元(以便例如避免不必要地渲染实际上不存在于区域中的基元)。该分类过程产生了针对渲染输出的不同区域待渲染的基元列表(本文称为“基元”列表,但也通常称为“多边形”或“图块”列表)。

8、一旦已针对所有渲染输出区域准备了基元列表,每个渲染图块就通过光栅化和渲染针对对应于渲染图块的渲染输出的区域列出的基元来处理。

9、针对渲染输出的区域准备基元列表的过程因此基本上涉及确定应当针对给定渲染输出区域处理的基元。该过程通常通过确定(以期望的精度水平)与所讨论的渲染输出区域相交(即,将(至少部分地)出现在其中)的基元,然后准备这些基元的列表以供图形处理系统将来使用来执行。因此,对于待处理的每个基元,图形处理器读入相关联顶点数据,将顶点位置至少转换为屏幕空间(顶点着色),然后使用每个基元的经着色顶点位置来确定基元至少部分地覆盖渲染输出的哪一(哪些)区域(并且因此应被渲染)。

10、此处应当注意,在基元落入多于一个渲染输出区域的情况下,如将经常发生的情况,其被包括在其所落入的每个区域的基元列表中。针对其准备基元列表的渲染输出区域可以是单个渲染图块,或一组多个渲染图块等。

11、实际上,每个渲染输出区域可被视为具有料格(bin)(基元列表),发现落入(即,相交)该区域内的任何基元都被放置在该料格中(并且实际上,以此方式在逐个区域的基础上对基元进行分类的过程通常称为“分格(binning)”)。

12、以这种方式准备的基元列表然后可被写出(例如)到存储器,并且一旦包括拼接操作的第一处理回合完成,使得已准备所有基元列表(针对所有渲染输出区域的所有基元),则然后可由图形处理器使用基元列表(例如,在第二(延迟)处理回合中)以执行渲染图块的实际渲染,其中存储在基元列表中的信息相应地用以在产生期望的渲染输出(例如,以显示帧)时标识待针对每个渲染图块待渲染的基元。

13、除了针对相关联渲染输出区域标识待渲染的各个基元之外,基元列表还可包括在渲染所标识的基元以生成期望的渲染输出(例如用于显示的帧)时待使用的其他数据(例如,基元元数据)。

14、然而,申请人相信,在如何将数据布置并存储在此类基元列表中以供基于图块的渲染系统使用方面仍有改善的余地。


技术实现思路



技术特征:

1.一种在图形处理系统中处理数据的方法,其中渲染输出被细分为用于渲染的多个图块,所述方法包括:

2.根据权利要求1所述的方法,其中每个基元元数据命令包括:第一部分,所述第一部分标识所述基元元数据命令是标识将被包括到所述基元列表中的基元元数据的基元元数据命令;和第二部分,所述第二部分包括所述指示符,其中所述指示符包括逐位掩码和/或标记集合,其值被设置为指示在所述基元列表中,所述基元元数据命令之后包括哪一种或多种类型的基元元数据。

3.根据权利要求1或2所述的方法,其中在所述基元列表中,所述基元元数据命令之后是由所述指示符指示的对应一段或多段基元元数据有效载荷,并且其中所述基元元数据命令之后的所述相应段基元元数据有效载荷中的每一者具有同一固定大小。

4.根据权利要求1、2或3中任一项所述的方法,其中由所述基元元数据命令标识的所述基元元数据是应用于多组一个或多个基元的多个集合的配置类型数据。

5.根据权利要求4所述的方法,其中能够由所述基元元数据命令指示的所述不同类型的配置数据包括具有以下项中的任一者或多者的集合:(i)深度范围;(ii)当执行剪切操作时待使用的剪切框;(iii)绘制调用描述符或标识符;和(iv)待执行的流水线或遮挡查询的指示符。

6.根据权利要求4或5所述的方法,其中除了标识应用于一组一个或多个基元的多个集合的配置类型数据的所述至少一个基元元数据命令之外,所述基元列表进一步包括多个不同相应类型的命令,所述多个不同相应类型的命令包括:

7.根据权利要求6所述的方法,其中针对待渲染的多个基元的序列,所述基元列表包括一个或多个基元元数据命令,所述一个或多个基元元数据命令存储配置类型命令,所述配置类型命令标识待应用于所述多个基元的序列的配置数据集合,之后是所述对应配置数据本身,并且然后之后是指示所述基元的序列内的所述各个基元的相应状态和基元类型数据的多个状态和基元类型命令。

8.根据权利要求7所述的方法,其中存在被配置用于存储不同的相应状态数据的多个不同状态类型命令,并且其中所述基元列表准备电路当生成用于基元列表的命令序列时被配置为仅当针对由所述当前基元命令标识的所述基元的相应状态数据中存在需要包括的改变时,状态类型命令才与所述当前基元命令相关联地被包括到所述命令序列中。

9.一种图形处理系统,其中渲染输出被细分为用于渲染的多个图块,所述图形处理系统包括:

10.根据权利要求9所述的图形处理系统,其中每个基元元数据命令包括:第一部分,所述第一部分标识所述基元元数据命令是标识将被包括到所述基元列表中的基元元数据的基元元数据命令;和第二部分,所述第二部分包括所述指示符,其中所述指示符包括逐位掩码和/或标记集合,其值被设置为指示在所述基元列表中,所述基元元数据命令之后包括哪一种或多种类型的基元元数据。

11.根据权利要求9或10所述的图形处理系统,其中在所述基元列表中,所述基元元数据命令之后是由所述指示符指示的对应一段或多段基元元数据有效载荷,并且其中所述基元元数据命令之后的所述相应段基元元数据有效载荷中的每一者具有同一固定大小。

12.根据权利要求9、10或11所述的图形处理系统,其中由所述基元元数据命令标识的所述基元元数据是应用于多组一个或多个基元的多个集合的配置类型数据。

13.根据权利要求12所述的图形处理系统,其中能够由所述基元元数据命令指示的所述不同类型的配置数据包括具有以下项中的任一者或多者的集合:(i)深度范围;(ii)当执行剪切操作时待使用的剪切框;

14.根据权利要求12或13所述的图形处理系统,其中除了标识应用于一组一个或多个基元的多个集合的配置类型数据的所述至少一个基元元数据命令之外,所述基元列表进一步包括多个不同相应类型的命令,所述多个不同相应类型的命令包括:

15.根据权利要求14所述的图形处理系统,其中针对待渲染的多个基元的序列,所述基元列表包括一个或多个基元元数据命令,所述一个或多个基元元数据命令存储配置类型命令,所述配置类型命令标识待应用于所述多个基元的序列的配置数据集合,之后是所述对应配置数据本身,并且然后之后是指示所述基元的序列内的所述各个基元的相应状态和基元类型数据的多个状态和基元类型命令。

16.根据权利要求15所述的图形处理系统,其中存在被配置用于存储不同的相应状态数据的多个不同状态类型命令,并且其中所述基元列表准备电路当生成用于基元列表的命令序列时被配置为仅当针对由所述当前基元命令标识的所述基元的相应状态数据中存在需要包括的改变时,状态类型命令才与所述当前基元命令相关联地被包括到所述命令序列中。

17.一种包括指令的计算机程序产品,当所述指令由处理器执行时使得所述处理器执行根据权利要求1至8中任一项所述的方法。


技术总结
本公开涉及基于图块的渲染系统。特别地,包括一种用于将基元元数据编码到基元列表中的方法,其中基元元数据命令被包括到该基元列表中,该基元列表能够指示来自可由该基元元数据命令指示的不同类型的基元元数据集合的基元元数据的类型与该基元元数据命令相关联地被包括到该基元列表中。然后,所指示的基元元数据可被包括在该基元列表中,在该基元元数据命令之后。还公开了对应基元列表格式和使用这种基元元数据命令的图形处理系统。

技术研发人员:R·斯特普奇,F·K·朗廷德
受保护的技术使用者:Arm有限公司
技术研发日:
技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1