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

图形处理制造技术

技术编号:7844473 阅读:170 留言:0更新日期:2012-10-13 02:37
本发明专利技术涉及图形处理。图形处理器包括顶点着色器20,该顶点着色器20处理来自顶点缓冲器26的输入属性值以便产生由图形处理器的光栅器/片段着色器22在处理用于显示的图像时使用的输出的顶点着色的属性值28。标识顶点着色器输出属性所依赖的顶点着色器输入属性仅仅在每顶点基础上或者仅仅在每实例基础上定义的顶点着色器输出属性。然后,对于这样的顶点着色器输出属性,顶点着色器20分别对于给定的顶点或实例存储顶点着色器输出属性的仅仅一个拷贝以供图形处理器的光栅器/片段着色器22在处理用于显示的图像时使用,而不管输出属性值分别适用的实例或顶点的数量如何。

【技术实现步骤摘要】

本专利技术涉及图形处理,并且特别地,涉及包括顶点着色(vertex shading)阶段的图形处理系统的操作。
技术介绍
如本领域中已知的,图形处理典型地以流水线(pipelined)方式执行,具有对数据进行操作以便产生显示的最终图像的一个或多个流水线阶段。该处理的两个重要阶段典型地为诸如变换和照明之类的所谓的顶点着色操作,其在代表要显示的图像的图元(多边形)的顶点上执行;以及后续的片段(像素)着色操作,其对构成要显示的图像的各个片段(像素)着色(赋色)。 诸如顶点变换和照明之类的顶点着色操作典型地在图形处理的所谓的“顶点着色器”阶段中执行。这典型地为在输入数据值上执行顶点着色器程序以便产生希望的输出数据集合(例如适当变换和照明的顶点数据)以供图形流水线的其余部分处理的可编程处理单元。(如本领域中已知的,通常将场景的每个图元(多边形)定义和表示为顶点集合,其中每个顶点具有与其关联的用于该顶点的数据值集合。顶点着色过程例如基于顶点所涉及的图元所经受的任何变换或照明修改针对该顶点的初始定义的数据值。)。一旦用于场景的输入数据值经过顶点“着色”,那么通常将代表场景的图元光栅化以便为场景产生多个要被处理的“片段”。(如本领域中已知的,“片段”是在其上执行图形处理操作(例如再现)的离散图形实体。每个片段与场景的一个或多个采样点对应并且具有与其关联的必要数据,例如红色、绿色、蓝色(RGB)颜色数据、阿尔法(透明度)值和深度值,以允许显示所述(一个或多个)样本点。(片段也可以称为像素,但是情况并非必然是给定片段将完全与最终显示中的单个像素(像素元素)对应,因为诸如向下缩放之类的后处理可能意味着图形处理在其上操作的实体(片段)与显示像素之间不存在一一对应。))。图形片段一旦产生,则经历对其着色以便产生其最终的输出颜色等值的若干过程,例如应用纹理、混合等等。例如显示所述片段所代表的(一个或多个)样本点所需的导出输出数据值的这样的过程可以称为“片段着色”或者“像素着色”并且在处理流水线的片段着色(也称为像素着色)阶段中执行。片段着色过程处理片段的初始定义的片段数据值以便正确地导出该片段的输出数据(显示该片段代表的(一个或多个)样本点所需的数据)。再一次地,片段着色器可以为执行一个或多个片段着色器程序以便对片段适当地着色(赋色)的可编程单元。如本领域中已知的,顶点和片段着色操作通常对所谓的“属性”进行操作。属性是着色器程序中的输入或输出变量,并且可以代表例如位置、颜色或纹理坐标等等。顶点着色器的输入属性可以称为初级属性,并且顶点着色器的输出属性(其也是片段着色器输入属性)可以称为次级属性。通常,对于给定的着色器程序(链接的顶点和片段着色器)而言,存在固定数量的初级属性(顶点着色器输入变量)和固定数量的次级属性(顶点着色器输出/片段着色器输入变量)。对于特定的绘图(draw)调用而言,针对非实例化(instanced)的绘图,每个初级属性(顶点着色器输入变量)具有用于绘图调用的每个顶点的定义值。在实例化绘图的情况下,每个初级属性(顶点着色器输入变量)具有用于每个顶点或者用于每个实例的定义值。因此,在实例化模式操作中,一些初级属性将具有在每顶点基础上定义的值,并且因而可以被认为是“每顶点”属性。同样地,可以存在其值在每实例基础上定义的初级属性,所述属性因此可以被认为是“每实例”属性。如本领域中已知的,当图形处理器在所谓的“实例化”模式下操作时,将绘制相同输入几何结构的多个“实例”(例如每次在稍微不同的位置)。在这种情况下,顶点着色器将每顶点每实例运行一次(即次数等于顶点数量乘以实例数量),而不是仅仅每顶点运行一次。因此,对于每个不同的顶点和实例组合而言,通常将存在为每个次级属性(顶点着色器输出变量)产生的顶点着色器输出(次级属性值)。初级属性值典型地存储在存储器中以供顶点着色器使用。(这通常在图形API中规定。)要求图形处理的主机系统上的应用程序通常将规定顶点着色器输入属性和输入属性值的存储布局。 在传统的即时模式图形处理单元的情况下,为了向诸如片段着色器之类的后续处理阶段提供输出的经过顶点着色的次级属性值,顶点着色器输出典型地被引导通过芯片内的内部流水线。在延迟再现图形处理器(例如基于图块(tile)的图形处理器)的情况下,通常将顶点着色器输出(顶点着色的属性值)写到存储器,当片段着色器等需要时,于是从所述存储器访问这些顶点着色器输出。在属性值存储于存储器中的地方,顶点着色器和片段着色器等通常将提供有适当的存储地址并且使用适当的存储地址以便在适当属性值要被存储或所存储的地方从存储器存储和检索(retrieve)这些值。例如,顶点着色器将执行加载特定输入属性值以供处理的指令,并且该指令将包括或者指示允许顶点着色器在存储输入属性值的地方从存储器中检索适当的属性值的存储地址。类似地,片段着色器将执行加载特定的顶点着色的输出属性值以供处理的指令,并且该指令将包括或者指示允许片段着色器在存储输出属性值(顶点着色器的输出)的地方从存储器中检索用于所讨论的多边形(图元)的每个转角顶点的适当输出属性值的(一个或多个)存储地址。申请人:相信,仍然存在改进包括顶点着色阶段的图形处理器操作的范围,并且当这些顶点着色阶段在实例化模式下操作时,尤其如此。
技术实现思路
依照本专利技术的第一方面,提供了一种操作图形处理系统的方法,该图形处理系统包括处理输入属性值以便产生输出的顶点着色的属性值以供该图形处理系统的后续阶段使用的顶点着色阶段,该方法包括 当顶点着色阶段在实例化模式下操作时,对于给定绘图调用 标识要由顶点着色阶段产生的顶点着色器输出属性,对于该顶点着色阶段而言,顶点着色器输出属性所依赖的顶点着色器输入属性仅仅在每顶点基础上或者仅仅在每实例基础上定义;以及当识别出要产生的顶点着色器输出属性所依赖的顶点着色器输入属性仅仅在每顶点基础上或者仅仅在每实例基础上定义时 顶点着色阶段 在顶点着色器输出属性仅仅依赖于每顶点定义的输入属性的情况下,对于给定顶点存储要由顶点着色阶段产生的顶点着色器输出属性值的仅仅一个拷贝以供图形处理系统的后续阶段使用,而不管输出属性值所适 用的实例数如何;以及 在顶点着色器输出属性仅仅依赖于每实例定义的输入属性的情况下,对于给定实例存储要由顶点着色阶段产生的顶点着色器输出属性值的仅仅一个拷贝以供图形处理系统的后续阶段使用,而不管输出属性值所适用的顶点数如何;以及一个或多个后续图形处理阶段 在输出属性仅仅依赖于每顶点定义的输入属性的情况下,对于给定顶点而言针对输出属性值所适用的每个实例使用单个存储的顶点着色器输出属性值;以及 在输出属性仅仅依赖于每实例定义的输入属性的情况下,对于给定实例而言针对输出属性值所适用的每个顶点使用单个存储的顶点着色器输出属性值。依照本专利技术的第二方面,提供了一种用于处理图形的系统,该系统包括多个图形处理阶段,其包括顶点着色阶段以及顶点着色阶段后续的至少一个处理阶段,其中顶点着色阶段处理输入属性值以便产生输出属性值以供图形处理器的所述至少一个后续处理阶段使用;以及处理器,其被配置成当顶点着色阶段在实例化模式下操作时,对于给定绘图调用 标识要由顶点着色阶段产生的顶点着色器输出属性,对于该顶本文档来自技高网
...

