CN110276711A - 图形处理 - Google Patents
图形处理 Download PDFInfo
- Publication number
- CN110276711A CN110276711A CN201910192508.9A CN201910192508A CN110276711A CN 110276711 A CN110276711 A CN 110276711A CN 201910192508 A CN201910192508 A CN 201910192508A CN 110276711 A CN110276711 A CN 110276711A
- Authority
- CN
- China
- Prior art keywords
- sampled point
- sampled
- processing
- result
- points
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 170
- 230000008569 process Effects 0.000 title claims abstract description 131
- 238000012545 processing Methods 0.000 claims abstract description 319
- 239000012634 fragment Substances 0.000 claims abstract description 65
- 238000005070 sampling Methods 0.000 claims description 54
- 239000000872 buffer Substances 0.000 claims description 47
- 238000003860 storage Methods 0.000 claims description 10
- 230000003362 replicative effect Effects 0.000 claims description 6
- 238000013461 design Methods 0.000 claims description 4
- 235000013399 edible fruits Nutrition 0.000 claims description 4
- 238000009877 rendering Methods 0.000 description 36
- 238000002156 mixing Methods 0.000 description 22
- 238000012360 testing method Methods 0.000 description 20
- 238000005516 engineering process Methods 0.000 description 13
- 230000015654 memory Effects 0.000 description 12
- 230000006870 function Effects 0.000 description 10
- 238000007689 inspection Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 7
- 238000012805 post-processing Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000001419 dependent effect Effects 0.000 description 5
- 241001269238 Data Species 0.000 description 3
- 238000004040 coloring Methods 0.000 description 3
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 3
- 230000003139 buffering effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000000889 atomisation Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 238000002203 pretreatment Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/40—Filling a planar surface by adding surface attributes, e.g. colour or texture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/363—Graphics controllers
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- Image Generation (AREA)
- Image Processing (AREA)
- Processing Or Creating Images (AREA)
Abstract
图形处理。当在图形处理流水线的处理级中处理图形片段时,其中,图形片段各表示要处理的一组一个或更多个采样点,在处理级的输入(90)处将采样点彼此比较,以确定是否多个采样点将在由处理级处理时给出相同处理结果,使得可以处理第一采样点,然后对于被确定为给出相同处理结果的其他处理结果,在输出(96)处复制该采样点的处理结果。
Description
技术领域
这里描述的技术涉及用于处理图形数据(即,用于图形处理)的方法和系统。
背景技术
图形处理通常通过首先将诸如要显示的帧这样的要生成的输出划分成多个类似基本分量(所谓的“图元”)以使得能够较容易地进行图形处理操作来进行。这些“图元”通常为诸如三角形的简单多边形的形式。
图形图元通常使用从需要图形输出的应用(例如,游戏)接收的图形绘制指令(请求),由用于图形处理系统的应用程序接口来生成。
各图元在该级通常由一组顶点来定义并表示为一组顶点。用于图元的各顶点与表示顶点的一组数据(诸如位置、颜色、纹理以及其他属性数据)关联。该数据然后例如在栅格化并渲染顶点(顶点涉及的图元)时使用,以生成图形处理系统的期望输出。
一旦已经生成并定义图元及其顶点,则可以由图形处理系统处理它们,以例如显示帧。
该处理基本涉及确定覆盖要处理的输出区域的采样点的阵列的哪些采样点被图元覆盖,然后确定各采样点为了表示该采样点处的图元而应具有(例如,在其颜色等方面)的外观。这些处理常被分别称为栅格化和渲染。这些处理形成图形处理流水线的一部分。
栅格化处理确定应用于要用于图元的样本位置,即,要用于表示输出(例如,要显示的场景)中的图元的采样点的(x,y)位置。这通常使用图元的顶点的位置来进行。
渲染处理然后导出对于表示采样点处的图元(即,“着色”各采样点)是必需的数据(诸如红绿蓝(RGB)色值和“阿尔法(α)”(透明度)值)。这可以涉及应用纹理、混合采样点数据值等。
在图形文献中,术语“栅格化”有时用于意指到样本位置的图元转换和渲染这两者。然而,在这里,“栅格化”将用于仅指将图元数据转换成采样点地址。
这些处理通常通过以下方式来进行:测试一个或多于一个采样点的组,然后对于被发现包括在讨论中的图元内部(被该图元覆盖)的采样点的各组采样点,生成离散图形实体,该离散图形实体通常被称为对其进行图形处理操作(诸如渲染)的“片段”。由此,被覆盖的采样点实际上作为将用于渲染在讨论中的采样点处的图元的片段来处理。“片段”是通过渲染处理(渲染流水线)的图形实体。被生成并处理的各片段依赖于图形处理系统如何构造而例如可以表示单个采样点或一组多个采样点。
因此,“片段”有效地是如插值到图元的给定输出空间采样点的一组图元数据(与其关联)。片段还可以包括对讨论中的采样点(片段位置)处的图元着色所需的每图元数据和其他状态数据。各图形片段通常可以具有与输出(例如,输出帧)的“像素”相同的尺寸和位置(因为像素是最终显示中的奇异点,所以在图形处理器在上面操作(渲染)的“片段”与显示器的像素之间可以存在一对一映射)。然而,可以是以下情况:片段与显示器像素之间不存在一一对应关系,例如,其中,在显示最终图像之前对所渲染图像进行诸如下采样的特定形式的后处理。
还是以下情况:因为在给定位置处的、例如来自不同重叠图元的多个片段可能影响彼此(例如,由于透明度和/或混合),所以最终像素输出可能依赖于该像素位置处的多个或全部片段。
对应地,在采样点与显示器的像素之间可以存在一一对应关系,但较通常地,在采样点与显示器像素之间可以不存在一一对应关系,因为可以对被渲染的样本值进行下采样,以生成用于显示最终图像的输出像素值。类似地,在给定位置处的、例如来自不同重叠图元的多个采样点值影响彼此(例如,由于透明度和/或混合)的情况下,最终像素输出也将依赖于该像素位置处的多个重叠样本值。
片段在图形处理流水线内的各种处理级处理。通常,期望高效处理片段。在该背景下,申请人相信还存在用于处理图形处理流水线的处理级中的图形片段的改进结构的范围。
发明内容
从本发明的第一方面,提供了一种在图形处理流水线的处理级中处理图形片段的方法,其中,图形片段各表示要处理的一组一个或更多个采样点,方法包括以下步骤:
提供要处理的采样点池,其中,在采样点池内的采样点的数量大于可以由处理级在单个周期中处理的采样点的数量;
将采样点池内的采样点彼此比较,以确定是否多个采样点将在由处理级处理时给出相同处理结果;
在确定了多个采样点将给出相同处理结果时,处理这些采样点中的第一采样点,并且生成被确定为将给出相同处理结果的多个采样点中的其他采样点的位置信息,其中,位置信息包含指示多个采样点中的其他采样点的相应位置的信息,以使得随后能够对于其他采样点的相应位置写出多个采样点中的其他采样点;以及
通过以下处理写出多个采样点中的每个采样点的处理结果:复制第一采样点的处理结果,并且基于所关联的位置信息,写出被确定为给出相同处理结果的多个采样点中的各个其他采样点的相应位置的已复制结果。
由此,根据本发明的实施方式,提供采样点池,其中,在采样点池内的、要处理的采样点的数量大于在单个周期中可以由处理级处理的采样点的数量。这样,申请人已经发现:可以在仍然确保高效使用处理级的同时提高处理性能(例如,速度)。比如,在提供多个采样点池的情况下,池内的采样点中的至少一些(或这些采样点的分量中的至少一些)可以包含相同(即,相等)的数据值并经受相同的数据处理,即,使得处理将给出相同结果。由此,根据本发明的实施方式,在处理给定的一组采样点之前,可以在处理级的输入处进行比较以确定是否采样点中的任一个给出相同处理结果。换言之,执行“数据相等”检查,以确定是否采样点中的任一个的处理将冗余。这样,可以减少处理采样点池需要执行的处理操作(周期)的数量。
比如,在从该数据相等检查确定池内的采样点中的两个或更多个在由处理级处理时将给出相同处理结果时,可以仅对于这些采样点中的一个获得处理结果,然后可以对于被确定为给出相同处理结果的采样点中的其他采样点复制并写出处理结果。
例如,在确定了多个采样点包含相等数据的情况下,在实施方式中,可以仅处理这些采样点中的一个(并且可以不处理被确定为给出相同结果的其他采样点)。同时,可以生成与被确定为包含相同数据的其他(未处理)采样点的位置有关的信息。由此,该信息可以发送到输出,使得可以对于各个其他(未处理)采样点复制由处理级处理的采样点的处理结果,并且最终将其写出到适当位置。由此,在池内的多个采样点包含相同数据的情况下,可以在单个周期中有效(全部)处理这多个采样点。
相比之下,在不在输入处执行数据相等检查(或例如,不提供这种池)的传统系统中,各个采样点将例如通过基本按在处理级处接收所有片段的所有采样点的顺序贯穿它们迭代来单独处理。由此,即使在要处理的多个采样点包含相同数据且实际上经受相同处理,在传统系统中,这些采样点也例如在多个周期中单独处理。因此,本发明的实施方式可以避免具有相等数据值的采样点的冗余处理,由此与这种传统系统相比可以提供提高的处理性能(例如,提高的速度和/或处理功率的降低)。
本发明还扩展到用于图形处理的系统和设备,例如且具体地扩展到图形处理流水线。因此,从本发明的第二方面,提供了一种用于处理图形片段的图形处理流水线,其中,图形片段各表示要处理的一组一个或更多个采样点,并且其中,图形处理流水线包括多个处理级,其中,图形处理流水线的至少一个处理级包括:
输入电路,该输入电路用于提供要处理的采样点池,其中,在采样点池内的采样点的数量大于可以在处理级在单个周期中处理的采样点的数量;
比较器电路,该比较器电路用于将采样点池内的采样点彼此比较,以确定是否多个采样点将在由处理级处理时给出相同处理结果;
处理电路,该处理电路用于处理采样点;
控制电路,该控制电路用于控制由处理电路处理采样点中的哪些,其中,控制电路被配置为:在确定了多个采样点将给出相同处理结果时,使得由处理级处理这些采样点中的第一采样点,并且生成被确定为将给出相同处理结果的多个采样点中的其他采样点的位置信息,以使得随后能够对于其他采样点的相应位置写出多个采样点中的其他采样点;以及
输出电路,该输出电路用于写出采样点的处理结果,其中,输出电路被配置为复制第一采样点的处理结果,并且基于所关联的位置信息,写出被确定为给出相同处理结果的多个采样点中的各个其他采样点的相应位置的已复制结果。
以本发明的方式处理的片段通常由图形处理流水线的栅格化器来生成。栅格化器将接收用于处理的图形图元,并且基于图元由栅格化器确定为覆盖的采样位置,生成由图形处理流水线的稍后(例如,渲染)级处理的图形片段。片段可以各具有与它们关联的“片段数据”,诸如颜色(例如,红绿蓝(RGB)值)、深度和/或透明度(例如,阿尔法值)数据,用于给定片段的片段数据优选地源于与片段涉及的图元(的顶点)关联的图元数据。
图形处理流水线的栅格化器可以被配置为以任意合适且期望的方式(例如,如以已知栅格化结构)来操作。栅格化器应工作以依赖于由栅格化器接收的给定图元等(至少部分)覆盖采样点的阵列的、覆盖图形处理流水线的输出的区域的哪些采样点(或哪些组的采样点)来生成用于处理的图形片段。栅格化器优选地对于被栅格化的图元(和各图元)覆盖的各采样点和/或对于被发现包括被栅格化的图元(和各图元)覆盖的采样点的各组多个采样点(例如,采样掩码)生成图形片段。
由此,各片段表示一组一个或更多个采样点(与其关联)。片段表示的该组采样点可以各包含任意合适数量的采样点。比如,在一些实施方式中,要处理的片段各表示一组至少(或确切)一个、两个、四个、八个或十六个采样点。
处理级可以为图形处理流水线内的任意合适的处理级。比如,将理解,处理级通常可以根据期望实施为处理器、控制器、功能单元、电路、处理逻辑、微处理器结构等的任意合适组合,这些元件可工作以接收要处理的一个或更多个采样点,并且对采样点执行所需的处理操作,以给出处理结果(该处理结果然后可以传递到处理级的输出(电路)以写出并传递到图形处理流水线的下一级)。处理级(电路)通常可以被配置为以流水线式样式起作用,例如,通过执行一系列处理步骤处理采样点。即,处理级可以包括一个或更多个“处理流水线”(这些处理流水线在整个图形处理流水线内操作)。再次,处理流水线通常可以根据期望实施为处理器、控制器、功能单元、电路、处理逻辑、微处理器结构等的任意合适组合,这些元件可工作以接收要处理的一个或更多个采样点,并且对采样点执行所需的处理操作,以给出处理结果。
通常,处理操作可以包括多周期操作。比如,可以在各周期中执行单个处理步骤,被处理的采样点由此逐周期地移动穿过处理级的各处理流水线。由此,在第一周期中,第一采样点可以进入处理级的处理流水线。在下一周期中,可以对第一采样点执行第一处理步骤,并且第二采样点可以进入处理流水线,以此类推,直到所有采样点通过处理流水线为止。由此,在任意情况下,可以在处理级的给定处理流水线内处理多个采样点。通常,在处理流水线被设置为“每样本”地处理采样点的情况下,处理级的各处理流水线能够每周期接收单个(新)采样点。因此,处理级优选地可以包括多个这种处理流水线,使得可以在各周期中由处理级并行处理多个采样点。如下面进一步说明的,还预期处理流水线可以被设置为“每分量”地处理采样点。
在处理级的输入处,提供要处理的(多个)采样点池。通常,在图形处理过程期间的任意时刻(例如,除了在处理用于数据流中的最终片段的最终采样点的时候),池包含比可以在单个周期中处理的更大数量的采样点。即,例如,在处理级包括一个或更多个处理流水线的情况下,池通常包含比可以由处理级的处理流水线在单个周期中处理的更大数量的采样点。因此,比如,如果处理级包括各能够每周期接收单个采样点的两个处理流水线,则池因此可以包含多于两个采样点,诸如四个采样点、或八个、十二个等,这依赖于系统。
例如由于在单个情况下向处理级提供的采样点的数量与可以由处理级在单个周期中处理的采样点的数量之间存在失配,所以采样点池可以作为图形处理流水线内的(之前)处理步骤的结果来形成。比如,处理级可以被配置为在各周期中从存储器接收或读出“N”个(例如,四个)采样点,而处理级在单个周期中仅能够处理“M”个(其中,M<N,例如,两个)新采样点。即,采样点池可以作为图形处理流水线内的不平衡吞吐量的结果来提供。
然而,在实施方式中,可以提供用于保持采样点池的输入缓冲器。即,处理级的输入电路在实施方式中可以包括输入缓冲器。这样,将理解,例如可以依赖于输入缓冲器的尺寸来提供较大的采样池,这潜在地使得能够进一步提高处理效率。输入缓冲器的尺寸通常可以根据期望(例如,依赖于应用和/或要存储的采样点的期望数量)来选择。
在采样点包含相等(相同)数据的情况下,申请人已经认识到,这些采样点可以经受相同处理并给出相同处理结果。由此,根据本发明的实施方式,可以在处理级的输入处执行比较,以检查是否采样点池中的(任意)采样点将给出相同处理结果。(在确定了这一点的情况下,可以处理采样点中的一个,并且可以如下面进一步说明的,对于其他采样点复制该采样点的处理结果。)比较可以(且优选地)对于当前在采样点池内的所有采样点执行。然而,原则上,比较可以仅对采样点池内的采样点的子集执行。例如,一旦已经确定池内的特定数量的采样点给出相同处理结果,或在已经进行特定数量的比较之后,则可以停止比较。
由处理级执行的处理操作是否将对于多个不同采样点产生相同结果可以以任意合适且期望的方式来确定。然而,申请人已经认识到,要关于给定采样点执行的处理操作通常将使用(并且该处理操作的结果通常将依赖于)与该采样点关联的特定样本数据。比如,各采样点可以且通常与例如表示与该采样点关联的颜色(红绿蓝“RGB”)、透明度(α,“A”)且可选地还有深度等的多个分量或数据值关联。
在一些情况下,已知或可以假定在分量或数据值对于不同采样点相同的情况下,这些采样点中的每个的处理结果将相同。即,在一些情况下,已知处理操作对于要通过处理级的所有采样点相同,而不管它们的相同数据值如何。由此,在本发明的实施方式中,确定多个采样点的处理将产生相同结果可以包括比较用于采样点的数据值,以确定多个采样点包含相等数据。由此,比较可以(仅)基于这些数据值或分量来进行。
然而,在一些情况下,即使在采样点具有相同数据值的情况下,这些采样点的处理仍然可能给出不同结果。例如,采样点可以能够在处理级中经受不同的处理操作,因此,例如,各个采样点还可以具有确定或指定要如何处理用于该采样点的数据的关联控制(或状态)信息。由此,在实施方式中,例如,在无法假定相同数据值将给出相同处理结果的情况下,确定是否两个采样点将给出相同处理结果可以考虑(比较)数据值和采样点要经受的处理(操作)(例如,采样点的控制信息)这两者。由此,仅在采样点具有相等数据值和相同处理(例如,控制信息)时,确定采样点将给出相同处理结果。
如上面提及的,片段可以对应于单个采样点。然而且通常,各片段可以表示(并且用于处理)多个(例如,两个、四个、八个、十六个等)采样点。在这种情况下,各片段与多个采样点关联。
在一些实施方式中,池内的采样点可以全部是在由单个片段表示的一组采样点中的所有采样点。由此,在这种情况下,进行比较以确定是否与该片段关联的任一个采样点将给出相同处理结果。然而,还预期池(还)可以包含与多个不同片段关联的采样点。比如,特别是在设置输入缓冲器的情况下,输入缓冲器可以有利地用于池化由多个不同片段表示的采样点,由此使得能够从更大数量的不同片段进行比较。由此,在实施方式中,进行比较以确定是否与一个(第一)片段关联的任一个采样点将给出与和另一(第二)片段关联的一个或更多个采样点相同的处理结果。
传统上,所有采样点将基本上以它们在处理级处接收的顺序来处理,即,使得第一片段的采样点在下一片段的采样点之前处理,以此类推。然而,在本发明的实施方式中提供的采样点池有效地是要处理的采样点的“队列”。此外,将理解,根据本发明的实施方式,池内的采样点通常可以按任意顺序处理。因此,本发明的实施方式可以提供一种可以进一步提高采样点的处理效率的重新排序机制。比如,在确定了在采样点池中的后部的采样点(例如,较近期添加到池的采样点)将给出与在池的前部的采样点相同的处理结果时,根据本发明的实施方式,该采样点可以比传统上在这种情况下更早的有效处理。
例如,输入缓冲器可以用于存储来自多个不同片段(例如,来自图形处理流水线内的之前处理步骤的多个周期)的采样点。在传统系统中,这些采样点将按顺序处理,使得在处理级处接收的第一片段的采样点将在第二所接收片段的采样点之前处理,等。然而,根据本发明的实施方式,可以在池内的任一个采样点与确定来自不同片段的采样点将给出相同处理结果的时候之间进行比较,稍后(第二)片段的采样点可以更早处理,例如,连同被确定为给出相同处理结果的更早(第一)片段的采样点一起处理。
采样点可以“每样本”(即,作为整体)地处理。由此,在实施方式中,将采样点池内的采样点彼此比较以确定是否多个采样点将在由处理级处理时给出相同处理结果包括:确定是否采样点作为整体将给出相同处理结果。在这种情况下,在确定了多个采样点将给出相同处理结果时,方法可以包括以下步骤:仅处理这些采样点中的第一采样点(并且生成被确定为将给出相同处理结果的多个采样点中的其他采样点的位置信息)。然后可以写出多个采样点中的每个采样点,其中,尚未被处理的采样点通过以下方式来写出:复制第一采样点的处理结果,并且基于关联的位置信息对于相应位置写出复制结果。
类似地,在这种情况下,控制电路可以被配置为:在确定了多个采样点将给出相同处理结果时,仅使得处理这些采样点中的第一采样点(并且生成被确定为将给出相同处理结果的多个采样点中的其他采样点的位置信息)。输出电路然后可以写出多个采样点中的每个采样点,其中,尚未被处理的采样点通过以下方式来写出:复制第一采样点的处理结果,并且基于关联的位置信息向相应位置写出复制结果。
然而,在其他实施方式中,采样点可以“每分量”(或“每分量、每样本”)地来处理。即,可以单独处理各采样点的分量(数据通道)。在这种情况下,代替处理级的各处理流水线将采样点作为整体来处理,处理级的处理流水线可以被设置为处理单独的数据分量。例如,各采样点可以具有关联的红绿蓝以及α(RGBA)数据分量,并且这些分量可以各单独处理。考虑另一方式,处理级可以包括各被配置为处理采样点的一个或更多个单独分量的多个“处理通道”。在这种情况下,在采样点“每分量”地处理的情况下,方法可以涉及比较采样点,以确定是否采样点的一个或更多个分量将在由处理级处理时给出相同处理结果。在确定了多个不同采样点的一个或更多个分量将给出相同处理结果时,方法可以包括以下步骤:处理采样点中的仅一个的这些分量,并且对于被确定为对于这些分量给出相同处理结果的多个采样点中的其他采样点的这些分量复制这些分量的处理结果。
类似地,在这种情况下,比较器电路可以被配置为确定是否采样点的一个或更多个分量将在由处理级处理时给出相同处理结果。控制电路然后可以被配置为:在确定了多个不同采样点的一个或更多个分量将给出相同处理结果时,使得处理采样点中的仅一个的这些分量,并且对于被确定为对于这些分量给出相同处理结果的多个采样点中的其他采样点复制这些分量的处理结果。
因此,通常,本发明的实施方式可以涉及确定是否多个采样点的一个或更多个分量将给出相同处理结果。该确定可以对于一个或更多个分量单独(即,“每分量”)地进行。另选地,确定可以基于所有分量(即,对于采样点作为整体,即,“每样本”)地来进行。即,一个或更多个分量可以包括所有分量。在确定了多个采样点的一个或更多个分量将给出相同处理结果时,处理这些采样点中的仅一个的一个或更多个分量,然后对于被确定为对于这些一个或更多个分量给出相同处理结果的采样点中的其他采样点复制这些一个或更多个分量的处理结果。换言之,采样点的“处理结果”可以是将采样点作为整体处理结果、或处理采样点的一个或更多个单独分量的结果。
在确定了多个采样点将给出相同处理结果时,本发明认识到,该处理结果仅需要对于采样点中的一个来获得,即,因为其他采样点的处理将是冗余的。由此,在实施方式中,为了获得处理结果,处理被确定为给出相同处理结果的多个第一采样点。不需要处理其他采样点来给出处理结果(并且例如,其他采样点不需要进入处理流水线,留下在该周期中处理其他采样点的空间)。
因为不同采样点的处理将给出相同处理结果,所以然后可以对于被确定为给出相同处理结果的任意其他采样点复制被处理的采样点的处理结果。即,处理结果可以仅从采样点中的一个来获得并然后适当复制,以对于被确定为给出相同处理结果的任意其他(优选地全部)采样点写出处理结果。
原则上,被确定为给出相同处理结果的多个采样点中的任一个可以被选择为被处理的(第一)采样点。然而,通常,它将是将被处理池内的第一采样点(例如可以是池内的最老采样点、在池的前部)。
当然,被处理的采样点可以(直接)写出,例如,以正常方式。然而,为了能够对于其他(未处理)采样点正确写出处理结果,可以生成指示这些采样点的位置的信息并将其提供给输出(电路),以使得能够对于适当的位置写出采样点,即,写出在图形处理流水线的输出(例如,输出帧)内。由此,位置信息通常例如由比较器电路(或用于进行这一点的另外专用模块)在处理级的输入处生成,然后发送到输出。位置信息可以连同被处理的采样点一起穿过处理级的处理流水线。然而,优选地,位置信息沿着单独的(专用的)信息通道来发送,即,作为边带信息。
由此,采样点的位置信息通常指示采样点中的哪些将给出相同处理结果、以及采样点的各(输入)位置。从位置信息,输出电路由此可以确定应复制哪些数据和已复制数据例如为了提供期望输出然后应写出到哪里。即,位置信息通常包括指示采样点中的哪些将给出相同处理结果以及这些采样点的各(输入)位置(即,告知输出(电路)对于各个未处理采样点要复制哪些数据(即,从哪个地点复制)和将该数据复制到哪里)的信息。
因此,一旦已经在处理级(且对于被处理的任意采样点)处理采样点,则可以对于已经被确定为给出相同处理结果的任意(所有)其他采样点复制该采样点的处理结果,然后可以使用与这些采样点关联的所生成位置信息向其他采样点的正确位置写出处理结果。
除了比较池内的多个采样点之外或代替比较池内的多个采样点,还将可以将来自池的采样点与当前被处理的采样点(例如,当前在处理级的处理流水线内的采样点)进行比较。即,在确定了池内的采样点将给出与当前被处理的采样点相同的处理结果时,可以以与上述类似的方式对于池内的采样点(因此不需要处理这些采样点)复制该处理结果。由此,在实施方式中,方法还包括以下步骤:确定是否尚未处理的任意采样点将在由处理级处理时给出与当前由处理级处理的任意采样点相同的处理结果。在进行该确定时,为了写出尚未处理但已经被确定为给出相同结果的任意采样点,可以复制当前被处理级处理的采样点的处理结果。因此,不需要处理这些采样点。如上,由此可以提供指示尚未被处理(例如,仍然在池内)的采样点的位置的信息,以使得能够在输出处复制当前被处理的采样点的处理结果并将其写到正确位置。
比如,在优选实施方式中,首先对于采样点池内的采样点进行比较以确定是否这些采样点中的任一个将给出相同处理结果。基于此,然后可以调度“唯一”采样点的数量,以处理。然而,在处理这些采样点中的任一个之前,可以与当前被处理的采样点进行另外的比较。在发现匹配时,可以复制由处理级当前处理的采样点的处理结果,使得不是必须处理新采样点。否则,在未发现匹配时,处理采样点,例如如上进行。
优选地,系统被配置为使得处理级大致完全利用,例如,使得贯穿处理级的处理流水线存在(新)就采样点的大致连续吞吐量。即,在整体图形处理操作期间,可以向处理级的处理流水线大致连续地传递新采样点,使得各处理流水线在各周期期间接收新采样点(只要仍然存在要处理的采样点即可)。
然而,在其他实施方式中,当确定要在处理级处理的多个采样点将给出相同处理结果时,可以停用一个或更多个处理流水线,例如,以节省处理功率。这可以“每样本”或“每分量”地应用。例如,在这“每样本”地应用的情况下,其中,各处理流水线被配置为将采样点作为整体处理,各采样点可以传递到处理级的多个处理流水线中相应的一个,并且在确定了多个采样点将给出相同处理结果时,仅处理采样点中的一个,并且可以停用其他采样点的各处理流水线。类似地,在这“每分量”地应用的情况下,可以提供多个处理流水线(或通道),其中,各流水线(通道)被配置为处理采样点的一个或更多个分量。由此,各个采样点可以被调度为用对于采样点的一个或更多个单独分量分配的各处理流水线(通道)处理,并且在确定了多个采样点的一个或更多个分量将给出相同处理结果时,可以对于采样点中的仅一个的一个或更多个分量获得处理结果,停用用于采样点中的其他采样点的这些分量的处理流水线(通道)。然后可以对于其他(未处理)采样点或分量复制被处理的采样点或分量的处理结果。
因此,从另一方面,提供了一种在图形处理流水线的处理级中处理图形片段的方法,其中,图形片段各表示要处理的一组一个或更多个采样点,方法包括以下步骤:
提供待由处理级的多个处理流水线并行处理的两个以上采样点;
比较两个以上采样点,以确定是否多个采样点将在由处理级处理时给出相同处理结果;
在确定了多个采样点将给出相同处理结果时,处理这些采样点中的第一采样点,并且停用用于被确定为给出相同处理结果的多个采样点中的其他采样点的一个或更多个相应处理流水线;
生成指示被确定为给出相同处理结果的多个采样点中的其他采样点的相应位置的位置信息,以使得随后能够对于其他采样点的相应位置写出多个采样点中的其他采样点;以及
通过以下处理写出多个采样点的处理结果:复制第一采样点的处理结果,并且基于所关联的位置信息,写出被确定为给出相同处理结果的多个采样点中的其他采样点的相应位置的已复制结果。
该方面还扩展到图形处理流水线。由此,从本发明的另外方面,提供了一种用于处理图形片段的图形处理流水线,其中,图形片段各表示要处理的一组采样点,并且其中,图形处理流水线包括多个处理级,其中,图形处理系统的至少一个处理级包括:
输入电路,该输入电路用于提供待由处理级的多个处理流水线并行处理的两个以上采样点;
比较器电路,该比较器电路用于比较两个以上采样点,以确定是否多个采样点将在由处理级处理时给出相同处理结果;
处理电路,该处理电路包括用于处理两个以上采样点的多个处理流水线;
控制电路,该控制电路用于控制由处理电路处理采样点中的哪些,其中,控制电路被配置为:在确定了多个采样点将给出相同处理结果时,使得处理这些采样点中的第一采样点,并且停用用于被确定为给出相同处理结果的多个采样点中的其他采样点的一个或更多个相应处理流水线,其中,控制电路还被配置为生成指示被确定为给出相同处理结果的多个采样点中的其他采样点的相应位置的位置信息,以使得随后能够对于其他采样点的相应位置写出多个采样点中的其他采样点;以及
输出电路,该输出电路用于写出采样点的处理结果,其中,输出电路被配置为复制第一采样点的处理结果,并且基于所关联的位置信息,写出被确定为给出相同处理结果的多个采样点中的各个其他采样点的相应位置的已复制结果。
如上面说明的,根据这些另外方面的方法和图形处理流水线可以被配置为“每样本”或“每分量”地处理采样点。由此,在采样点“每样本”地处理时,要在给定周期内处理的各采样点可以被分配有相应处理流水线,并且在确定了两个或更多个采样点将给出相同处理结果时,处理这些采样点中的仅一个(由其相应处理流水线),停用被确定为给出相同处理结果的采样点中的其他采样点的各处理流水线。类似地,在采样点“每分量”地处理时,要在给定周期内处理的各采样点的一个或更多个单独分量可以被分配有相应处理流水线,并且在确定了两个或更多个采样点将对于一个或更多个分量给出相同处理结果时,处理采样点中的一个的这一个或更多个分量(由相应处理流水线),停用被确定为给出相同处理结果的其他采样点的这一个或更多个分量的各处理流水线。
通常,将理解,根据这些方面的本发明可以将上面关于本发明的其他方面和实施方式描述的任意(或全部)特征至少包括到它们不互相不包括的程度。比如,提供采样点池、比较采样点、处理采样点(的分量)以及写出采样点的步骤通常可以以与上面关于本发明的第一和第二方面以及实施方式描述的相同方式来执行。
优选实施方式涉及图形处理系统,具体涉及图形处理流水线内的各种级或步骤。图形处理流水线优选地是基于块的渲染流水线。图形处理流水线可以包含图形处理流水线可以包含的任意合适且期望的处理级。在优选实施方式中,图形处理流水线包括(优选地按该顺序)以下内容中的一个或更多个且优选地为全部:上面提及的栅格化器;早期深度(或早期深度和模板)测试器;渲染器,优选地为片段着色器的形式;与片段着色器关联的变化位置评价(插值器);后期深度(或深度和模板)测试器;混合器;一个或更多个块缓冲器(在基于块的渲染流水线的情况下);以及块写回单元(再次在基于块的渲染流水线的情况下)。
以本发明的方式执行的图形处理操作可以为在图形处理流水线内执行的任意合适的图形处理操作,例如,通常“每样本”地在图形处理流水线内执行的任意图形处理操作。通常,图形处理操作可以是需要处理多个数据元素(采样点)和已知数据元素中的至少一些可以包含相等数据的任意操作。例如,这可能出现的典型情况将是在混合操作期间,但其他结构当然会是可能的。由此,在优选实施方式中,图形处理操作是以下操作中的(至少)一个:渲染操作,诸如片段着色或混合操作;剔除测试,诸如深度测试或模板测试;以及多采样分解和写回操作。
对应地,以本发明的方式操作的图形处理级可以为图形处理流水线的任意合适级,例如,通常“每样本”地操作的任意图形处理级。在优选实施方式中,图形处理级是以下级中的(至少)一个:渲染级,诸如片段着色或混合级;剔除级,诸如深度测试或模板测试级;以及多采样分解和写回级。
在实施方式中,本发明的方式的图形处理可以关于要对图形片段执行的多于一个图形处理操作和/或图形处理流水线的多于一个级来执行。由此,在实施方式中,图形处理流水线包括以本发明的方式操作的两个(或多于两个)处理级。
虽然上面主要参照特定图形片段或一组采样点的处理描述了本发明,但如本领域技术人员将理解的,该操作优选地对于且关于栅格化器生成和/或处理级接收以处理的多个图形片段(且优选地为各图形片段)来执行。类似地,因为要由图形处理流水线生成的渲染输出通常将由多个图元(和基于块的系统中的块)组成,所以在实践中,将对于组成输出的各图元(和块)重复本发明的方法,使得最终对于所需的输出的各采样点生成适当的一组已渲染片段数据。
在图形处理使用多个渲染目标的情况下,那么在实施方式中,本发明的方式的操作每渲染目标地单独进行(即,使得对于给定渲染目标,各片段和像素将独立于其他渲染目标中的对应片段和像素来处理,即,使得特定像素可以在一个渲染目标中具有多个值,但在另一渲染目标中可以具有单个值)。
本发明可以用于图形处理流水线可以用于生成的所有形式的输出,诸如用于显示的帧、渲染到纹理输出等。
在一些实施方式中,数据处理流水线包括一个或更多个存储器和/或存储装置和/或与该存储器和/或存储装置通信,该存储器和/或存储装置存储这里描述的数据,诸如片段数据、其他样本数据、元数据等,和/或存储用于执行这里描述的处理的软件。图形处理流水线还可以与主微处理器、和/或与用于基于由图形处理器生成的数据显示图像的显示器通信。
在特别优选实施方式中,本发明的各种功能在单个图形处理平台上执行,图形处理平台生成并输出例如写到用于显示装置的帧缓冲器的、渲染后的片段数据。
本发明可以在任意合适的系统中实现,诸如基于合适构造的微处理器的系统。在优选实施方式中,本发明实施在计算机和/或基于微处理器的系统中。
本发明的各种功能可以以任意期望且合适的方式执行。例如,本发明的功能可以实施在硬件或软件中(根据期望)。由此,例如,本发明的各种功能元件、级、流水线以及“装置”可以包括合适的处理器、控制器、功能单元、电路、处理逻辑、微处理器结构等,它们可操作以执行各种功能等,诸如适当构造的专用硬件元件或处理电路、和/或可以被编程为以期望方式操作的可编程硬件元件或处理电路。
这里还应当注意的是,如本领域技术人员将理解的,本发明的各种功能等可以在给定处理器上重复和/或并行执行。等同地,各种处理级可以共享处理电路(如果期望)。
本发明适用于任意形式或构造的图形处理流水线,并且适用于所有形式的渲染,诸如即时模式渲染、延时模式渲染、基于块的渲染等。本发明特别适用于使用延迟模式渲染的图形渲染器且特别适用于基于块的渲染器。
由此,本发明扩展到包括根据这里描述的本发明的方面中的任一个或更多个的设备的或根据这里描述的本发明的方面中的任一个或更多个操作的图形处理器和图形处理平台。受制于必须执行上面讨论的特定功能的任意硬件,这种图形处理器可以以其他方式包括图形处理器包括的通常功能单元等中的任一个或更多个或所有。
本领域技术人员还将理解,本发明的所有描述的方面和实施方式可以(且优选地确实)酌情包括这里描述的优选和可选特征中的任一个或更多个或所有。
根据本发明的方法至少部分地可以使用软件(例如,计算机程序)实施。由此将看到,当从另外的方面看时,本发明提供计算机软件,该计算机软件当安装在数据处理装置上时专门适用于执行这里描述的方法;计算机程序元件,该计算机程序元件包括计算机软件代码部,用于在程序元件在数据处理装置上运行时执行这里描述的方法;和计算机程序,该计算机程序包括代码装置,该代码装置当程序在数据处理系统上运行时适用于执行这里描述的方法的所有步骤。数据处理器可以是微处理器系统、可编程FPGA(现场可编程门阵列)等。
本发明还扩展到计算机软件载体,该计算机软件载体包括这种软件,这种软件当用于操作图形处理器、渲染器或包括数据处理装置的微处理器系统时与所述数据处理装置结合使所述处理器、渲染器或系统执行本发明的方法的步骤。这种计算机软件载体可以是物理存储介质,诸如ROM芯片、RAM、闪存、CD ROM或磁盘,或可以是信号,诸如电线上的电信号、诸如到卫星的光信号或无线电信号等。
还将理解的是,不是本发明的方法的所有步骤都需要由计算机软件执行,由此根据更宽方面,本发明提供了计算机软件并且这种软件安装在计算机软件载体上,用于执行这里阐述的方法的步骤中的至少一个。
本发明可以因此适当地具体实施为用于与计算机系统一起使用的计算机程序产品。这种实施方案可以包括一系列计算机可读指令,该一系列计算机可读指令固定在有形介质上,诸如永久计算机可读介质,例如,磁盘、CD-ROM、ROM、RAM、闪存或硬盘。还可以包括一系列计算机可读指令,在有形介质(包括但不限于,光学或模拟通信线)上,或无形地使用无线技术(包括但不限于,微波、红外或其他传输技术),这些指令经由调制解调器或其他界面装置可发送到计算机系统。该系列计算机可读指令具体实施这里之前描述的功能的所有或一部分。
本领域技术人员将理解,这种计算机可读指令可以以多种编程语言来写,用于与许多计算机架构或操作系统一起使用。进一步地,这种指令可以使用任意存储技术来存储(存储技术现在或将来包括但不限于半导体、磁或光),或使用任意通信技术来发送(通信技术现在或将来包括但不限于光学、红外或微波)。预期的是,这种计算机程序产品可以作为可去除介质来分发,附有已打印的文档或电子文档,例如,现成软件;例如在系统ROM或固定盘上预加载有计算机系统;或在网络(例如,因特网或万维网)上从服务器或电子公告栏分发。
虽然上面已经关于图形处理描述了本发明的各种实施方式,但将理解,本发明还可以适用于类似的考虑适用的其他数据处理系统,即,在这些数据处理系统中,需要处理多个数据元素,并且已知这些数据元素中的多个可以给出相同处理结果。由此,在另外的方面和实施方式中,提供了大致如上所述但对“图形”处理的任意引用被对“数据”处理的引用代替的数据处理的方法和数据处理流水线。由此,代替处理多个由一组一个或更多个采样点表示的多个片段,在这些方面和实施方式中,可以处理一组一个或更多个“数据元素”。
附图说明
现在将仅以示例的方式并且参照附图来描述此处所描述技术的各种实施方式,附图中:
图1示意性示出了要显示的图像;
图2示出了用于本发明的实施方式中的示例性采样模式;
图3示出了可以根据本发明的实施方式操作的图形处理流水线的示例;
图4示出了以传统方式执行的图形处理(混合)操作的示例;
图5示出了根据本发明的实施方式的图形处理(混合)操作的示例;
图6例示了根据本发明的实施方式的图形处理(混合)操作的另一示例;
图7是例示了根据本发明的实施方式的方法的流程图;
图8示出了包括输入缓冲器的处理级的示例,该输入缓冲器用于提供表示多个不同片段的采样点的较大池;以及
图9示出了根据本发明的另一实施方式的图形处理(混合)操作的示例。
具体实施方式
现在将在用于显示的计算机图形的处理的背景下描述本发明的优选实施方式。
如上面讨论的,当要显示计算机图形图像时,通常首先将其定义为一系列图元(多边形),这些图元然后被划分(栅格化)为用于依次图形渲染的图形片段。在正常图形渲染操作期间,渲染器将修改(例如)与各片段关联的颜色(红绿蓝,RGB)和透明度(阿尔法、α)数据,使得可以正确地显示片段。一旦片段已经完全穿过渲染器,那么它们的关联数据值存储在存储器中,准备输出以显示。
图1示意性地示出了要显示的图像的一部分,其示出了对要显示的图像重复应用采样掩码34。采样掩码34的各应用对应于如将显示的图像的像素。各采样掩码包括一组采样点36,该组采样点将用于对于讨论中的输出像素对图像采样,因此确定像素要如何显示在最终显示器上。
在图1所示的示例中,采样掩码34的各实例具有四个采样点36。示出了采样掩码34的单独视图的图2例示了这一点。即,图2示出了表示四个采样点36的阵列的4x采样掩码34,这四个采样点对应于生成渲染输出的给定像素的四个采样位置38。然而,将理解,不是必须使用4x采样掩码34。比如,在实施方式中,各像素可以仅采样一次(即,使得对于各像素仅存在单个采样点)。类似地,在其他实施方式中,可以合适地使用其他采样速率(例如,2x、8x、16x)。
图1还示出了以单个图元32的形式覆盖在采样掩码阵列30上的图像。这里将理解,为了简单起见,图像在图1中已经被示出为包括单个图元。在实践中,图像(或其他输出)可以且通常将包括许多重叠的图元。如从图1可以看到的,图元32完全覆盖采样掩码阵列30中的采样掩码中的一些(用粗体概述),但仅通过其他采样掩码中的一些的一部分。
为了处理图像的图元32,渲染系统基本上将在栅格化级确定图元32覆盖各采样掩码应用的各组采样点中的样本点中的哪些,然后渲染并存储用于这些已覆盖样本点的数据,使得图元32的图像可以适当显示在显示装置上。
现在将参照图3描述用于以本实施方式的该方式显示的图元32的图像的处理,图3示意性示出了可以根据本发明操作的图形处理流水线1。用于图形处理流水线的其他结构当然是可能的。
图3中所示的图形处理流水线1是基于块的渲染器,并且由此将产生渲染输出数据阵列的块,诸如要生成的输出帧。如本领域技术人员将理解的,可以使用其他渲染结构(如果期望)。
在基于块的渲染时,不是如即时模式渲染那样整个渲染输出(例如,帧)被一下子有效处理为,而是渲染输出(例如,要显示的帧)被划分为多个较小的子区域(通常称为“块”)。各块(子区域)被单独(通常一个接一个地)渲染,然后渲染后的块(子区域)被重组,以提供完整的渲染输出(例如用于显示的帧)。在这种结构中,渲染输出通常被划分为大小规律且成形的子区域(块)(它们通常是例如正方形或矩形),但不是必须的)。
渲染输出数据阵列可以通常是旨在用于在诸如屏幕或打印机这样的显示装置上显示的输出帧,但还可以例如包括旨在用于后期的渲染流程(还称为“渲染到纹理”输出)等的中间数据。
图3示出了图形处理流水线1的可以与本实施方式的操作有关的主元件和流水线级。如本领域技术人员将理解的,可以有图3未例示的图形处理流水线的其他元件。这里还应当注意的是,图3仅是示意性的,并且例如,实际上,所示的功能单元和流水线级可以共享重要的硬件电路(即使它们在图3中被示意性地示出为单独级)。还将理解的是,如图3所示的图形处理流水线的各个级、元件和单元等可以根据期望来实施,因此将包括例如适当的电路和/或处理逻辑等,用于执行需要的操作和功能。
图3示意性示出了在已经生成用于输入到栅格化处理的图形图元(多边形)2之后的流水线级。由此,在该点,响应于被提供给图形处理器的命令和顶点数据,图形数据(顶点数据)已经经受片段前端操作8(诸如变换和照明操作(未示出))和设置要渲染的图元的图元设置级(未示出)。
如图3所示,图形处理流水线1的该部分包括多个级,包括栅格化级3、早期Z(深度)和模板测试级4、片段着色级6、后期Z(深度)和模板测试级7、混合级7、块缓冲器10以及下采样和写回(多采样分辨率)级11。
图形处理流水线1的栅格化级3工作以将组成渲染输出(例如,要显示的图像)的图元栅格化为各个图形片段以处理。为此,栅格化器3接收用于渲染的图形图元2,将图元栅格化为采样点并且生成具有用于渲染图元的适当位置(代表合适的采样位置)的图形片段。
早期Z/模板级4对其从栅格化器3接收的片段进行Z(深度)测试,以预见是否可以在该级丢弃(剔除)任何片段。为此,早期Z/模板级将从栅格化器3发布的片段的深度值(与片段关联的深度值)与已经渲染的片段的深度值进行比较(这些深度值存储在作为块缓冲器10的一部分的深度(Z)缓冲器中),以确定新片段是否将由已经被渲染的片段遮蔽。同时,进行早期模板测试。早期深度和模板测试级4可以被配置为能够每时钟周期执行单个深度和模板测试。
通过片段早期Z和模板测试级4的片段然后发送到片段着色级6。片段着色级6对通过早期Z和模板测试的片段执行适当的片段处理操作,以处理片段,以生成适当片段数据等,用于渲染输出(例如,用于片段的显示)。
该片段处理可以包括任何合适且期望的片段着色处理,诸如对片段执行片段着色器程序、向片段应用纹理、向片段应用雾化或其他操作等,以生成合适的片段数据。在本实施方式中,片段着色级6为着色器流水线(可编程片段着色器)的形式,但诸如还或代替使用固定功能片段着色单元的其他结构会是可能的(如果期望)。片段着色器6被配置为总是处理与整体接收的片段关联的所有采样点。
片段着色级6与变化插值器(变化位置评价器)12关联,该变化插值器用于确定用于当前片段的正确变化值。对于特定插值模式,诸如图心映射,变化插值器使用片段的关联覆盖掩码来选择使变化数据插入的片段内的正确位置。由此,变化插值器12被配置为能够处理与它并行接收的片段关联的所有采样点,以能够选择用于图心映射的正确插值位置。
然后,存在“后期”片段Z和模板测试级7,该级尤其对着色后的片段执行流水线深度测试的结尾部分,以确定被渲染的片段是否将实际在最后图像中看到。该深度测试使用用于块缓冲器10中的Z缓冲器中存储的片段位置的Z缓冲器值,以确定用于新片段的片段数据是否应当代替已经被渲染的片段的片段数据,该确定通过将从片段着色级6发布的片段(与片段关联的)深度值与已经被渲染的(存储在深度缓冲器中的)片段的深度值进行比较来进行。该后期片段深度和模板测试级7还对片段执行任意需要的“后期”阿尔法和/或模板测试。
通过后期片段测试级7的片段然后可以经历(根据需要)任意需要的与已经存储在混合器9中的块缓冲器10中的片段的混合操作。对片段需要进行的任意其他剩余操作(诸如,抖动(dither)等(未示出))也可以在该级执行。
最后,(混合后的)输出片段数据(值)被写到块缓冲器10,从该块缓冲器,它们可以例如被输出到帧缓冲器,用于显示。用于输出片段的深度值还适当写到块缓冲器10内的Z缓冲器。由此,块缓冲器和Z缓冲器将存储用于缓冲器表示的采样点的适当颜色等或Z值。块缓冲器存储表示渲染输出(例如,要显示的图像)的一部分的样本数据的阵列。可以设置多个块缓冲器。比如,在实施方式中,可以设置三个块缓冲器,该三个块缓冲器中的两个用于存储用于各采样点的颜色(红绿蓝)值(将可以将一个块缓冲器用于该目的,但优选两个),并且一个块缓冲器用于存储用于各采样点的Z(深度)值和模板值。其他结构当然会是可能的。这些块缓冲器可以被设置为单独的缓冲器,或者实际上可以全部是同一较大缓冲器的一部分。它们位于(本地于)图形处理流水线(芯片)上。
来自块缓冲器10的数据然后被输入到下采样(多采样分辨率)单元11,因此输出(写回)到输出缓冲器13(可以不是图形处理平台本身),诸如显示装置(未示出)的帧缓冲器。显示装置可以包括例如包括像素阵列的显示器,诸如计算机监视器或打印机。
下采样单元11将在块缓冲器10中存储的样本数据下采样到用于输出缓冲器(装置)的适当分辨率(即,使得生成对应于输出装置的像素的像素数据的阵列),以生成用于输出到输出缓冲器13的输出值(像素)14。该下采样可以以任意合适的方式发生。在本实施方式中,数据的线性混合用于对其进行下采样。然而,其他结构会是可能的(如果期望)。如果需要,则下采样单元11还可以向其输出到输出缓冲器13的数据应用适当伽马校正,或者这可以作为片段着色操作或以任意其他合适且期望的方式进行。
一旦渲染输出的块已经被处理并且其数据被输出到主存储器(例如,到主存储器(未示出)中的帧缓冲器)以存储,那么处理下一块,以此类推,直到充足的块已经被处理来生成整个渲染输出(例如,要显示的帧(图像))为止。
由此,片段在图形处理流水线内的各种处理级处理。将理解,本技术通常可以适用于图形处理流水线的任意合适且期望的处理级。然而,在优选实施方式中,如下面将例示的,本技术可以适用于图形处理流水线1的混合器级9。
例如,在混合器级9处,在各周期中,可以接收多个片段(例如,四个),以混合操作。各片段转而可以包含要处理的一个、四个、八个、十六个等采样点,并且各采样点通常具有四个分量(即,红绿蓝以及阿尔法,(“RGBA”))。在该示例中,对所有“RGB”分量应用同一颜色混合操作,并且对所有“A”分量应用同一阿尔法混合操作。然而,原则上,可以向不同分量应用不同操作。在这种情况下,各采样点还可以指定应执行哪些操作。
图4示出了根据传统方法执行的混合器操作的示例。如图所示,混合器级包括两个混合管91、92。这些混合管91、92中的每个能够每周期处理一个新采样点。因此,在各周期中,混合器级能够处理两个新采样点。然而,对于图4所示的示例,在处理级的输入90处(在各输入“0”、“1”、“2”以及“3”处)存在要处理的四个采样点。在图4所示的传统操作中,在混合操作期间迭代(所有像素的)所有采样点。由此,如图4所示,输入“0”和“1”处的两个采样点首先传递到混合管91、92(在混合管中,它们被处理并在混合器的输出96处写出),然后在输入“2”和“3”处的两个采样点在下一周期中被传递到混合管91、92。因此,在该示例中,四个采样点在两个单独周期中传递到混合管91、92。
然而,在图4所示的示例中可以看到,在输入“1”、“2”以及“3”中的每个处的采样点实际上包含相同数据值(即,“B”),因此在输出96处给出相同处理结果。在本发明的实施方式中利用该冗余。
图5示出了根据本发明的实施方式的混合器操作的示例。再次,混合器包括两个混合管91、92,并且能够每周期接收两个采样点。然而,现在在混合器级的输入处提供相等检查逻辑93。在将任一个采样点传递到混合管以处理之前,由此可以在混合器级的输入处执行相等检查,以确定是否任一个采样点将给出相同处理结果。在该示例中,在输入“0”处的要处理的第一采样点包含值“A”。然而,在输入“1”、“2”以及“3”处的所有其他采样点包含相同值“B”。即,在输入“1”、“2”以及“3”处的各个采样点具有相同RGBA值。由此,相等检查逻辑93确定在输入“1”、“2”以及“3”中的每个处的采样点将给出相同处理结果(即,“B”)。在这种情况下,仅需要对两个唯一数据值(即,“A”和“B”)执行混合(而不是对于四个采样点中的每个执行混合)。由此,在多个采样点包含相同数据值的情况下,如在本示例中,因此可以减少混合执行的数量。比如,如图5所示,根据所例示的方案,仅处理在输入“0”和“1”处的两个采样点,而不处理在输入“2”和“3”处的采样点。然后可以由在处理级的输出处设置的合适复制逻辑95复制来自在输入“1”处的采样点的处理结果,并且将其复制到适当位置,以对于输入处的四个采样点中的每个写出数据。由此,在该示例中,性能被提高两倍,因为现在所有采样点可以在单个操作中有效处理。
如所示出的,为了使得能够将复制结果写出到正确位置,可以将相等信息94从相等检查模块93传递到复制逻辑95,该信息告知复制逻辑95要复制哪些数据值(这里为“B”)和将其复制到哪里(种类,为输出“2”和“3”)。因此,相等信息94通常可以包括指示未被处理的采样点的位置的信息(“位置信息”),以使得被处理的采样点的处理结果能够被合适地复制到合适的位置。
在图5所示的示例中,相等检查仅使用输入处的采样点来执行。然而,还将可以对于当前在混合管91、92内处理的采样点执行类似的相等检查。图6中例示了这一点的示例。如图6所示,再次存在输入处的四个采样点,它们中的一个(输入“0”)包含数据值“A”,而其他三个(输入“1”、“2”以及“3”)包含数据值“B”。然而,在该示例中,包含这些相同数据值(“A”和“B”)的采样点已经存在,并且在混合管91、92内处理。在这种情况下,不是必须处理输入处的采样点中的任一个。相反,可以以基本上与上述相同的方式使用适当生成的相等信息93复制在流水线内的采样点的处理结果并将其写出到适当位置。
图7是例示了根据本发明的实施方式执行的步骤的流程图。在第一步骤(步骤701)中,执行检查,以查看是否输入处的任意采样点将给出相同处理结果(即,具有相同数据和操作属性)。然后可以向下一级提供不冗余的任意采样点,在下一级中,执行另外的检查,以查看是否这些采样点中的任一个将给出与当前在流水线内的任意采样点相同的处理结果(步骤702)。如果情况不是这样,则调度唯一的采样点,以在处理流水线中处理。然后可以对于未被处理的任意其他冗余采样点对于各输入复制这些采样点的处理结果(步骤704)。类似地,如果从第一步骤(步骤701)输出的采样点中的任一个确实与流水线内的采样点匹配,则不需要处理这些采样点,相反可以对于各输入复制当前在流水线内的采样点的处理结果(步骤704)。
在实施方式中,到达处理级的输入的采样点的数量可以由处理操作来确定,即,由在单个读取操作期间从存储器读到处理级的采样点的数量来确定。依赖于系统,在给定实例中到达处理级的输入的所有采样点可以包括与单个片段关联的采样点。由此,可以对于表示同一片段的不同采样点进行上述比较。然而,还预期可以向处理级提供与多个不同片段有关的多个采样点。在这种情况下,比较可以在来自多个不同片段的采样点之间来进行。例如,为了增加在处理级的输入处被保持并由此可用于比较的采样点的数量,可以合适地设置输入缓冲器。
图8中例示了这一点的示例。在图8中,设置包含多个采样点(与多个不同片段关联)的输入缓冲器80。由此,可以对于输入缓冲器80内的所有采样点执行相等检查,以检查冗余数据。例如,如图所示,输入“0”、“10”以及“11”处的采样点全部包含相同数据值“A”。由此,仅需要处理输入“0”处的采样点,然后可以对于输入“10”和“11”处的采样点复制该结果。将理解,由此可以改变处理采样点的顺序,例如,使得在缓冲器内在后面较远处的采样点被有效提前并比原本对其进行处理(例如,在根据混合器按顺序在所有采样点上迭代的、图4所例示的方案执行操作时)早地进行处理。因此,输入缓冲器80的使用可以提供处理效率的进一步提高。
在上述示例中,处理流水线被充分使用,即,使得在任意给定时刻,存在到混合器级9的混合管91、92的采样点的基本上连续的吞吐量。然而,在其其他结构中,如图9例示,在确定了要处理的多个采样点将给出相同处理结果时,可以停用流水线的一个或更多个通道,例如以节省处理功率。
例如,如图9所示,存在要处理的两个采样点,各采样点具有四个分量(RGBA)。各个采样点被相应的混合管901、902处理,并且各混合管901、902具有用于处理两个采样点的单独分量的多个通道。在该示例中,用于两个采样点的RGB值不同。然而,两个采样点共享同一“A”值。由此,仅需要处理用于第一采样点的“A”值,然后可以对于另一采样点复制该结果。因此,可以停用用于处理第二采样点的混合管902的“A”通道902A,并且可以复制来自第一采样点的“A”分量的处理结果,例如以与上述类似的方式。
虽然图9示出了“每分量”处理的示例,但将理解,这里所例示的方案通常还可以适用于“每样本”处理。
类似地,虽然图4至图8主要参照“每样本”处理来描述,但再次,这些描述可以相等地适用于“每分量”处理。
附图示出了与这里所描述的技术的实施方式相关的数据处理设备和系统的元件。如本领域技术人员将理解的,可以有附图未例示的数据处理设备和系统的其他元件。这里还应当注意的是,附图仅是示意性的,并且例如,在实践中,所示的元件可以共享重要的硬件电路,即使它们在附图中被示意性示出为单独的元件(或者相反,在元件被示出为共享的重要硬件电路的情况下,这些元件实际上可以包括单独元件)。
如上面讨论的,这里描述的技术的实施方式与图形处理有关。然而,将理解,本技术还可以适用于类似的考虑适用的其他数据处理系统,即,在这些数据处理系统中,需要处理多个数据元素,并且其中,已知这些数据元素中的多个可以给出相同处理结果。
前述具体实施方式已经为了例示和描述的目的而提出。并非旨在对这里所描述的技术进行穷尽,或者将这里所描述的技术限于所公开的精确形式。许多修改例和变型例鉴于上述示教而是可以的。选择了所描述实施方式以最好地说明这里所描述的技术的原理及其实际应用,从而使本领域其它技术人员能够在各种实施方式中最好使用这里所描述的技术,以及适合于所设想的具体用途的各种变型。预期的是,范围由所附权利要求来限定。
Claims (21)
1.一种在图形处理流水线的处理级中处理图形片段的方法,其中,所述图形片段各表示要处理的一组一个或更多个采样点,所述方法包括以下步骤:
提供要处理的采样点池,其中,所述采样点池内的采样点的数量大于能够由所述处理级在单个周期中处理的采样点的数量;
将所述采样点池内的采样点彼此比较,以确定是否多个采样点将在由所述处理级处理时给出相同处理结果;
在确定了多个采样点将给出相同处理结果时,处理这些采样点中的第一采样点,并且生成被确定为将给出相同处理结果的所述多个采样点中的其他采样点的位置信息,其中,该位置信息包含指示所述多个采样点中的所述其他采样点的相应位置的信息,使得随后能够对于所述多个采样点中的所述其他采样点的相应位置写出所述其他采样点;以及
通过以下处理写出所述多个采样点中的每个采样点的处理结果:复制所述第一采样点的处理结果,并且基于关联的位置信息,针对被确定为给出相同处理结果的所述多个采样点中的各个所述其他采样点的相应位置,写出复制结果。
2.根据权利要求1所述的方法,其中,在确定了所述多个采样点将给出相同处理结果时,仅处理这些采样点中的第一采样点,并且其中,写出所述多个采样点中的每个采样点的步骤包括对于尚未被处理但被确定为给出相同处理结果的所述多个采样点中的各个所述其他采样点,复制所述第一采样点的处理结果。
3.根据权利要求1所述的方法,其中,比较所述采样点池内的采样点以确定是否多个采样点将在由所述处理级处理时给出相同处理结果的步骤包括:确定采样点的一个或更多个分量的处理是否将给出相同处理结果,并且其中,在确定了多个采样点的一个或更多个分量将给出相同处理结果时,仅处理这多个第一采样点的所述一个或更多个分量。
4.根据权利要求1至3中任一项所述的方法,所述方法包括以下步骤:将所述采样点池内的采样点进行比较以确定是否多个采样点包含相等数据。
5.根据权利要求1至3中任一项所述的方法,其中,各个采样点具有关联的控制信息,该关联的控制信息确定针对该采样点要由所述处理级执行的处理操作,所述方法包括以下步骤:将所述采样点池内的采样点进行比较以确定是否多个采样点包含相等数据且具有相同控制信息而使得采样点的处理将给出相同处理结果。
6.根据权利要求1至3中任一项所述的方法,所述方法还包括以下步骤:将所述采样点池内的一个或更多个采样点与当前由所述处理级处理的采样点进行比较,以确定所述采样点池内的一个或更多个采样点是否将给出与当前被处理的采样点相同的处理结果,并且在确定了所述采样点池内的一个或更多个采样点将给出与当前被处理的采样点相同的处理结果时,通过复制当前被处理的采样点的处理结果,写出被确定为给出与当前被处理的采样点相同的处理结果的、所述采样点池内的所述一个或更多个采样点的处理结果。
7.根据权利要求1至3中任一项所述的方法,其中,所述采样点池被保持在输入缓冲器内。
8.根据权利要求1至3中任一项所述的方法,其中,所述采样点池内的采样点与单个片段有关。
9.根据权利要求1至3中任一项所述的方法,其中,所述采样点池内的采样点与多个不同片段有关,并且其中,进行比较以确定来自不同片段的多个采样点是否将在由所述处理级处理时给出相同处理结果。
10.一种用于处理图形片段的图形处理流水线,其中,所述图形片段各表示要处理的一组一个或更多个采样点,并且其中,所述图形处理流水线包括多个处理级,其中,所述图形处理流水线的至少一个处理级包括:
输入电路,该输入电路用于提供要处理的采样点池,其中,所述采样点池内的采样点的数量大于所述处理级在单个周期中所能处理的采样点的数量;
比较器电路,该比较器电路用于将所述采样点池内的采样点彼此比较,以确定是否多个采样点在由所述处理级处理时将给出相同处理结果;
处理电路,该处理电路用于处理所述采样点;
控制电路,该控制电路用于控制由所述处理电路处理所述采样点中的哪些,其中,所述控制电路被配置为:在确定了多个采样点将给出相同处理结果时,使所述处理级处理这些采样点中的第一采样点,并且生成被确定为将给出相同处理结果的所述多个采样点中的其他采样点的位置信息,使得随后能够对于所述多个采样点中的所述其他采样点的相应位置写出所述其他采样点;以及
输出电路,该输出电路用于写出采样点的处理结果,其中,所述输出电路被配置为复制所述第一采样点的处理结果,并且基于关联的位置信息,针对被确定为给出相同处理结果的所述多个采样点中的各个所述其他采样点的相应位置,写出复制结果。
11.根据权利要求10所述的图形处理流水线,其中,
所述控制电路被配置为:在确定了多个采样点将给出相同处理结果时,使得仅处理这些采样点中的第一采样点,并且其中,
所述输出电路被配置为通过以下处理写出所述多个采样点中的每个采样点:对于尚未被处理但被确定为给出相同处理结果的所述多个采样点中的各个所述其他采样点,复制所述第一采样点的处理结果。
12.根据权利要求10所述的图形处理流水线,其中,
所述比较器电路被配置为比较所述采样点池内的采样点,以确定采样点的一个或更多个分量的处理是否将给出相同处理结果,并且其中,
所述控制电路被配置为:在确定了多个采样点的一个或更多个分量将给出相同处理结果时,使得仅处理这多个第一采样点的所述一个或更多个分量。
13.根据权利要求10至12中任一项所述的图形处理流水线,其中,所述比较器电路被配置为将所述采样点池内的采样点进行比较以确定是否多个采样点包含相等数据。
14.根据权利要求13所述的图形处理流水线,其中,各个采样点具有关联的控制信息,该关联的控制信息确定针对该采样点要由所述处理级执行的处理操作,并且其中,所述比较器电路被配置为将所述采样点池内的采样点进行比较以确定是否多个采样点包含相等数据且具有相同控制信息而使得采样点的处理将给出相同处理结果。
15.根据权利要求10至12中任一项所述的图形处理流水线,其中,
所述比较器电路还被配置为将所述采样点池内的采样点与当前由所述处理级处理的采样点进行比较,以确定所述采样点池内的一个或更多个采样点是否将给出与当前被处理的采样点相同的处理结果,并且其中,在确定了所述采样点池内的一个或更多个采样点将给出与当前被处理的采样点相同的处理结果时,
所述输出电路被配置为通过复制当前被处理的采样点的处理结果,写出被确定为给出与当前被处理的采样点相同的处理结果的、所述采样点池内的所述一个或更多个采样点的处理结果。
16.根据权利要求10至12中任一项所述的图形处理流水线,其中,所述输入电路包括用于保持所述采样点池的输入缓冲器。
17.根据权利要求10至12中任一项所述的图形处理流水线,其中,所述输入电路被设置为保持与单个片段有关的多个采样点。
18.根据权利要求10至12中任一项所述的图形处理流水线,其中,所述输入电路被设置为保持与多个不同片段有关的多个采样点,使得所述比较器电路能够工作以比较表示不同片段的采样点。
19.一种在图形处理流水线的处理级中处理图形片段的方法,其中,所述图形片段各表示要处理的一组一个或更多个采样点,所述方法包括以下步骤:
提供待由所述处理级的多个处理流水线并行处理的两个以上采样点;
比较所述两个以上采样点,以确定是否多个采样点在由所述处理级处理时将给出相同处理结果;
在确定了多个采样点将给出相同处理结果时,处理这些采样点中的第一采样点,并且停用用于被确定为给出相同处理结果的所述多个采样点中的其他采样点的一个或更多个相应处理流水线;
生成指示被确定为给出相同处理结果的所述多个采样点中的所述其他采样点的相应位置的位置信息,使得随后能够对于所述多个采样点中的其他采样点的相应位置写出所述其他采样点;以及
通过以下处理写出所述多个采样点的处理结果:复制所述第一采样点的处理结果,并且基于关联的位置信息,针对被确定为给出相同处理结果的所述多个采样点中的所述其他采样点的相应位置,写出复制结果。
20.一种用于处理图形片段的图形处理流水线,其中,所述图形片段各表示要处理的一组采样点,并且其中,所述图形处理流水线包括多个处理级,其中,所述图形处理系统的至少一个处理级包括:
输入电路,该输入电路用于提供待由所述处理级的多个处理流水线并行处理的两个以上采样点;
比较器电路,该比较器电路用于比较所述两个以上采样点,以确定是否多个采样点在由所述处理级处理时将给出相同处理结果;
处理电路,该处理电路包括用于处理两个以上采样点的多个处理流水线;
控制电路,该控制电路用于控制由所述处理电路处理采样点中的哪些,其中,所述控制电路被配置为:在确定了多个采样点将给出相同处理结果时,使所述处理级处理这些采样点中的第一采样点,并且停用用于被确定为给出相同处理结果的所述多个采样点中的其他采样点的一个或更多个相应处理流水线,其中,所述控制电路还被配置为生成指示被确定为给出相同处理结果的所述多个采样点中的所述其他采样点的相应位置的位置信息,使得随后能够对于所述多个采样点中的所述其他采样点的相应位置写出所述其他采样点;以及
输出电路,该输出电路用于写出采样点的处理结果,其中,所述输出电路被配置为复制所述第一采样点的处理结果,并且基于关联的位置信息,针对被确定为给出相同处理结果的所述多个采样点中的各个所述其他采样点的相应位置,写出复制结果。
21.一种计算机可读存储介质,该计算机可读存储介质存储有软件代码,该软件代码当在数据处理器上执行时执行根据权利要求1、2、3和19中任一项所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1804167.3A GB2571979B8 (en) | 2018-03-15 | 2018-03-15 | Graphics processing |
GB1804167.3 | 2018-03-15 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110276711A true CN110276711A (zh) | 2019-09-24 |
CN110276711B CN110276711B (zh) | 2024-03-22 |
Family
ID=62017702
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910192508.9A Active CN110276711B (zh) | 2018-03-15 | 2019-03-14 | 处理图形片段的方法、图形处理流水线 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10614546B2 (zh) |
KR (1) | KR102696633B1 (zh) |
CN (1) | CN110276711B (zh) |
GB (1) | GB2571979B8 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2571979B8 (en) * | 2018-03-15 | 2023-07-12 | Advanced Risc Mach Ltd | Graphics processing |
KR20220141954A (ko) * | 2021-04-13 | 2022-10-21 | 삼성디스플레이 주식회사 | 표시 장치 및 이를 이용한 표시 패널의 구동 방법 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101859444A (zh) * | 2009-04-08 | 2010-10-13 | 佳能株式会社 | 图像处理装置及图像处理方法 |
CN103136774A (zh) * | 2011-12-05 | 2013-06-05 | Arm有限公司 | 用于处理计算机图形的方法和装置 |
CN103871020A (zh) * | 2012-12-17 | 2014-06-18 | Arm有限公司 | 图形处理系统中的隐藏面消除 |
US20140267377A1 (en) * | 2013-03-18 | 2014-09-18 | Arm Limited | Methods of and apparatus for processing computer graphics |
CN104134183A (zh) * | 2013-05-02 | 2014-11-05 | Arm有限公司 | 图形处理系统 |
US20140368521A1 (en) * | 2013-05-02 | 2014-12-18 | Arm Limited | Graphics processing systems |
CN104424621A (zh) * | 2013-08-30 | 2015-03-18 | Arm有限公司 | 图形处理系统 |
US20150317763A1 (en) * | 2014-05-02 | 2015-11-05 | Arm Limited | Graphics processing systems |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0900700D0 (en) | 2009-01-15 | 2009-03-04 | Advanced Risc Mach Ltd | Methods of and apparatus for processing graphics |
US10514928B2 (en) | 2014-04-17 | 2019-12-24 | Arm Limited | Preventing duplicate execution by sharing a result between different processing lanes assigned micro-operations that generate the same result |
US9817466B2 (en) | 2014-04-17 | 2017-11-14 | Arm Limited | Power saving by reusing results of identical micro-operations |
US9933841B2 (en) | 2014-04-17 | 2018-04-03 | Arm Limited | Reuse of results of back-to-back micro-operations |
GB2537137B (en) * | 2015-04-08 | 2021-02-17 | Advanced Risc Mach Ltd | Graphics processing systems |
GB2540983B (en) * | 2015-08-03 | 2017-11-29 | Advanced Risc Mach Ltd | Graphics processing |
GB2548852B (en) * | 2016-03-30 | 2020-10-28 | Advanced Risc Mach Ltd | Method of operating a graphics processing pipeline by compressing a block of sampling positions having the same data value |
GB2553744B (en) * | 2016-04-29 | 2018-09-05 | Advanced Risc Mach Ltd | Graphics processing systems |
US10311016B2 (en) * | 2017-05-30 | 2019-06-04 | Arm Limited | Hidden surface removal in graphics processing systems |
GB2571979B8 (en) * | 2018-03-15 | 2023-07-12 | Advanced Risc Mach Ltd | Graphics processing |
-
2018
- 2018-03-15 GB GB1804167.3A patent/GB2571979B8/en active Active
-
2019
- 2019-03-01 US US16/290,709 patent/US10614546B2/en active Active
- 2019-03-14 KR KR1020190029037A patent/KR102696633B1/ko active IP Right Grant
- 2019-03-14 CN CN201910192508.9A patent/CN110276711B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101859444A (zh) * | 2009-04-08 | 2010-10-13 | 佳能株式会社 | 图像处理装置及图像处理方法 |
CN103136774A (zh) * | 2011-12-05 | 2013-06-05 | Arm有限公司 | 用于处理计算机图形的方法和装置 |
CN103871020A (zh) * | 2012-12-17 | 2014-06-18 | Arm有限公司 | 图形处理系统中的隐藏面消除 |
US20140267377A1 (en) * | 2013-03-18 | 2014-09-18 | Arm Limited | Methods of and apparatus for processing computer graphics |
CN104134183A (zh) * | 2013-05-02 | 2014-11-05 | Arm有限公司 | 图形处理系统 |
US20140368521A1 (en) * | 2013-05-02 | 2014-12-18 | Arm Limited | Graphics processing systems |
CN104424621A (zh) * | 2013-08-30 | 2015-03-18 | Arm有限公司 | 图形处理系统 |
US20150317763A1 (en) * | 2014-05-02 | 2015-11-05 | Arm Limited | Graphics processing systems |
Also Published As
Publication number | Publication date |
---|---|
CN110276711B (zh) | 2024-03-22 |
GB2571979B8 (en) | 2023-07-12 |
KR20190109279A (ko) | 2019-09-25 |
GB2571979A (en) | 2019-09-18 |
US10614546B2 (en) | 2020-04-07 |
GB2571979B (en) | 2022-07-06 |
KR102696633B1 (ko) | 2024-08-21 |
GB201804167D0 (en) | 2018-05-02 |
GB2571979A8 (en) | 2023-07-12 |
US20190287207A1 (en) | 2019-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104424621B (zh) | 基于图块的图形处理流水线和操作图形处理流水线的方法 | |
CN104134183B (zh) | 基于区块的图形处理管道及其操作方法、存储介质 | |
US9317960B2 (en) | Top-to bottom path rendering with opacity testing | |
CN105023233B (zh) | 图形处理系统及其操作方法、计算机存储介质 | |
US9965876B2 (en) | Method and apparatus for graphics processing of a graphics fragment | |
CN111066066B (zh) | 可变比率着色 | |
US11657560B2 (en) | VRS rate feedback | |
US9558585B2 (en) | Hidden surface removal in graphics processing systems | |
US9552665B2 (en) | Hidden surface removal in graphics processing systems | |
CN107833262A (zh) | 图形处理系统和图形处理器 | |
CN101533522B (zh) | 用于处理计算机图形的方法和设备 | |
CN106355544B (zh) | 处理单元、在处理单元中进行处理操作的方法 | |
US6670955B1 (en) | Method and system for sort independent alpha blending of graphic fragments | |
JP2010102713A (ja) | コンピュータグラフィックスを処理する方法および機器 | |
CN110036414B (zh) | 在z-剔除之后去除或识别重叠片段 | |
CN101604454A (zh) | 图形处理系统 | |
CN108305313A (zh) | 用于细分绘制空间的一个或多个图块的集合的、用于绘制的图形处理单元和方法 | |
US10769838B2 (en) | Hierarchical graphics processing for primitives | |
CN113196333A (zh) | 可变比率着色和超样本着色的集成 | |
CN110276711A (zh) | 图形处理 | |
CN110738593B (zh) | 图形处理器及其操作方法、图形处理系统、编译器 | |
CN107851027B (zh) | 图形处理单元的可编程执行单元、数据处理系统、操作方法 | |
US20230298212A1 (en) | Locking mechanism for image classification | |
CN101393650A (zh) | 执行透明度向覆盖率转换的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |