当前位置: 首页 > 专利查询>ARM有限公司专利>正文

图形处理制造技术

技术编号:38912379 阅读:17 留言:0更新日期:2023-09-25 09:28
本公开涉及基于图块的渲染系统。特别地,包括一种用于将基元元数据编码到基元列表中的方法,其中基元元数据命令被包括到该基元列表中,该基元列表能够指示来自可由该基元元数据命令指示的不同类型的基元元数据集合的基元元数据的类型与该基元元数据命令相关联地被包括到该基元列表中。然后,所指示的基元元数据可被包括在该基元列表中,在该基元元数据命令之后。还公开了对应基元列表格式和使用这种基元元数据命令的图形处理系统。种基元元数据命令的图形处理系统。种基元元数据命令的图形处理系统。

【技术实现步骤摘要】
图形处理

技术介绍

[0001]本文所述的技术涉及图形处理系统,并且尤其涉及当在图形处理系统中处理图形基元时使用的方法和系统,在这些图形处理系统中渲染输出被细分为用于渲染的多个图块(例如,所谓的“基于图块”的图形处理系统)。
[0002]通常通过首先将待渲染的图形处理(渲染)输出(诸如待显示的帧)分为若干类似的几何的基本分量以允许更容易地执行图形处理操作来执行图形处理。这些几何的基本分量常常可被称为图形“基元”,并且此类“基元”通常呈简单多边形(诸如三角形)、点、线或它们的群组的形式。
[0003]每个基元(例如,多边形)在该阶段由顶点集合限定并表示为顶点集合。基元的每个顶点具有与其相关联的表示该顶点的数据集合(诸如位置、颜色、纹理和其他属性数据)。然后使用该“顶点数据”(例如,当光栅化和渲染顶点涉及的基元时),以便生成图形处理系统的期望渲染输出。
[0004]对于待由图形处理系统生成的给定输出(例如,待显示的帧),通常将存在针对所考虑的输出限定的顶点集合。然后将针对输出待处理的基元指示为包括正在生成的图形处理输出的该顶点集合中的给定顶点。通常,总输出(例如,待生成的帧)将被划分为较小的处理单元,称为“绘制调用”。每个绘制调用将具有针对其限定的相应顶点集合和使用那些顶点的相应基元。对于给定的帧,存在例如大约几千个绘制调用和成千上万个(或可能几百万个)基元。
[0005]一旦已经生成并限定了基元及其顶点,它们就可以由图形处理系统处理,以便生成期望的图形处理输出(渲染目标),诸如用于显示的帧。这基本上涉及确定与待处理的渲染输出面积相关联的采样点阵列中的哪些采样点被基元覆盖,然后确定每个采样点应具有的外观(例如,就其颜色等而言)以表示该采样点处的基元。这些过程通常分别被称为光栅化和渲染。(术语“光栅化”有时用于表示基元转换到采样位置和渲染两者。然而,在本文中,“光栅化”将仅用于指将基元数据转换为采样点地址。)
[0006]一种形式的图形处理使用所谓的“基于图块”的渲染。在基于图块的渲染中,二维渲染输出(即,渲染过程的输出,诸如待显示的输出帧)被渲染为多个较小面积的区域,通常称为“渲染图块”。在此类布置中,渲染输出通常被划分(按面积)为规则大小和形状的渲染图块(它们通常为矩形,例如正方形)。(通常用于“拼接”和“基于图块”的渲染的其他术语包括“分块”(渲染图块被称为“组块”)和“存储桶”渲染。下文将出于方便使用术语“图块”和“拼接”,但应理解,这些术语旨在涵盖所有另选和等效的术语和技术,其中渲染输出被渲染为多个较小面积区域。)
[0007]在基于图块的图形处理流水线中,将正产生的渲染输出的几何(基元)分类到渲染输出面积的区域中,以便允许标识针对渲染输出的给定区域需要进行处理的几何(基元)。该分类允许标识针对渲染输出的给定区域需要进行处理的基元(以便例如避免不必要地渲染实际上不存在于区域中的基元)。该分类过程产生了针对渲染输出的不同区域待渲染的基元列表(本文称为“基元”列表,但也通常称为“多边形”或“图块”列表)。
[0008]一旦已针对所有渲染输出区域准备了基元列表,每个渲染图块就通过光栅化和渲染针对对应于渲染图块的渲染输出的区域列出的基元来处理。
[0009]针对渲染输出的区域准备基元列表的过程因此基本上涉及确定应当针对给定渲染输出区域处理的基元。该过程通常通过确定(以期望的精度水平)与所讨论的渲染输出区域相交(即,将(至少部分地)出现在其中)的基元,然后准备这些基元的列表以供图形处理系统将来使用来执行。因此,对于待处理的每个基元,图形处理器读入相关联顶点数据,将顶点位置至少转换为屏幕空间(顶点着色),然后使用每个基元的经着色顶点位置来确定基元至少部分地覆盖渲染输出的哪一(哪些)区域(并且因此应被渲染)。
[0010]此处应当注意,在基元落入多于一个渲染输出区域的情况下,如将经常发生的情况,其被包括在其所落入的每个区域的基元列表中。针对其准备基元列表的渲染输出区域可以是单个渲染图块,或一组多个渲染图块等。
[0011]实际上,每个渲染输出区域可被视为具有料格(bin)(基元列表),发现落入(即,相交)该区域内的任何基元都被放置在该料格中(并且实际上,以此方式在逐个区域的基础上对基元进行分类的过程通常称为“分格(binning)”)。
[0012]以这种方式准备的基元列表然后可被写出(例如)到存储器,并且一旦包括拼接操作的第一处理回合完成,使得已准备所有基元列表(针对所有渲染输出区域的所有基元),则然后可由图形处理器使用基元列表(例如,在第二(延迟)处理回合中)以执行渲染图块的实际渲染,其中存储在基元列表中的信息相应地用以在产生期望的渲染输出(例如,以显示帧)时标识待针对每个渲染图块待渲染的基元。
[0013]除了针对相关联渲染输出区域标识待渲染的各个基元之外,基元列表还可包括在渲染所标识的基元以生成期望的渲染输出(例如用于显示的帧)时待使用的其他数据(例如,基元元数据)。
[0014]然而,申请人相信,在如何将数据布置并存储在此类基元列表中以供基于图块的渲染系统使用方面仍有改善的余地。
附图说明
[0015]现在将仅以举例的方式并参考以下附图来描述各种实施方案,其中:
[0016]图1示意性地示出了基于图块的图形处理布置;
[0017]图2示意性地示出了可根据本文所述的技术操作的图形处理系统的布置;
[0018]图3示出了待显示的基元的示例场景;
[0019]图4示出了本文所述的技术的实施方案的可被包括到具有基元列表格式的基元列表中的命令的概要;
[0020]图5、图6和图7示出了根据本文所述的技术的基元列表格式准备的基元列表的示例;并且
[0021]图8是示出本文所述的技术的实施方案的方法的流程图。
具体实施方式
[0022]本文所述的技术的第一实施方案包括一种在图形处理系统中处理数据的方法,其中渲染输出被细分为用于渲染的多个图块,该方法包括:
[0023]确定针对渲染输出待处理的基元序列中的哪些基元将针对渲染输出被细分为用于对基元进行分类的相应区域待渲染;以及
[0024]针对渲染输出的区域准备对应基元列表,每个基元列表标识将针对该基元列表所涉及的渲染输出的区域待渲染的基元的相应列表,
[0025]其中针对渲染输出的相应区域准备基元列表包括生成用于包括到基元列表中的命令序列,为基元列表生成的命令序列包括多个不同相应类型的命令,该多个不同相应类型的命令包括:
[0026](i)基元类型命令,这些基元类型命令存储第一类型的数据(“基元数据”),该第一类型的数据标识将针对基元列表所涉及的渲染输出的区域待渲染的各个基元;
[0027](ii)状态类型命令,这些状态类型命令存储第二类型的数据(“状态数据”),该第二类型的数据与在渲染各个基元时待执行的处理操作相关联,其中该第二类型的数据可应用于一个或多个基元的多个集合;和
[0028](iii)配置类型命本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种在图形处理系统中处理数据的方法,其中渲染输出被细分为用于渲染的多个图块,所述方法包括:确定针对所述渲染输出待处理的基元序列中的哪些基元将针对所述渲染输出被细分为用于对所述基元进行分类的相应区域待渲染;以及针对所述渲染输出的相应区域准备对应基元列表,每个基元列表标识将针对所述基元列表所涉及的所述渲染输出的所述区域待渲染的基元的相应列表,其中针对所述渲染输出的相应区域准备基元列表包括:生成标识针对基元列表所涉及的渲染输出的区域待渲染的各个基元的命令序列,这些命令序列包括标识当针对基元列表所涉及的渲染输出的区域渲染各个基元中的一个或多个基元时待应用的基元元数据集合的至少一个基元元数据命令,其中每个基元元数据命令能够指示来自能够由所述基元元数据命令指示的不同类型的基元元数据的相应集合的哪一种或多种类型的基元元数据将被包括到所述基元列表中,并且其中当生成以用于包括到所述基元列表中时,基元元数据命令包括指示符,所述指示符指示来自能够由所述基元元数据命令指示的所述不同类型的基元元数据集合的哪些类型的基元元数据与所述基元元数据命令相关联地被包括到所述基元列表中,并且其中在针对基元列表生成的所述命令序列中,所述基元元数据命令之后是基元元数据的对应集合,所述基元元数据的对应集合包括由包括在所述基元元数据命令内的所述指示符指示的所述一种或多种类型的基元元数据的基元元数据。2.根据权利要求1所述的方法,其中每个基元元数据命令包括:第一部分,所述第一部分标识所述基元元数据命令是标识将被包括到所述基元列表中的基元元数据的基元元数据命令;和第二部分,所述第二部分包括所述指示符,其中所述指示符包括逐位掩码和/或标记集合,其值被设置为指示在所述基元列表中,所述基元元数据命令之后包括哪一种或多种类型的基元元数据。3.根据权利要求1或2所述的方法,其中在所述基元列表中,所述基元元数据命令之后是由所述指示符指示的对应一段或多段基元元数据有效载荷,并且其中所述基元元数据命令之后的所述相应段基元元数据有效载荷中的每一者具有同一固定大小。4.根据权利要求1、2或3中任一项所述的方法,其中由所述基元元数据命令标识的所述基元元数据是应用于多组一个或多个基元的多个集合的配置类型数据。5.根据权利要求4所述的方法,其中能够由所述基元元数据命令指示的所述不同类型的配置数据包括具有以下项中的任一者或多者的集合:(i)深度范围;(ii)当执行剪切操作时待使用的剪切框;(iii)绘制调用描述符或标识符;和(iv)待执行的流水线或遮挡查询的指示符。6.根据权利要求4或5所述的方法,其中除了标识应用于一组一个或多个基元的多个集合的配置类型数据的所述至少一个基元元数据命令之外,所述基元列表进一步包括多个不同相应类型的命令,所述多个不同相应类型的命令包括:(i)基元类型命令,所述基元类型命令存储第一类型的数据,所述第一类型的数据标识将针对所述基元列表所涉及的所述渲染输出的所述区域待渲染的各个基元;和(ii)状态类型命令,所述状态类型命令存储第二类型的数据,所述第二类型的数据与在渲染各个基元时待执行的处理操作相关联,其中所述第二类型的数据可应用于一个或多
个基元的多个集合;并且因此使用所述不同相应类型的命令,将所述第一类型的数据和所述第二类型的数据彼此分别存储在所述基元列表中,并且与所述基元元数据分别存储。7.根据权利要求6所述的方法,其中针对待渲染的多个基元的序列,所述基元列表包括一个或多个基元元数据命令,所述一个或多个基元元数据命令存储配置类型命令,所述配置类型命令标识待应用于所述多个基元的序列的配置数据集合,之后是所述对应配置数据本身,并且然后之后是指示所述基元的序列内的所述各个基元的相应状态和基元类型数据的多个状态和基元类型命令。8.根据权利要求7所述的方法,其中存在被配置用于存储不同的相应状态数据的多个不同状态类型命令,并且其中所述基元列表准备电路当生成用于基元列表的命令序列时被配置为仅当针对由所述当前基元命令标识的所述基元的相应状态数据中存在需要包括的改变时,状态类型命令才与所述当前基元命令相关联地被包括到所述命令序列中。9.一种图形处理系统,其中渲染输出被细分为用于渲染的多个图块,所述图形处理系统包括:拼接...

【专利技术属性】
技术研发人员:R
申请(专利权)人:Arm有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1