【技术保护点】

【技术特征摘要】
2011.03.03 GB 1103699.31.ー种操作图形处理系统的方法,该图形处理系统包括处理输入属性值以便产生输出的顶点着色的属性值以供该图形处理系统的后续阶段使用的顶点着色阶段,该方法包括 当顶点着色阶段在实例化模式下操作时,对于给定绘图调用 标识要由顶点着色阶段产生的顶点着色器输出属性,对于该顶点着色阶段而言,顶点着色器输出属性所依赖的顶点着色器输入属性仅仅在每顶点基础上或者仅仅在每实例基础上定义;以及 当识别出要产生的顶点着色器输出属性所依赖的顶点着色器输入属性仅仅在每顶点基础上或者仅仅在每实例基础上定义时 顶点着色阶段 在顶点着色器输出属性仅仅依赖于每顶点定义的输入属性的情况下,对于给定顶点存储要由顶点着色阶段产生的顶点着色器输出属性值的仅仅ー个拷贝以供图形处理系统的后续阶段使用,而不管输出属性值所适用的实例数如何;以及 在顶点着色器输出属性仅仅依赖于每实例定义的输入属性的情况下,对于给定实例存储要由顶点着色阶段产生的顶点着色器输出属性值的仅仅ー个拷贝以供图形处理系统的后续阶段使用,而不管输出属性值所适用的顶点数如何;以及一个或多个后续图形处理阶段 在输出属性仅仅依赖于每顶点定义的输入属性的情况下,对于给定顶点而言针对输出属性值所适用的每个实例使用单个存储的顶点着色器输出属性值;以及 在输出属性仅仅依赖于每实例定义的输入属性的情况下,对于给定实例而言针对输出属性值所适用的每个顶点使用单个存储的顶点着色器输出属性值。2.权利要求I的方法,其中标识要由顶点着色阶段产生的、顶点着色器输出属性所依赖的顶点着色器输入属性仅仅在每顶点基础上或者仅仅在每实例基础上定义的顶点着色器输出属性的步骤包括 当编译顶点着色器代码时,对于每个顶点着色器输出属性标识该输出属性依赖于哪个或哪些顶点着色器输入属性,并且在元信息中记录顶点着色器的每个输出属性依赖于哪个或哪些顶点着色器输入属性;以及 使用该元信息以及用于绘图调用的定义顶点着色器输入属性的每顶点或每实例依赖性的參数中的信息确定用于给定顶点着色器输出属性的顶点着色器输入属性是否为仅仅依赖于每顶点或每实例的属性。3.权利要求I的方法,包括 在顶点着色器输出属性仅仅依赖于每顶点定义的输入属性的情况下,将输出属性的值存储到通过用于输出属性值所依赖的对应输入属性值的顶点索引进行索引的存储位置中;以及 在顶点着色器输出属性仅仅依赖于每实例定义的输入属性的情况下,将输出属性的值存储到通过用于输出属性值所依赖的对应输入属性值的实例索引进行索引的存储位置中。4.权利要求I的方法,其中该方法进ー步包括 顶点着色阶段在其要产生顶点着色器输出属性值时,确定是否应当将该属性值写到存储器,其中需要或不需要将属性值写到存储器由与所讨论的属性关联的元信息指示。5.权利要求I的方法,包括顶点着色阶段在其要产生顶点着色器输出属性值时,确定是否存在测试是否将输出属性值写到存储器的需要,其中需要或不需要测试是否将输出属性值写到存储器由与所讨论的属性关联的元信息指示。6.权利要求I的方法,包括 将要在存储所讨论的属性的值时使用的元信息与顶点着色阶段的ー个或多个输出属性关联;以及 顶点着色阶段在其要存储顶点着色阶段输出属性的值时,首先读取与该属性关联的任何元信息并且然后在其要存储该属性的值时使用该元信息。7.权利要求6的方法,其中元信息指示以下ー个或多个 用于导出用来存储属性的值的索引的技术和必要的任何数据;用于属性值的基本存储地址;存储器中属性值的间隔的指示;所讨论的属性的值相对于基本存储地址的位置的指示;以及用于该属性值的指示组件数据类型的“类型”指示器和用于该属性的组件数。8.ー种操作图形处理系统的方法,该图形处理系统包括顶点着色阶段,该顶点着色阶段处理顶点着色阶段的输入属性的值以便产生顶点着色阶段的输出属性的值以供该图形处理系统的后续阶段使用,该方法包括 将要在加载和/或存储所讨论的属性的值时使用的元信息与顶点着色阶段的ー个或多个属性关联。9.权利要求8的方法,包括 图形处理阶段在其要加载和/或存储顶点着色阶段属性的值时,首先读取与该属性关联的任何元信息并且然后在其加载或存储该属性的值时使用该元信息。10.权利要求8的方法,其中元信息指示以下ー个或多个 用于导出用来存储属性的值的索引的技术和必要的任何数据;用于属性值的基本存储地址;存储器中属性值的间隔的指示;所讨论的属性的值相对于基本存储地址的位置的指示;用于该属性值的指示组件数据类型的“类型”指示器和用于该属性的组件数;在元信息与顶点着色阶段的输出属性关联的情况下,顶点着色阶段是否应当确定是否将输出属性的值写到存储器;以及在元信息与顶点着色阶段的输出属性关联的情况下,用于确定是否应当将输出值写到存储器的测试应当采取的形式和该测试所需的任何參数。11.一种用于处理图形的系统,包括 多个图形处理阶段,其包括顶点着色阶段以及顶点着色阶段后续的至少ー个处理阶段,其中顶点着色阶段处理输入属性值以便产生输出属性...

【专利技术属性】
技术研发人员:J奈斯塔德AS克里斯滕森
申请(专利权)人:ARM有限公司
类型:发明
国别省市:

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

1