CN102708579A - 拼贴式图形系统和操作这种系统的方法 - Google Patents
拼贴式图形系统和操作这种系统的方法 Download PDFInfo
- Publication number
- CN102708579A CN102708579A CN2012100372293A CN201210037229A CN102708579A CN 102708579 A CN102708579 A CN 102708579A CN 2012100372293 A CN2012100372293 A CN 2012100372293A CN 201210037229 A CN201210037229 A CN 201210037229A CN 102708579 A CN102708579 A CN 102708579A
- Authority
- CN
- China
- Prior art keywords
- piece
- operator scheme
- pel
- piecing
- binning
- 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.)
- Pending
Links
Images
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
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Image Generation (AREA)
- Image Processing (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本发明涉及拼贴式图形系统和操作这种系统的方法。拼贴式图形系统和操作这种系统的方法被提供用于针对包括多个拼贴块的帧来生成图形数据。提供了图形处理电路,其被布置来在第一操作模式和第二操作模式之间切换。在第一操作模式中,图形处理电路接收帧的多个图元,并执行装仓操作以针对多个拼贴块中的每一个拼贴块来确定拼贴块列表,该拼贴块列表标识出与该拼贴块相交的图元。在第二操作模式中,图形处理电路接收针对所分配的拼贴块的拼贴块列表,并执行光栅化操作以依据该拼贴块列表来生成针对所分配的拼贴块的图形数据。这使得针对装仓操作和光栅化操作二者使用同一图形处理单元,从而显著地减小了图形系统的尺寸,同时还使得改进了性能和能耗。
Description
技术领域
本发明涉及拼贴式图形系统(tile-based graphics system)和操作这种系统的方法。
背景技术
已经开发出拼贴式图形系统,其中,对于要显示的每一帧,该帧被分割成称为拼贴块(tile)的多个区域。针对帧中要被显示的每一个图元(通常是点、线或三角形),提供了用于执行装仓(binning)操作以确定图元与各个拼贴块中的哪些相交的装仓单元。具体地,装仓单元通常将指定多个仓,例如针对每一个拼贴块指定一个仓,然后基于图元的坐标数据,将确定图元与哪个或哪些拼贴块相交,并且对于相交的每个拼贴块,将在相关仓内记录针对该图元的标识符。
虽然在仓和拼贴块之间可能存在一一对应关系,以使得针对每一个拼贴块提供单独的仓,但是以这种方式来布置仓并不是必要的,而是,可将多个拼贴块与各个仓相关联。这使得能够减小需要存储的装仓数据的量。但是,不管装仓单元以何种方式来构造实际仓,在装仓操作完成时,帧内要被显示的所有图元都将已被考虑,并且通过装仓操作产生的装仓数据将提供针对每一个拼贴块的拼贴块列表。具体地,拼贴块列表将针对相应的拼贴块标识出与该拼贴块相交的图元。
仅在装仓操作完成之后,图形系统才能够在随后继续生成针对每一个拼贴块的图形数据(这里也称为像素数据)。具体地,在此阶段,图形系统的光栅化单元将被分配一特定拼贴块,并且将依据适用于该拼贴块的拼贴块列表来生成针对所分配的拼贴块的图形数据。针对在拼贴块列表中标识出的那些图元,光栅化处理确定各个图元位于哪些像素中,然后应用着色算法(shader algorithm)以生成针对每一个像素的像素数据。
由于在光栅化阶段,存在针对每一个拼贴块的单独拼贴块列表,于是如果在图形系统中提供了多个光栅化引擎,则可以通过向不同的光栅化引擎分配不同拼贴块来并行化光栅化处理,从而提高性能。
但是,在执行光栅化之前,通常要完成装仓操作,这是因为仅在装仓操作完成,从而帧的所有图元都已被考虑时,针对任何特定拼贴块的拼贴块列表才会被认为完成了。执行装仓操作所需的专用装仓单元占据了采用硬件装仓单元的图形系统内的大幅区域。即使在用软件执行装仓操作的系统中,装仓的实施也完全与图形系统的其它部分分离。此外,不管提供的是硬件还是软件的装仓实施方式,装仓操作通常都花费大量时间,这对图形渲染处理的整体性能产生了不利影响。
因此,希望提供一种改进的拼贴式图形系统和操作这种系统的方法。
发明内容
从第一方面看,本发明提供了一种用于针对包括多个拼贴块的帧生成图形数据的拼贴式图形系统,所述系统包括:输入装置,用于接收所述帧的多个图元;图形处理电路,被配置为在第一操作模式中和第二操作模式中操作;在所述第一操作模式中,所述图形处理电路从所述输入装置接收所述多个图元,并被配置为执行装仓操作以针对所述多个拼贴块中的每一个拼贴块来确定拼贴块列表,该拼贴块列表标识出所述多个图元中的与该拼贴块相交的图元;在所述第二操作模式中,所述图形处理电路接收所分配的拼贴块的所述拼贴块列表,并被配置为执行光栅化操作以依据所述拼贴块列表来生成所述所分配的拼贴块的所述图形数据;以及控制电路,用于控制图形处理电路在所述第一操作模式和所述第二操作模式之间切换。
根据本发明,提供了图形处理电路,其能够在第一操作模式和第二操作模式之间切换。在第一操作模式中,图形处理电路接收要被显示的多个图元,并执行装仓操作以针每一个拼贴块来产生拼贴块列表。在第二操作模式中,图形处理电路接收针对特定拼贴块的拼贴块列表,并执行光栅化操作以生成针对该拼贴块的图形数据。
本发明的发明人观察到在图形系统中执行的装仓操作和光栅化操作之间具有潜在的相似之处。具体地,两个处理都计算几何图元与矩形区域(在装仓操作的情况下是拼贴块,而在光栅化操作的情况下是像素)的相交点,然后针对该矩形区域来生成某种存储数据(对于装仓操作而言是拼贴块列表,而对于光栅化操作而言是像素数据)。基于此观察,发明人制作了一种图形处理单元,其可被布置为在一种操作模式中执行装仓操作并在另一操作模式中执行光栅化操作。这相对于采用单独装仓单元的已知现有技术而言显著地降低了拼贴式图形系统的尺寸和复杂度,并在特定实施例中使得实现了多种性能改进。
在一个实施例中,图形处理电路包括工作存储器,该工作存储器包括多个存储器块。在所述第一操作模式中,每一个存储器块被与一个拼贴块相关联,并且在装仓操作期间被用于记录所述多个图元中与关联拼贴块相交的图元;并且在所述第二操作模式中,每一个存储器块与所分配拼贴块的一个像素相关联,并且在所述光栅化操作期间被用于存储针对关联像素生成的像素数据。因此,根据这样的实施例,可在两种操作模式中使用相同的存储器结构,其中信息被存储在取决于操作模式而不同的各个存储器块中。这再次使得通过降低所需的存储器量而实现了显著的尺寸改进。此外,在工作存储器被设置在图形处理电路的本地而不是被设置为系统存储器的一部分的情况下,这种方案显著地降低了所需的系统存储器访问次数。对于装仓操作而言尤其如此,因为在典型的现有系统中,装仓单元在每次一图元被确定为与拼贴块相交时就与系统存储器进行通信,因而需要对仓进行更新。
图形处理电路可以多种方式来形成。但是,在一个实施例中,图形处理电路是被修改为支持所述第一操作模式的光栅化电路;并且所述工作存储器是被提供来由所述光栅化电路在执行光栅化操作时使用的拼贴块存储器,并且被布置为在所述第一操作模式期间被重用来记录所述多个图元中的、与和每一个存储器块相关联的拼贴块相交的图元。典型的光栅化电路在检测图元与各个像素的相交点方面很高效,并且当图形处理电路被修改为还支持装仓操作模式时,与使用专用装仓单元进行装仓操作的已知现有方案相比,这些效率还可被用于改进装仓操作的性能和在装仓操作期间消耗的功耗。此外,典型的光栅化电路设有在光栅化操作期间用于记录拼贴块的每一个像素的像素数据的拼贴块存储器,并且通过将拼贴块存储器再利用来存储在图形处理电路操作于第一操作模式以执行装仓操作时生成的拼贴块列表信息,这与使用典型的已知现有专用装仓单元来执行装仓操作时所需的存储器访问相比,产生了显著的性能改进。
在图形处理电路由经修改的光栅化电路形成的实施例中,该经修改的光栅化电路可以采取多种形式。但是,在一个实施例中,光栅化电路包括:选择电路,该选择电路从单元阵列中选择各个单元,在第一操作模式中每一个单元包括所述拼贴块之一,并且在第二操作模式中每一个单元包括所分配拼贴块的像素。光栅化电路还包括单元处理电路,用于针对所选择的单元来计算要与该单元相关联的输出数据,在第一操作模式中该输出数据指示出所述多个图元中的与所选择的单元相交的图元,并且在第二操作模式中该输出数据提供所选择的单元的像素数据,该像素数据取决于所选择的单元是如何与所述多个图元相交的。
在一个具体实施例中,在第一操作模式中,单元处理电路执行几何相交算法,并且在第二操作模式中,单元处理电路执行基于样本的着色算法。因此,在这种实施例中,可以看出对光栅化电路的所需修改是相对较小的。具体地,由选择电路处理的单元仅仅取决于操作模式而具有不同含义,并且单元处理电路取决于操作模式而执行不同算法。
在工作存储器在两种操作模式之间共享的实施例中,工作存储器被共享的方式(特别是在第一操作模式中使用工作存储器的方式)可以采取多种形式。但是,在一个实施例中,每一个存储器块包括n个比特;并且在所述第一操作模式期间,图形处理电路针对多达n个图元执行装仓操作。因此,在这种实施例中,在执行光栅化操作时被用来存储针对特定像素的像素数据的n个比特数据被在第一操作模式中再利用来存储针对多达n个图元的装仓信息。特别地,在一个实施例中,存储器块中的每一个比特位置与特定图元相关联,并且取决于图元是否被确定为与该存储器块所关联的拼贴块相交,该比特的值被置位或清除。
在一个实施例中,如果所述多个图元超过n个,则控制电路被布置来致使图形处理电路在所述第一操作模式中迭代地执行所述装仓操作,对于每一次迭代,不同的n个图元被考虑。此方案因而提供了这样的图形系统,该图形系统可以灵活地使其能够处理针对特定帧指定的不同数目的图元。
在一个实施例中,如果帧中的拼贴块数目超过拼贴块中的像素数目,则控制电路被布置来致使图形处理电路在所述第一操作模式中迭代地执行所述装仓操作,对于每一次迭代,帧的不同区域被考虑,其中每一个区域具有不超过拼贴块中的像素数目的多个拼贴块。因此,此方案使得实施例的图形处理系统可以灵活地处理各种帧大小,并因而具有各种显示分辨率。
典型地,在需要迭代地执行装仓操作的情形中,工作存储器的内容将在各次迭代之间被写入仓存储器,这种内容例如在各次迭代中被用于更新仓存储器的内容以使得到所需迭代已经完成之时,仓存储器包含每一个拼贴块的完整拼贴块列表。
在一个实施例中,图形处理电路包括多个图形处理引擎,所述多个图形处理引擎各自被控制电路控制来操作于所述第一操作模式或所述第二操作模式。在一个这样的实施例中,控制电路被布置来将数个所述图形处理引擎置于所述第一操作模式并将所述帧的不同区域分配给那些图形处理引擎中不同的图形处理引擎,以使得在所述数个图形处理引擎之间并行地执行装仓操作。在使用专用装仓单元来执行装仓操作的典型现有系统中,装仓操作表示图形流水线中的序列化点,而本发明的这种实施例去除了装仓操作的序列化,使得可跨数个图形处理引擎来并行地执行装仓操作,从而显著地提高了性能。
在一个实施例中,由图形处理电路产生的拼贴块列表包括比特序列,其中每一个比特与相应一个图元相关联并且其值指示出该相应图元是否与关联拼贴块相交。在这样的实施例中,拼贴式图形系统还可包括:合并引擎,用于接收拼贴块列表和对每一个图元的描述并用于产生包括多个向量的向量文件,其中每一个向量提供了对所述图元中的不与关联拼贴块相交的一个图元的描述,所述向量文件被操作于所述第二操作模式时的图形处理电路用于生成针对所述关联拼贴块的图形数据。
通过使用这样的合并引擎,可以提供优化,借此操作于第二操作模式时的图形处理电路所使用的向量文件仅包含用于生成针对关联拼贴块的图形数据所需的最小信息量。这因而促使了性能的关联增长。
合并引擎可以多种方式来提供。但是,在一个实施例中,合并引擎包括由图形处理电路提供的着色引擎。
在图形处理电路处于第一操作模式时用于执行装仓操作的图形处理电路内所提供的结构可以采取多种形式。但是,在一个实施例中,图形处理电路包括用于执行所述装仓操作的着色引擎。
从第二方面看,本发明提供了一种用于操作数据处理系统以生成包括多个拼贴块的帧的图形数据的方法,所述方法包括以下步骤:在生成所述图形数据的处理期间,选择性地在第一操作模式和第二操作模式之间切换图形处理逻辑;当在所述第一操作模式中时,所述图形处理逻辑接收所述帧的多个图元,并执行装仓操作以针对所述多个拼贴块中的每一个拼贴块来确定拼贴块列表,所述拼贴块列表标识出所述多个图元中的与该拼贴块相交的图元;当在所述第二操作模式中时,所述图形处理逻辑接收所分配的拼贴块的所述拼贴块列表,并执行光栅化操作以依据所述拼贴块列表来生成所述所分配的拼贴块的所述图形数据;以及当已经针对每一个所述拼贴块执行了光栅化操作时,输出所述帧的所述图形数据。
虽然本发明的一个实施例的图形系统可被提供作为专用的图形硬件系统,但是在另一实施例中,图形系统可通过在通用处理器上执行的软件来实现。特别地,根据本发明第三方面,本发明提供了一种包括计算机程序的非瞬时性存储介质,该计算机程序当被在计算机上执行时致使所述计算机执行本发明第二方面所述的生成针对帧的图形数据的方法,其中所述帧包括多个拼贴块。在又一个实施例中,可以使用硬件和软件元素的混合来实现图形系统。
从第四方面看,本发明提供了一种用于针对包括多个拼贴块的帧生成图形数据的拼贴式图形系统,所述系统包括:输入装置,用于接收所述帧的多个图元;图形处理装置,用于在第一操作模式中和第二操作模式中操作;在所述第一操作模式中,所述图形处理装置用于从所述输入装置接收所述多个图元,并用于执行装仓操作以针对所述多个拼贴块中的每一个拼贴块来确定拼贴块列表,所述拼贴块列表标识出所述多个图元中的与该拼贴块相交的图元;在所述第二操作模式中,所述图形处理装置用于接收所分配的拼贴块的所述拼贴块列表,并用于执行光栅化操作以依据所述拼贴块列表来生成所述所分配的拼贴块的所述图形数据;以及控制装置,用于控制所述图形处理装置在所述第一操作模式和所述第二操作模式之间切换。
附图说明
仅作为示例,将参考如附图所示的本发明的实施例来进一步描述本发明,在附图中:
图1是图示出根据一个实施例的、包含拼贴式图形系统的数据处理系统的框图;
图2是示意性地图示出当一个实施例的装仓/光栅化引擎正操作于其第二操作模式下时对拼贴块存储器的使用的示图;
图3是示意性地图示出当一个实施例的装仓/光栅化引擎正操作于其第一操作模式下时对拼贴块存储器的使用的示图;
图4图示出了根据一个实施例如何针对每一个图元来更新在拼贴块存储器中维护的各种拼贴块列表;
图5是图示出根据一个实施例的、图1的系统的操作的流程图;
图6是更详细图示出根据一个实施例的、在图5的步骤210执行的步骤的流程图;
图7是图示出根据一个实施例的、在图6的步骤315执行的步骤的流程图;
图8是图示出一个实施例的装仓/光栅化引擎的示图;
图9是图示出一个实施例的合并引擎的操作的示图;以及
图10示意性地图示出了在一个实施例中可用于实现拼贴式图形系统的那种类型的通用计算机。
具体实施方式
图1是包含一个实施例的拼贴式图形系统的数据处理系统的框图。该拼贴式图形系统包括图形处理单元10,图形处理单元10具有多个装仓/光栅化引擎25、30,这些装仓/光栅化引擎25、30经由内部总线40耦合到用于控制这些装仓/光栅化引擎的每一个的操作模式的控制电路20。图形处理单元10还包括变换电路15和输入/输出接口35,变换电路15以标准方式操作以基于视角来将3D图元转换为2D坐标,并且输入/输出接口35用于将图形处理单元10连接到系统总线50。
与系统总线50相连的还有用于执行应用75的中央处理单元(CPU)70,应用75针对要被显示的图形数据的每一个帧来生成图元。系统存储器55被提供用于存储在图形渲染处理期间生成的各种数据。具体地,系统存储器55将包括图元存储器66,用于存储由在CPU 70上执行的应用75生成的图元。当应用已经针对特定帧生成一图元集时,通知将被发出给图形处理单元10以致使其开始处理那些图元。具体地,变换电路15将经由输入/输出接口35接收到存储在图元存储器66内的该图元集,并且将执行顶点着色操作,以便例如关于图形数据将被观看的视角将3D图元转换为等效的2D表示。图元的这些2D表示随后将被变换电路15存储到系统存储器55内的变换存储器64。一旦已经完成此操作,则图形处理单元10被布置来执行装仓操作。
为了执行装仓操作,控制电路20被布置来经由路径45向装仓/光栅化引擎25、30的至少一者发出模式控制信号,以致使将装仓/光栅化引擎的至少一者置于第一操作模式。所选择的(一个或多个)装仓/光栅化引擎随后被布置来从变换存储器64接收多个图元(即,2D版本)并执行装仓操作以产生装仓数据,该装仓数据针对构成帧的多个拼贴块的每一者提供标识出与该拼贴块相交的那些图元的拼贴块列表。如后面将更详细论述的,在该处理期间,与装仓/光栅化引擎25、30相关联的拼贴块存储器27、32被用于存储在装仓操作期间生成的装仓数据。在已由这(一个或多个)装仓/光栅化引擎执行装仓操作之后,装仓数据被从拼贴块存储器写入系统存储器55的仓存储器62。
如后面将更详细论述的,控制电路可以仅分配单个装仓/光栅化引擎来执行装仓操作,或者可以分配多个装仓/光栅化引擎来执行装仓操作,以使得帧的不同区域被分配给不同的装仓/光栅化引擎,其中每一个区域包含帧的一个或多个拼贴块。通过向装仓处理分配多于一个的装仓/光栅化引擎25、30,装仓处理的速度可以得到极大提高,从而增大图形系统的整体性能。
在拼贴块存储器27、32没有足够的空间用于存储由关联的装仓/光栅化引擎25、30在操作于第一操作模式时创建的所有装仓信息的情况下,该装仓/光栅化引擎可被布置来迭代地对信息的不同部分进行操作,其中,存储在拼贴块存储器中的内容在每一次迭代结束时被写出到仓存储器62。例如,拼贴块存储器可以包括多个存储器块,每一个存储器块包括n个比特。在第一操作模式期间在每一个存储器块与一拼贴块相关联的情况下,这允许在单次迭代中针对多达n个图元执行装仓操作。但是,如果多个图元超过n,则关联的装仓/光栅化引擎可被布置来迭代地操作以便执行装仓操作,针对每一次迭代,考虑多达n个图元的不同集合。
类似地,如果在第一操作模式期间被分配给装仓/光栅化引擎的拼贴块的数目超过一个拼贴块中的像素数目,则这通常意味着拼贴块存储器27将没有足够的存储器块用于针对每一个拼贴块提供单独的存储器块(通常,拼贴块存储器包括针对拼贴块内的每一个像素的存储器块),并因此,装仓/光栅化引擎可再次被布置来迭代地操作以便执行装仓操作,其中,针对每一次迭代,帧的不同区域被考虑,其中每一个区域具有不超过一个拼贴块中的像素数目的拼贴块数目。
一旦已经完成装仓操作,并且因此系统存储器55内的仓存储器62包括通过装仓操作生成的所有装仓数据,则仓存储器62中的累积装仓数据将提供针对每一个拼贴块的拼贴块列表,其中,每一个拼贴块列表标识出与相应拼贴块相交的那些图元。处理现在可以进行到光栅化阶段。在光栅化阶段期间,控制电路被布置来致使将一个或多个装仓/光栅化引擎25、30置于第二操作模式,其中,特定拼贴块被分配给一装仓/光栅化引擎25,并且该装仓/光栅化引擎随后针对该拼贴块执行光栅化操作。具体地,装仓/光栅化引擎25将经由输入/输出接口35从仓存储器62取回相应的拼贴块列表,并且将使用该拼贴块列表来执行光栅化操作以便生成针对所分配的拼贴块的图形数据。
光栅化操作以传统的方式进行操作,并且产生本领域技术人员将理解的多种图形数据。例如,这种图形数据通常将包括颜色数据(例如,RGB值)、半透明值A、一些深度信息、一些模版信息等。这种信息是针对拼贴块内的每一个像素来产生的,其中,该信息被存储在拼贴块存储器的相应存储器块中。一旦整个拼贴块都已被处理,存储在拼贴块存储器中的图形数据就经由输入/输出接口35被写入系统存储器55的帧缓冲器60的相关部分。一旦所有拼贴块都已被处理,则帧缓冲器60将包含针对整个帧的图形数据,在这之后,该图形数据可被路由到显示器驱动器80以致使该帧被显示在所连接的显示设备上。
图2示意性地图示出了拼贴块存储器27、32被其关联的装仓/光栅化引擎25、30在操作于第二操作模式时(即,在执行光栅化操作时)以何种方式使用。在此情况中,装仓/光栅化引擎25将正在处理包括多个像素110的拼贴块100。在所示出的示例中,该拼贴块包括16×16像素的阵列。在该示例中,拼贴块存储器120通常将包括多个存储器块125,其中,每一个存储器块与像素之一相关联。因此,在此示例中,拼贴块存储器120将包括256个存储器块,即,针对拼贴块中的每一个像素有一个存储器块。每一个存储器块被用于存储在执行光栅化操作期间生成的针对关联像素的像素数据。如早先论述的并且如图2所示,这种像素数据通常将包括RGB值(或者颜色值的某种其它表示)、半透明值A和各种其它像素数据。
图3示意性地图示出了当装仓/光栅化引擎正操作于第一操作模式下(即,正在执行装仓操作)时使用相同拼贴块存储器的方式。在此示例中,装仓/光栅化引擎25将对包括多个拼贴块145的帧(或帧区域)140进行处理。在图2的、拼贴块存储器具有256个存储器块的示例的情况下,则将了解,如果帧具有小于或等于256个拼贴块,则这些拼贴块中的每一者都可被分配拼贴块存储器中的单独存储器块。在图3所示的示例中,假设存在256个拼贴块,因此在假定图2的每一拼贴块的像素比率的情况下,帧具有256×256像素的分辨率。如早先所论述的,如果帧具有更大的分辨率,因此存在多于256个拼贴块,则装仓/光栅化引擎25之一可被布置来迭代地操作,在每一次迭代期间,帧的不同区域被考虑,或者可替代地帧的不同区域可被分配给不同的装仓/光栅化引擎。
如图3所示,拼贴块存储器120的每一个存储器块125被分配一特定拼贴块,并且该存储器块内的n个比特的每一个与不同图元相关联。因此,在由应用75针对特定帧生成的图元的数目没有超过n的情况下,则在装仓/光栅化引擎25内的装仓操作的单次迭代期间,可对所有的图元进行处理。如果图元的数目超过n,则如早先所论述的,可在装仓/光栅化引擎内执行多次迭代的装仓处理,其中,在每一次迭代中,不同的n个图元被考虑。
因此,如图3所示,与特定拼贴块相关联的存储器块内的每一个比特被置位或者被清除以指示出关联的图元是否被确定为与该拼贴块相交。在图3所图示出的示例中,假设每一个比特被清除为逻辑0值并被置位为逻辑1值。当被置位时,这指示出关联的图元已被确定为与相关拼贴块相交。因此,在图3所示的示例中,图元2和3已被确定为与拼贴块0相交。
图4进一步图示出拼贴块存储器内的各个比特在装仓操作期间是如何被设置的。在此示例中,假设图元4是在帧150内绘制的三角形157,在此简单示例中为了便于图示而假设帧150包括16个拼贴块155。
在拼贴块存储器160中,每一个存储器块165与不同拼贴块相关联。在装仓操作已被应用之后,每一个存储器块中的每一个比特将已被置位或被清除以指示出关联图元是否与相应拼贴块相交。图4中示出了在与图元4相关联的装仓操作结束时存储的信息。具体地,每一个存储器块的第四比特表示图元4,并且可以看出,该比特在与拼贴块4至10相关联的存储器块内已被置位,并且在所有其它存储器块内已被清除。
图5是图示出根据一个实施例的、图1的数据处理系统的操作的流程图。在步骤200,判断图形处理单元10是否具有待处理的帧,即,应用75是否已针对特定帧生成图元集。一旦该判断已被确定,处理就进行到步骤205,其中,由变换电路15提供的顶点着色器被用于对图元执行所需的3D至2D的变换。之后,在步骤210,装仓/光栅化引擎25、30中的至少一者被控制来操作于第一操作模式中,以便执行早先描述的装仓操作。将在后面参考图6和图7来更详细地论述在步骤210执行的操作。
在装仓操作已经完成之后,针对每一个拼贴块的拼贴块列表将被存储在仓存储器62中,如步骤215所表示的。如早先所论述的,在拼贴块存储器足够用于存储针对整个帧的装仓信息的情况下,可在装仓操作结束时执行的单次存储操作期间将拼贴块列表信息存储在仓存储器中。但是,在拼贴块存储器不足够大用于存储所有装仓信息的情况下,则所需装仓操作可在一个或多个装仓/光栅化引擎内被迭代地执行,和/或跨多个装仓/光栅化引擎来并行执行,并且在这种情况下,仓存储器62可在装仓操作期间被更新多次,以使得在装仓操作结束时,仓存储器的内容则提供了针对每一个拼贴块的拼贴块列表。
在步骤215之后,拼贴块列表被分配给已由控制电路20控制来操作于第二操作模式的装仓/光栅化引擎(参见步骤220)。之后,在步骤225,该被分配的装仓/光栅化引擎执行光栅化操作以生成针对拼贴块中的每一个像素的像素数据。该像素数据将被保留在拼贴块存储器内直到光栅化操作结束,之后在步骤230,像素数据将被输出到帧缓冲器60。之后,在步骤235,判断是否已经处理了所有拼贴块,并且如果没有,则在步骤240识别下一个拼贴块,并且处理返回到步骤220。虽然步骤220、225、230、235和240被顺序示出,但是将从早先的论述中理解到可并行地向不同的装仓/光栅化引擎分配不同拼贴块,以使得可并行地处理多个拼贴块。但是,在某一点处将在步骤235判断出所有拼贴块都已被处理,之后处理将返回到步骤200以等待要处理的下一个帧。
图6图示出了根据一个实施例在图5的步骤210执行的处理。在步骤300,判断是否要分配多个装仓/光栅化引擎用于执行装仓处理。如果不要,则处理进行到步骤315,其中,装仓/光栅化引擎被布置来应用几何相交算法以针对帧中的每一个拼贴块来确定哪些图元与该拼贴块相交。如早先所论述的,可在必要时使用多次迭代的装仓操作以便确保针对帧中的每一个拼贴块考虑了所有图元。
如果要分配多个装仓/光栅化引擎用于装仓,则处理进行到步骤305,其中,向每一个所分配的引擎分配帧的不同区域。可替代地或者除此之外,在要考虑的图元的数目超过拼贴块存储器的每一个存储器块中的可用空间的情况下,则可向不同的装仓/光栅化引擎分配不同的图元群组,于是每一个装仓/光栅化引擎对同一帧或帧区域进行操作。存储在每一个拼贴块存储器中的信息随后可在其被写入仓存储器时被合并。
在步骤305之后,在步骤310在每一个所分配的引擎内应用几何相交算法,以便针对所分配区域中的每一个拼贴块来确定哪些图元与该拼贴块相交,其中,拼贴块存储器被相应地更新。
图7是更详细图示出根据一个实施例的、可在图6的步骤315执行的步骤的流程图。具体地,图7识别以下情形:其中,如果单个装仓/光栅化引擎被使用,则执行多次迭代的装仓操作是适当的。具体地,当在步骤350分配了单个装仓/光栅化引擎用于装仓时,则在步骤355判断图元的数目是否超过n,即,拼贴块存储器的每一个存储器块内的比特数目。如果是超过了,则处理进行到步骤360,其中,迭代地执行装仓操作,并且针对每一次迭代考虑不同的n个图元。明显地,在最后一次迭代中,可能有少于n个图元被考虑,这是因为图元的总数可能不是n的倍数。
如果在步骤355,判断出图元的数目不大于n,则处理进行到步骤365,其中,判断帧中的拼贴块的数目是否大于拼贴块中的像素数目。如果是,则处理进行到步骤370,其中,迭代地执行装仓操作,并且针对每一次迭代考虑帧的不同区域。如果在步骤365判断出帧中的拼贴块的数目没有超过拼贴块中的像素数目,则可在步骤375执行单次迭代。
另外,将理解,如果图元的数目超过n并且帧中的拼贴块的数目超过了拼贴块中的像素数目,则可能有必要针对特定帧区域执行步骤360,并在随后往前移动到另一帧区域,其中针对该帧区域再次执行步骤360,直到已经针对所有帧区域考虑了所有图元为止。在实践中,在这种情形下,有利的是在装仓处理期间分配多个装仓/光栅化引擎,以便允许显著增大装仓操作的速度。
图8图示出了根据一个实施例的装仓/光栅化引擎的基本结构。具体地,装仓/光栅化引擎400具有选择单元410,该选择单元410被布置来从单元阵列405中选择各个单元。在装仓/光栅化引擎400执行装仓操作的第一操作模式中,每一个单元包括拼贴块,而在装仓/光栅化引擎执行光栅化操作的第二操作模式中,每一个单元包括所分配拼贴块的像素。适于选择供在光栅化引擎内处理的像素的选择单元是公知的,并且任何这种选择单元都可被用来实现组合的装仓/光栅化引擎400中的选择单元410。就选择单元而言,基本操作不管是在执行装仓操作的情况下还是在执行光栅化操作的情况下是相同的,并且仅仅被处置的单元的含义改变了。
当每一个单元被选择单元选择时,该单元被传递到单元处理器415供处理。具体地,单元处理器415运算要与所选单元相关联的输出数据。在装仓操作被执行的第一操作模式中,输出数据指示出多个图元中的哪些图元与所选单元相交,并且单元处理器应用几何相交算法420以确定哪些图元与所选单元相交。在第二操作模式中,输出数据提供针对所选单元的像素数据(这取决于所选单元是如何被图元相交的),一个实施例中的单元处理器应用基于样本的着色算法425以确定像素数据。
在光栅化引擎中使用基于样本的着色算法是公知的,并且任何这种公知的基于样本的着色算法都可用作着色算法425。根据这种基于样本的着色算法,像素内的多个离散采样点被用于确定一像素是否应当被视作图元的一部分。虽然原则上这种基于样本的算法仍然可被用于装仓操作,但是使用这种离散采样点很可能将在装仓操作中错过某些相交点,这是因为在装仓操作中,图元可能在拼贴块内的任何地方与拼贴块相交。因此,在一个实施例中,在由装仓/光栅化引擎400执行的装仓操作期间,单元处理器使用单独的几何相交算法420。存在数种本领域技术人员将理解的合适几何相交算法,因此这里将不再进一步论述这种算法。
如从早先对图3和图4的论述中清楚可见的,通过装仓操作产生的拼贴块列表包括0和1的序列,其中每一个比特与特定图元相关联,逻辑0值指示出该图元不在拼贴块内,而逻辑1值指示出图元在拼贴块内(很好理解的是,在替代实施例中,逻辑0和逻辑1值的含义可以互换)。图9图示出如何在上述处理的优化实施方式中使用合并引擎500来产生供光栅化引擎使用的向量文件。具体地,除了存储在仓存储器62中的上述拼贴块列表之外,还将理解变换存储器64包含针对由变换电路15输出的每一个2D图元的图元描述。合并引擎500接收针对特定拼贴块的拼贴块列表505和针对每一个图元的图元描述510。基于此信息,其在随后产生向量文件520,该向量文件520包括针对与该拼贴块相交的每一个图元的标识符525以及针对该图元的关联描述530。因此,在图9所示的图元2、3、6和7与拼贴块相交的示例中,可以看出向量文件520如图9的右上方所示。向量文件随后由被分配用于在第二操作模式中处理相应拼贴块的装仓/光栅化引擎25、30进行使用。
合并引擎可以各种方式进行构造,但是在一个实施例中其由着色引擎形成。在一个实施例中,这可以是已经在所分配的装仓/光栅化引擎内提供的用于执行作为光栅化处理的一部分的所需着色操作的着色引擎。
虽然一个实施例的图形系统可通过合适硬件(例如,通过诸如图1所示的专用图形处理单元10)来提供,但是在另一个实施例中,图形系统可通过在通用处理器上执行的软件来实现。例如,图10示意性地图示出了可在一个实施例中使用的通用计算机600。通用计算机600包括中央处理单元602、随机访问存储器(RAM)604、只读存储器(ROM)606、网络接口卡608、硬盘驱动器610、显示驱动器612和监视器614、以及具有键盘618和鼠标620的用户输入/输出电路616,它们都经由公共总线622相连。在操作时,中央处理单元602将执行存储在随机访问存储器604、只读存储器606和硬盘驱动器610中的一个或多个中的或者经由网络接口卡608动态下载的计算机程序指令。所执行的处理的结果可经由显示驱动器612和监视器614向用户显示。用于控制通用计算机600的操作的用户输入可经由用户输入/输出电路616从键盘618或鼠标620接收。将了解,计算机程序可用各种不同的计算机语言来编写。计算机程序可被存储以及分发在记录介质上,或者可被动态下载到通用计算机600。
当在适当计算机程序的控制下操作时,通用计算机600可执行上述图形处理技术,并且可被视为形成了用于执行那些技术的装置。具体地,通用软件例程可被提供用于实现装仓/光栅化引擎的功能,在一个操作模式中,该软件例程实现几何相交算法以执行装仓操作,而在另一个操作模式中,该软件例程执行基于样本的着色算法以执行光栅化操作。这避免了作为图形系统的一部分来提供完全分离的装仓实现方式的必要,并且使得提高了图形渲染处理的运行效率。
从上面对实施例的描述中将了解,这种实施例通过允许用于执行装仓和光栅化两者的组合实现方式,避免了在图形系统内提供专用装仓实现方式的必要。在一个具体实施例中,现有光栅化实现方式被修改为支持装仓,于是其能够在第一操作模式中操作来执行装仓操作,或者在第二操作模式中操作来执行光栅化。这可以通过降低能耗和提高性能来显著地改进图形系统的整体操作。在硬件实现方式中,还可以使得减小图形硬件的尺寸,从而促使成本的关联降低。
虽然这里已经描述了具体实施例,但是将了解,本发明不限于此并且在本发明的范围内可以对其进行许多修改和添加。例如,在不脱离本发明的范围的情况下,可将后跟的从属权利要求的特征与独立权利要求的特征进行各种组合。
Claims (19)
1.一种用于针对包括多个拼贴块的帧生成图形数据的拼贴式图形系统,所述系统包括:
输入装置,用于接收所述帧的多个图元;
图形处理电路,被配置为在第一操作模式中和第二操作模式中操作;
在所述第一操作模式中,所述图形处理电路从所述输入装置接收所述多个图元,并被配置为执行装仓操作以针对所述多个拼贴块中的每一个拼贴块来确定拼贴块列表,所述拼贴块列表标识出所述多个图元中的与该拼贴块相交的图元;
在所述第二操作模式中,所述图形处理电路接收所分配的拼贴块的所述拼贴块列表,并被配置为执行光栅化操作以依据所述拼贴块列表来生成所述所分配的拼贴块的图形数据;以及
控制电路,用于控制所述图形处理电路在所述第一操作模式和所述第二操作模式之间切换。
2.根据权利要求1所述的拼贴式图形系统,其中:
所述图形处理电路包括工作存储器,该工作存储器包括多个存储器块;
在所述第一操作模式中,每一个存储器块被与一个拼贴块相关联,并且在装仓操作期间被用于记录所述多个图元中与关联拼贴块相交的图元;并且
在所述第二操作模式中,每一个存储器块与所分配拼贴块的一个像素相关联,并且在所述光栅化操作期间被用于存储针对关联像素生成的像素数据。
3.根据权利要求2所述的拼贴式图形系统,其中:
所述图形处理电路是被修改为支持所述第一操作模式的光栅化电路;并且
所述工作存储器是被提供来由所述光栅化电路在执行光栅化操作时使用的拼贴块存储器,并且被布置为在所述第一操作模式期间被重用来记录所述多个图元中的、与和每一个存储器块相关联的拼贴块相交的图元。
4.根据权利要求3所述的拼贴式图形系统,其中,所述光栅化电路包括:
选择电路,该选择电路从单元阵列中选择各个单元,在所述第一操作模式中每一个单元包括所述拼贴块之一,并且在所述第二操作模式中每一个单元包括所分配拼贴块的一个像素;以及
单元处理电路,用于针对所选择的单元来计算要与该单元相关联的输出数据,在所述第一操作模式中该输出数据指示出所述多个图元中的与所选择的单元相交的图元,并且在所述第二操作模式中该输出数据提供所选择的单元的像素数据,该像素数据取决于所选择的单元是如何与所述多个图元相交的。
5.根据权利要求4所述的拼贴式图形系统,其中,在所述第一操作模式中,所述单元处理电路执行几何相交算法,并且在所述第二操作模式中,所述单元处理电路执行基于样本的着色算法。
6.根据权利要求2所述的拼贴式图形系统,其中:
每一个存储器块包括n个比特;并且
在所述第一操作模式期间,所述图形处理电路针对多达n个图元执行装仓操作。
7.根据权利要求6所述的拼贴式图形系统,其中:
如果所述多个图元超过n个,则所述控制电路被布置来致使所述图形处理电路在所述第一操作模式中迭代地执行所述装仓操作,对于每一次迭代,不同的n个图元被考虑。
8.根据权利要求7所述的拼贴式图形系统,其中:
在各次迭代之间,所述工作存储器的内容被写入仓存储器。
9.根据权利要求2所述的拼贴式图形系统,其中,如果帧中的拼贴块数目超过拼贴块中的像素数目,则所述控制电路被布置来致使所述图形处理电路在所述第一操作模式中迭代地执行所述装仓操作,对于每一次迭代,帧的不同区域被考虑,其中每一个区域具有不超过拼贴块中的像素数目的多个拼贴块。
10.根据权利要求9所述的拼贴式图形系统,其中:
在各次迭代之间,所述工作存储器的内容被写入仓存储器。
11.根据权利要求2所述的拼贴式图形系统,其中,所述工作存储器被设置在所述图形处理电路的本地。
12.根据权利要求1所述的拼贴式图形系统,其中:
所述图形处理电路包括多个图形处理引擎,所述多个图形处理引擎中的每个被所述控制电路控制来在所述第一操作模式中或所述第二操作模式中操作。
13.根据权利要求12所述的拼贴式图形系统,其中:
所述控制电路被布置来将数个所述图形处理引擎置于所述第一操作模式中并将所述帧的不同区域分配给这些图形处理引擎中不同的图形处理引擎,以使得在所述数个图形处理引擎之间并行地执行装仓操作。
14.根据权利要求6所述的拼贴式图形系统,其中:
由所述图形处理电路产生的拼贴块列表包括比特序列,其中每一个比特与相应一个图元相关联并且其值指示出该相应图元是否与关联拼贴块相交;
所述拼贴式图形系统还包括:
合并引擎,用于接收所述拼贴块列表和对每一个图元的描述并用于产生包括多个向量的向量文件,其中每一个向量提供对所述图元中与关联拼贴块相交的一个图元的描述,所述向量文件被在所述第二操作模式中操作时的所述图形处理电路用于生成所述关联拼贴块的图形数据。
15.根据权利要求14所述的拼贴式图形系统,其中,所述合并引擎包括由所述图形处理电路提供的着色引擎。
16.如权利要求1所述的拼贴式图形系统,其中,所述图形处理电路包括用于执行所述装仓操作的着色引擎。
17.一种用于操作数据处理系统以生成包括多个拼贴块的帧的图形数据的方法,所述方法包括以下步骤:
在生成所述图形数据的处理期间,选择性地在第一操作模式和第二操作模式之间切换图形处理逻辑;
当在所述第一操作模式中时,所述图形处理逻辑接收所述帧的多个图元,并执行装仓操作以针对所述多个拼贴块中的每一个拼贴块来确定拼贴块列表,所述拼贴块列表标识出所述多个图元中的与该拼贴块相交的图元;
当在所述第二操作模式中时,所述图形处理逻辑接收所分配的拼贴块的所述拼贴块列表,并执行光栅化操作以依据所述拼贴块列表来生成所述所分配的拼贴块的所述图形数据;以及
当已经针对每一个所述拼贴块执行了光栅化操作时,输出所述帧的所述图形数据。
18.一种包括计算机程序的非瞬时性存储介质,该计算机程序当被在计算机上执行时致使所述计算机执行根据权利要求17所述的生成包括多个拼贴块的帧的图形数据的方法。
19.一种用于针对包括多个拼贴块的帧生成图形数据的拼贴式图形系统,所述系统包括:
输入装置,用于接收所述帧的多个图元;
图形处理装置,用于在第一操作模式中和第二操作模式中操作;
在所述第一操作模式中,所述图形处理装置用于从所述输入装置接收所述多个图元,并用于执行装仓操作以针对所述多个拼贴块中的每一个拼贴块来确定拼贴块列表,所述拼贴块列表标识出所述多个图元中的与该拼贴块相交的图元;
在所述第二操作模式中,所述图形处理装置用于接收所分配的拼贴块的所述拼贴块列表,并用于执行光栅化操作以依据所述拼贴块列表来生成所述所分配的拼贴块的所述图形数据;以及
控制装置,用于控制所述图形处理装置在所述第一操作模式和所述第二操作模式之间切换。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/929,807 US8339409B2 (en) | 2011-02-16 | 2011-02-16 | Tile-based graphics system and method of operation of such a system |
US12/929,807 | 2011-02-16 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102708579A true CN102708579A (zh) | 2012-10-03 |
Family
ID=45814208
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012100372293A Pending CN102708579A (zh) | 2011-02-16 | 2012-02-16 | 拼贴式图形系统和操作这种系统的方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8339409B2 (zh) |
JP (1) | JP5956770B2 (zh) |
CN (1) | CN102708579A (zh) |
GB (1) | GB2488196A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103793893A (zh) * | 2012-10-26 | 2014-05-14 | 辉达公司 | 采用限缓冲区处理的世界和屏幕空间管线间基元重新排序 |
CN106204699A (zh) * | 2014-12-18 | 2016-12-07 | 联发科技股份有限公司 | 3d绘图处理电路及其深度处理方法 |
CN110490963A (zh) * | 2013-03-14 | 2019-11-22 | 想象技术有限公司 | 用隐式几何体进行3d图形渲染 |
WO2020093193A1 (en) * | 2018-11-05 | 2020-05-14 | Commscope, Inc. Of North Carolina | Systems and methods for on-demand display of vector graphic images using raster graphics |
CN115049531A (zh) * | 2022-08-12 | 2022-09-13 | 深流微智能科技(深圳)有限公司 | 图像渲染方法、装置、图形处理设备及存储介质 |
US11562526B2 (en) | 2013-03-14 | 2023-01-24 | Imagination Technologies Limited | 3-D graphics rendering with implicit geometry |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8884963B2 (en) * | 2011-05-04 | 2014-11-11 | Qualcomm Incorporated | Low resolution buffer based pixel culling |
US9183667B2 (en) | 2011-07-15 | 2015-11-10 | Kirill Garanzha | Out-of-core ray tracing with memory-efficient page generation |
US9342322B2 (en) * | 2011-09-12 | 2016-05-17 | Microsoft Technology Licensing, Llc | System and method for layering using tile-based renderers |
US8902228B2 (en) * | 2011-09-19 | 2014-12-02 | Qualcomm Incorporated | Optimizing resolve performance with tiling graphics architectures |
US10242481B2 (en) | 2012-03-15 | 2019-03-26 | Qualcomm Incorporated | Visibility-based state updates in graphical processing units |
GB2500284B (en) | 2012-09-12 | 2014-04-30 | Imagination Tech Ltd | Tile based computer graphics |
US9619865B2 (en) * | 2012-09-17 | 2017-04-11 | Konica Minolta Laboratory U.S.A., Inc. | Resolution-independent display list |
US9317948B2 (en) * | 2012-11-16 | 2016-04-19 | Arm Limited | Method of and apparatus for processing graphics |
JP2014182697A (ja) * | 2013-03-21 | 2014-09-29 | Fujitsu Ltd | 画像表示装置 |
US10204391B2 (en) | 2013-06-04 | 2019-02-12 | Arm Limited | Method of and apparatus for processing graphics |
KR102101834B1 (ko) | 2013-10-08 | 2020-04-17 | 삼성전자 주식회사 | 영상 처리 장치 및 방법 |
US9710881B2 (en) * | 2014-04-05 | 2017-07-18 | Sony Interactive Entertainment America Llc | Varying effective resolution by screen location by altering rasterization parameters |
JP6274962B2 (ja) * | 2014-04-25 | 2018-02-07 | 株式会社スクウェア・エニックス | 情報処理装置、制御方法、プログラム及び記録媒体 |
GB2525666B (en) * | 2014-05-02 | 2020-12-23 | Advanced Risc Mach Ltd | Graphics processing systems |
GB2524121B (en) * | 2014-06-17 | 2016-03-02 | Imagination Tech Ltd | Assigning primitives to tiles in a graphics processing system |
KR102275712B1 (ko) * | 2014-10-31 | 2021-07-09 | 삼성전자주식회사 | 렌더링 방법, 렌더링 장치 및 전자 장치 |
GB2532495B (en) * | 2014-11-21 | 2018-05-02 | Advanced Risc Mach Ltd | Graphics processing systems |
US9601092B2 (en) * | 2015-03-19 | 2017-03-21 | Intel Corporation | Dynamically managing memory footprint for tile based rendering |
KR102354989B1 (ko) * | 2015-04-14 | 2022-01-24 | 삼성전자주식회사 | 경로 렌더링을 위한 타일 비닝을 수행하는 방법 및 장치. |
US9704217B2 (en) | 2015-04-20 | 2017-07-11 | Intel Corporation | Apparatus and method for non-uniform frame buffer rasterization |
GB2546810B (en) * | 2016-02-01 | 2019-10-16 | Imagination Tech Ltd | Sparse rendering |
GB2578320B (en) * | 2018-10-23 | 2023-07-05 | Advanced Risc Mach Ltd | Graphics processing |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW449730B (en) * | 1998-10-14 | 2001-08-11 | Hitachi Ltd | A three dimensional graphic processor |
CN101496066A (zh) * | 2006-08-03 | 2009-07-29 | 高通股份有限公司 | 具有经扩充顶点高速缓冲存储器的图形处理单元 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6636212B1 (en) | 2000-11-14 | 2003-10-21 | Nvidia Corporation | Method and apparatus for determining visibility of groups of pixels |
US6747658B2 (en) * | 2001-12-31 | 2004-06-08 | Intel Corporation | Automatic memory management for zone rendering |
US6825843B2 (en) | 2002-07-18 | 2004-11-30 | Nvidia Corporation | Method and apparatus for loop and branch instructions in a programmable graphics pipeline |
US7777748B2 (en) | 2003-11-19 | 2010-08-17 | Lucid Information Technology, Ltd. | PC-level computing system with a multi-mode parallel graphics rendering subsystem employing an automatic mode controller, responsive to performance data collected during the run-time of graphics applications |
US7053893B1 (en) * | 2003-12-15 | 2006-05-30 | Nvidia Corporation | Position conflict detection and avoidance in a programmable graphics processor using tile coverage data |
US20060209065A1 (en) * | 2004-12-08 | 2006-09-21 | Xgi Technology Inc. (Cayman) | Method and apparatus for occlusion culling of graphic objects |
GB0524804D0 (en) * | 2005-12-05 | 2006-01-11 | Falanx Microsystems As | Method of and apparatus for processing graphics |
US7843468B2 (en) * | 2006-07-26 | 2010-11-30 | Nvidia Corporation | Accellerated start tile search |
JP2008276407A (ja) * | 2007-04-26 | 2008-11-13 | Canon Inc | 画像処理装置及びその方法 |
GB0810311D0 (en) * | 2008-06-05 | 2008-07-09 | Advanced Risc Mach Ltd | Graphics processing systems |
GB2461900B (en) * | 2008-07-16 | 2012-11-07 | Advanced Risc Mach Ltd | Monitoring graphics processing |
US20110043518A1 (en) | 2009-08-21 | 2011-02-24 | Nicolas Galoppo Von Borries | Techniques to store and retrieve image data |
US8854384B2 (en) * | 2010-04-06 | 2014-10-07 | Broadcom Corporation | Method and system for processing pixels utilizing scoreboarding |
US8797325B2 (en) * | 2010-04-27 | 2014-08-05 | Broadcom Corporation | Method and system for decomposing complex shapes into curvy RHTs for rasterization |
-
2011
- 2011-02-16 US US12/929,807 patent/US8339409B2/en active Active
-
2012
- 2012-01-19 GB GB1200857.9A patent/GB2488196A/en not_active Withdrawn
- 2012-02-15 JP JP2012030669A patent/JP5956770B2/ja not_active Expired - Fee Related
- 2012-02-16 CN CN2012100372293A patent/CN102708579A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW449730B (en) * | 1998-10-14 | 2001-08-11 | Hitachi Ltd | A three dimensional graphic processor |
US20030218608A1 (en) * | 1998-10-14 | 2003-11-27 | Chin Ken C. | Three dimensional graphic processor |
CN101496066A (zh) * | 2006-08-03 | 2009-07-29 | 高通股份有限公司 | 具有经扩充顶点高速缓冲存储器的图形处理单元 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103793893A (zh) * | 2012-10-26 | 2014-05-14 | 辉达公司 | 采用限缓冲区处理的世界和屏幕空间管线间基元重新排序 |
CN103793893B (zh) * | 2012-10-26 | 2017-03-01 | 辉达公司 | 采用限缓冲区处理的世界和屏幕空间管线间基元重新排序 |
CN110490963A (zh) * | 2013-03-14 | 2019-11-22 | 想象技术有限公司 | 用隐式几何体进行3d图形渲染 |
US11562526B2 (en) | 2013-03-14 | 2023-01-24 | Imagination Technologies Limited | 3-D graphics rendering with implicit geometry |
CN106204699A (zh) * | 2014-12-18 | 2016-12-07 | 联发科技股份有限公司 | 3d绘图处理电路及其深度处理方法 |
WO2020093193A1 (en) * | 2018-11-05 | 2020-05-14 | Commscope, Inc. Of North Carolina | Systems and methods for on-demand display of vector graphic images using raster graphics |
CN115049531A (zh) * | 2022-08-12 | 2022-09-13 | 深流微智能科技(深圳)有限公司 | 图像渲染方法、装置、图形处理设备及存储介质 |
CN115049531B (zh) * | 2022-08-12 | 2022-10-25 | 深流微智能科技(深圳)有限公司 | 图像渲染方法、装置、图形处理设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
GB201200857D0 (en) | 2012-02-29 |
US8339409B2 (en) | 2012-12-25 |
JP5956770B2 (ja) | 2016-07-27 |
GB2488196A (en) | 2012-08-22 |
US20120206455A1 (en) | 2012-08-16 |
JP2012168951A (ja) | 2012-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102708579A (zh) | 拼贴式图形系统和操作这种系统的方法 | |
US7800611B2 (en) | Graphics hub subsystem for interfacing parallalized graphics processing units (GPUs) with the central processing unit (CPU) of a PC-based computing system having an CPU interface module and a PC bus | |
US7812845B2 (en) | PC-based computing system employing a silicon chip implementing parallelized GPU-driven pipelines cores supporting multiple modes of parallelization dynamically controlled while running a graphics application | |
US9870639B2 (en) | Graphic processing unit and method of performing, by graphic processing unit, tile-based graphics pipeline | |
CN101371247B (zh) | 用于图形处理器的并行阵列结构 | |
US9424617B2 (en) | Graphics command generation device and graphics command generation method | |
JP2008165760A (ja) | グラフィックスを処理する方法および装置 | |
KR102248787B1 (ko) | Gpu의 리소스에 대한 전력 소비 제어방법 및 장치 | |
US20090096798A1 (en) | Graphics Processing and Display System Employing Multiple Graphics Cores on a Silicon Chip of Monolithic Construction | |
JP2014219739A (ja) | 空間を分割してグラフィックスを処理する画像処理装置及び画像処理方法 | |
Frey et al. | Fast Flow-based Distance Quantification and Interpolation for High-Resolution Density Distributions. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20121003 |