CN101131768A - 图形管线中基于瓦片的精度的光栅化 - Google Patents

图形管线中基于瓦片的精度的光栅化 Download PDF

Info

Publication number
CN101131768A
CN101131768A CNA2007101300465A CN200710130046A CN101131768A CN 101131768 A CN101131768 A CN 101131768A CN A2007101300465 A CNA2007101300465 A CN A2007101300465A CN 200710130046 A CN200710130046 A CN 200710130046A CN 101131768 A CN101131768 A CN 101131768A
Authority
CN
China
Prior art keywords
precision
rasterisation
unit
level
pixels
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
Application number
CNA2007101300465A
Other languages
English (en)
Other versions
CN101131768B (zh
Inventor
富兰克林·C·克罗
布莱兹·A·维尼翁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nvidia Corp
Original Assignee
Nvidia Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nvidia Corp filed Critical Nvidia Corp
Publication of CN101131768A publication Critical patent/CN101131768A/zh
Application granted granted Critical
Publication of CN101131768B publication Critical patent/CN101131768B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Generation (AREA)

Abstract

本发明提供一种在图形处理器的光栅级中用于基于瓦片的精度的光栅化的方法。所述方法包括:接收图形图元以在图形处理器的光栅级中进行光栅化;及以第一级别精度来光栅化所述图形图元以产生多个像素瓦片。接着以第二级别精度来光栅化所述瓦片,以产生覆盖的像素。接着输出所述覆盖的像素,以在所述图形处理器的随后级中进行渲染操作。

Description

图形管线中基于瓦片的精度的光栅化
技术领域
本发明大体上涉及硬件加速图形计算机系统。
背景技术
计算机性能的最近进展已使得图形系统能够通过使用个人计算机、家用视频游戏计算机、手持装置等来提供更逼真的图形图像。在此类图形系统中,执行多个程序以向系统屏幕“渲染”或绘制图形图元。“图形图元”是图形图片的基本组成部分,例如顶点、多边形等。经渲染的图像由这些图形图元的组合形成。可利用许多程序来执行3-D图形渲染。
已研发出多种专用图形处理单元(例如,GPU等)以优化执行图形渲染程序所需的计算。GPU经配置以进行高速操作且通常并入有一个或一个以上渲染管线。每一管线包括多个基于硬件的功能单元,所述功能单元经优化以高速执行图形指令/数据,其中将指令/数据馈入到管线的前端中,且在管线的后端处出现计算结果。GPU的基于硬件的功能单元、高速缓冲存储器、固件等经优化以对低级图形图元(例如,包含“点”、“线”、“三角形”等)进行操作且产生经实时渲染的3-D图像。
使用光栅显示技术来产生经实时渲染的3-D图像。光栅显示技术广泛用于计算机图形系统中,且一般指代组成图像的多个像素的栅格受图形图元影响的机制。对于每个图元,典型的光栅化系统一般逐像素步进,且按照图元的贡献来确定是否要“渲染”给定像素或将其写入到帧缓冲器或像素映射中。这又确定如何将数据写入代表每个像素的显示缓冲器。
已研发出各种遍历算法和各种光栅化方法,用于以覆盖组成给定3-D场景的图元内所有像素的方式从基于图形图元的描述计算为基于像素的描述(例如,对于每个图元进行逐像素光栅化)。
典型的解决方案涉及以单向方式通过系统地逐行步进越过场景(例如,从左到右)来产生像素,且访问所述场景的每一像素。按照组成所述场景的各个图元的贡献来确定每个像素的覆盖度。其它传统的解决方案涉及利用每像素评估技术来精密评估组成显示器的像素中的每一者,且确定哪些像素由哪些图元覆盖。
一旦图元被光栅化为其组成像素,便接着在光栅化级随后的管线级中寻址这些像素,其中执行渲染操作。一般来说,这些渲染操作根据组成场景的图元的覆盖度来向显示器的像素中的每一者分配颜色。还根据分配给图元的纹理映射信息、光照信息等来确定每像素的颜色。
然而,现有技术3-D渲染结构在符合处理当今应用的日益复杂的3-D场景的能力方面存在问题。计算机屏幕现通常具有1920×1200个像素或更大的屏幕分辨率。现有技术光栅化解决方案越来越成为3-D渲染过程的瓶颈。由于显示屏幕的尺寸不可动摇地增加到(例如)1920个像素宽或更大,因而现有技术的用于光栅化的逐行步进和每像素评估解决方案越来越需要更大的资源来处理计算负荷。为了处理此类大屏幕尺寸,GPU的光栅化资源需要在每时钟周期基础上处理较大数目的每图元评估操作(例如,多边形边缘等式),且需要每图元评估操作处理相应较大数目的像素。因此,典型的现有技术GPU不具有足够的光栅化资源来符合大屏幕尺寸且同时维持可接受的实时3-D渲染性能。
增加3-D渲染性能的传统方法(例如,增加时钟速度)具有例如增加功率消耗和增加由GPU集成电路小芯片产生的热量的负面影响。用于增加性能的其它方法(例如并入较大数目的并行执行单元来并行执行GPU操作)具有例如增加集成电路小芯片尺寸、减少GPU制造过程的产率、增加功率需求等负面影响。
因此,需要一种光栅化过程,其能够符合图形应用需求的要求并提供增加的性能,而不会招致例如功率消耗增加和/或制作产率降低的不利结果。
发明内容
本发明实施例提供一种用于光栅化过程的方法和系统,其能够符合图形应用需求的要求并提供增加的性能,而不会招致例如功率消耗增加和/或制作产率降低的不利结果。
在一个实施例中,本发明实施为一种用于在图形处理器的光栅级中进行基于瓦片的精度的光栅化的方法。所述方法包括接收图形图元以在图形处理器的光栅级中进行光栅化,以及以第一级别精度来光栅化图形图元以产生多个像素瓦片。接着以第二级别精度来光栅化所述瓦片,以产生覆盖的像素。接着输出所述覆盖的像素,以在图形处理器的随后级中进行渲染操作。第一级别精度通常高于第二级别精度,以使得用于以第一级别精度寻址所述多个瓦片的整数值大于用于以第二级别精度寻址多个像素的整数值。
以此方式,可根据需要处理的各个像素或样品的数目来调节所需精度。举例来说,在一个实施例中,以第一级别精度来光栅化图形图元,以寻址组成屏幕图像的多个像素。相应地,在一个实施例中,以第二级别精度来光栅化图形图元,以寻址组成所述多个瓦片中的每一者的多个像素。
通过这种做法,本发明实施例有效利用GPU的光栅化资源来在每时钟周期基础上寻址每图元评估操作(例如,多边形边缘等式),以有效符合大屏幕尺寸且同时维持可接受的实时3-D渲染性能。
附图说明
在附图图式中以实例方式而非以限制方式来说明本发明,其中相同参考标号指代类似元件。
图1展示根据本发明一个实施例的计算机系统。
图2展示根据本发明一个实施例描绘位于屏幕上用于光栅化的多边形201的图。
图3展示根据本发明一个实施例的三角形和沿着光栅化线产生的覆盖瓦片。
图4展示根据本发明一个实施例描绘示范性瓦片的尺度的图。
图5展示根据本发明一个实施例在光栅级内实施的基于瓦片的精度的光栅化过程的图。
图6展示根据本发明实施例描绘包括扩展位的示范性整数操作数的图。
图7展示根据本发明一个实施例的GPU的内部组件的图。
具体实施方式
现将详细参看本发明的优选实施例,附图中说明了所述优选实施例的实例。尽管将结合优选实施例来描述本发明,但将了解不希望其将本发明限于这些实施例。相反,希望本发明涵盖可包含在如所附权利要求书所界定的本发明精神和范围内的替代物、修改和等效物。此外,在本发明实施例的以下详细描述中,陈述多个特定细节以提供对本发明的彻底理解。然而,所属领域的技术人员将认识到可在不存在这些特定细节的情况下实践本发明。在其它例子中,未详细描述众所周知的方法、程序、组件和电路以免不必要地混淆本发明实施例的方面。
符号和术语
从计算机存储器内对数据位所进行的操作的程序、步骤、逻辑块、处理和其他符号表示的角度来展现以下详细描述的某些部分。这些描述和表示是数据处理领域的技术人员用以将其作品实质最有效地传达给所属领域的其他技术人员的方式。程序、计算机执行步骤、逻辑块、处理等在此处且一般被认为是导致希望结果的自相容步骤或指令序列。所述步骤是需要对物理量进行物理操作的步骤。通常(尽管不必要),这些量采用能在计算机系统中存储、传递、组合、比较和以其他方式操纵的电信号或磁信号的形式。已多次证实将这些信号称为位、值、元素、符号、字符、项、数字或类似形式是便利的,主要是因为常见用法的缘故。
然而,应记住所有这些和类似术语与适当物理量相关联且仅仅是应用于这些量的方便标记。除非从以下论述中容易看出另有特别规定,否则理解为在本发明中,使用例如“处理”或“存取”或“执行”或“存储”或“渲染”等术语的论述始终指代计算机系统(例如图1的计算机系统100)或类似电子计算装置的行为和处理,其操纵表示为计算机系统的寄存器和存储器内的物理(电子)量的数据并将其变换为类似地表示为计算机系统存储器或寄存器或其它此类信息存储、传输或显示装置内的物理量的其它数据。
计算机系统平台
图1展示根据本发明的一个实施例的计算机系统100。计算机系统100描绘根据本发明实施例的基本计算机系统的组件,其为特定的基于硬件和基于软件的功能性提供执行平台。一般来说,计算机系统100包含至少一个CPU 101、系统存储器115和至少一个图形处理器单元(GPU)110。所述CPU 101可经由桥接器组件/存储器控制器(未图示)耦合到系统存储器115,或可经由在CPU 101内部的存储器控制器(未图示)直接耦合到系统存储器115。GPU 110耦合到显示器112。一个或一个以上额外GPU可视情况耦合到系统100,以进一步增加其计算能力。GPU 110耦合到CPU 101和系统存储器115。系统100可实施为(例如)桌上型计算机系统或服务器计算机系统,其具有耦合到专用图形渲染GPU 110的强大的通用CPU 101。在此一实施例中,可包括添加外围总线、专门图形存储器、IO装置等的组件。类似地,系统100可实施为手持装置(例如,手机等)或置顶视频游戏控制台装置(例如可从Microsoft Corporation of Redmond,Washington得到的Xbox或可从Sony Computer Entertainment Corporation of Tokyo,Japan得到的PlayStation3)。
应理解,GPU 110可实施为离散组件、经设计以经由连接器(例如,AGP插槽、PCI-Express插槽等)耦合到计算机系统100的离散图形卡、离散集成电路小芯片(例如,直接安装在母板上)或作为包括在计算机系统芯片组组件(未图示)的集成电路小芯片内的集成GPU。另外,可针对GPU 110包括本地图形存储器114以用于高带宽图形数据存储。
本发明实施例
图2展示根据本发明的一个实施例描绘位于屏幕250上用于光栅化的多边形201的图200。
图2描绘根据本发明实施例执行的光栅化过程。在所述光栅化过程期间,多边形(在此情况下为三角形201)的覆盖范围在具有一个或一个以上瓦片的个别部分上方分解为其各个贡献部分(例如,每瓦片32×32个像素、每瓦片16×16个像素、每瓦片8×8个像素等)。对于覆盖较大数目像素的非常大的三角形,界定三角形且因此界定覆盖哪些像素的边缘等式可用完较大数目的位来表示其整数操作数。这是由于这样的事实:需要以足够的精度界定三角形边缘等式,以便允许确定哪些像素由三角形(或其它类型图形图元)覆盖。
图2描绘比较大的屏幕250,在此情况下其横越8k个像素(例如,8192个像素)。使用此类大屏幕250,需要较大数目的位来界定并寻址组成屏幕250的像素,如由示范性线202描绘,其中光栅化器在屏幕250的宽度上从左到右步进越过一行瓦片。
图3展示根据本发明一个实施例的三角形201和沿着光栅化线202产生的覆盖瓦片。如上所述,三角形边缘等式的较大整数操作数用于评估较大三角形(例如,三角形201),并确定哪些瓦片具有覆盖。三角形边缘等式的较大整数操作数用于为所述三角形切割出具有至少某些覆盖的那些瓦片。沿着光栅化线202说明这些瓦片。根据本发明实施例,一旦确定了这些瓦片,便可使用较小整数操作数来评估每一所述瓦片内有哪些像素具有覆盖。此属性利用这样的事实:步进越过瓦片所需的位数目比步进越过大屏幕(例如,屏幕250)所需的位数目小得多。
图4展示根据本发明的一个实施例描绘示范性瓦片400的尺度的图。如上所述,组成瓦片400的像素的数目比组成大屏幕(例如,屏幕250)的像素的数目小得多。举例来说,在一个实施例中,瓦片400具有32像素的宽度和32像素的高度。在另一实施例中,瓦片400具有16像素的宽度和16像素的高度。
对于图2的全屏幕图像250,三角形边缘等式需要能够寻址相对较大数目的像素(例如,4096或8192个像素)。这意味着三角形边缘等式操作数使用13或14个位(例如,13位x维度操作数和13位y维度操作数)。在后续光栅化操作中(例如,在细光栅化期间),计算仅需要寻址各个瓦片(例如瓦片400(例如,16×16个像素))内所所发生的事物。对于这些情形,在每个维度上仅寻址16个像素是足够的。因而,举例来说,所述算法仅需要提供三或四位整数像素地址而不是13或14位。因此,对于这些稍后光栅化操作,通过消除最高有效10位(举例来说),给定光栅化器级可节省大量硅面积而不会损失有用精度。举例来说,在一个实施方案中,光栅化过程被划分为粗光栅化和细光栅化。在细光栅化期间,当在32×32瓦片内工作时,精度从13或14位调节到5位。
节省的硅面积提供许多优点。举例来说,节省的硅面积可用于其它用途,例如较大的存储器超高速缓存、更强大的ALU等。类似地,较小整数操作数降低了存储操作数所需的硅面积。节省的硅面积还会改进整个GPU制作过程的产率,且降低所得GPU小芯片的功率消耗。
因此,举例来说,在光栅化器与大屏幕250一起作用的情况下,为了执行初始光栅化,光栅化器需要能够寻址屏幕250的8K范围内的各个像素,从而导致较大整数操作数(例如,14、15位或更多)。一旦切割出各个瓦片,光栅化器便仅需要在组成瓦片400的所述数目的像素内工作。因此,在瓦片400为32个像素宽的情况下,光栅化器仅需要在宽度维度上寻址32个像素,这仅需要5个位。类似地,在瓦片为8个像素宽的情况下,光栅化器级仅需要在每一维度上寻址8个像素,这仅需要每维度3个位。
换句话说,一旦光栅化过程进行到瓦片级别,精度的整数级别便可降低为足以覆盖界定所述瓦片的像素范围。对于执行多级别光栅化的光栅化级,随着瓦片尺寸进一步沿着光栅化管线向下而变小,重复此过程。精度相应地降低以匹配组成所述瓦片的像素数目乃至组成所述瓦片的样品数目。
图5展示根据本发明一个实施例在光栅级500内实施的基于瓦片的精度的光栅化过程的图。如图5描绘,当光栅级以屏幕相关的精度尺度(例如,图2的屏幕250)进行操作时,三角形边缘等式操作数具有第一整数精度级别,展示为整数精度级别501。当光栅级(例如)在组成各个瓦片(例如,图4的瓦片400)的像素内以第二级别瓦片相关的精度进行操作时,三角形边缘等式操作数向下调节到第二精度级别,从而产生较小的整数操作数,展示为整数精度级别502。因此,当光栅级(例如)在瓦片400的子部分(例如,在瓦片400被进一步划分成较小子瓦片的情况下)内或用各个像素的样品以第三级别瓦片相关的精度进行操作时,三角形边缘等式操作数向下调节到第三精度级别,从而产生较小的整数操作数,展示为整数精度级别503。
以此方式,每当降低瓦片尺寸时,可相应地降低寻址组成所述瓦片的像素所需的精度。在计算样品时类似地降低精度。
图6展示根据本发明实施例描绘包括扩展位601的示范性整数操作数的图600。图6描绘扩展位601的可选使用的使用,所述扩展位601可添加为操作数的最高有效位,以指示三角形(例如,三角形201)的边缘位于瓦片边界以外的那些情况。举例来说,在一个实施例中,扩展位601将由光栅级的硬件用以指示覆盖范围延伸超过瓦片边界,就好像边缘在无限远处一样。
图7展示根据本发明一个实施例的GPU 110的内部组件的图。如图7所示,GPU 110包括设置引擎701和光栅化器单元702。在本实施例中,本发明的功能性在光栅化器单元702的硬件和软件内实施。一般来说,光栅化器单元702通过将从设置引擎701接收到的基于顶点的描述转换为基于边缘描述的描述来起作用。光栅化器单元702随后将这些边缘描述转换为组成实际像素描述的填充区域(例如,像素区域、像素子样品等)。随后将像素描述传递到GPU 110内的其它单元以供进一步处理和渲染。
在本实施例中,光栅化器单元702包括粗光栅组件703和细光栅组件704。粗光栅组件703在快速搜索瓦片栅格以识别所关注的瓦片(例如,由图元覆盖的瓦片)时实施第一少许精度瓦片光栅化过程(如上所述)。一旦识别到所关注的瓦片群组,细光栅组件704单独识别由图元覆盖的像素。因此,在此类实施例中,粗光栅组件703通过使用瓦片来快速搜索像素栅格,且细光栅组件704使用由粗光栅组件703产生的信息,并通过单独识别由图元覆盖的像素来实施第二级别精度细粒度光栅化。
仍参看图7,CPU 110进一步包括高速缓冲存储器721,其通过针对最频繁使用的图形渲染数据实施高速低等待时间存储来起作用。此类数据通常包含纹理信息、顶点信息、颜色等。高速缓冲存储器721展示为耦合到本地图形存储器114。高速缓冲存储器721利用一个或一个以上高速缓冲维持机制来维持与本地图形存储器114的一致性。箭头740展示GPU 110与系统存储器(例如,图1所示的存储器115)之间的通信路径。
在一个实施例中,包含光栅单元702的硬件经优化以在每时钟基础上进行操作。举例来说,为了提供高处理量且因此维持高渲染帧速率,粗光栅组件703和细光栅组件704包含经设计以在每时钟周期基础上实施第一级别精度光栅化和第二级别精度光栅化的硬件。光栅化器单元702可经实施以使得在粗光栅组件703中实施第一级别光栅化,所述粗光栅组件703在单个时钟周期内“切割出”覆盖给定图元的瓦片。随后,在细光栅组件704中实施具有第二级别精度的光栅化,所述细光栅组件704在单个时钟周期中切割出瓦片的覆盖的像素。因此,举例来说,可每时钟处理64个像素的硬件将使用64像素占地面积(例如,四个每一者具有16个像素的瓦片),而可每时钟处理128个像素的硬件将使用128个像素占地面积(例如,八个每一者具有16个像素的瓦片、四个每一者具有32个像素的瓦片等)。
出于说明和描述目的展现了对本发明特定实施例的以上描述。不希望它们为详尽的或将本发明限于所揭示的精确形式,且能够根据以上教示作出多种修改和改变。选择并描述所述实施例是为了最好地解释本发明原理和其实际应用,因而使得所属领域的技术人员能够最好地利用本发明和具有适合于所希望的特定使用的各种修改的各种实施例。希望本发明范围由所附权利要求书和其等效物界定。

Claims (20)

1.一种在图形处理器的光栅级中用于基于瓦片的精度的光栅化的方法,其包含:
接收图形图元以在图形处理器的光栅级中进行光栅化;
以第一级别精度来光栅化所述图形图元以产生多个像素瓦片;以及
以第二级别精度来光栅化所述瓦片以产生覆盖的像素;以及
输出所述覆盖的像素以在所述图形处理器的随后级中进行渲染操作。
2.根据权利要求1所述的方法,其中所述第一级别精度高于所述第二级别精度。
3.根据权利要求2所述的方法,其中用于以所述第一级别精度寻址所述多个瓦片的整数值大于用于以所述第二级别精度寻址多个像素的整数值。
4.根据权利要求1所述的方法,其中以所述第一级别精度来光栅化所述图形图元,以寻址组成屏幕图像的多个像素。
5.根据权利要求1所述的方法,其中以所述第二级别精度来光栅化所述图形图元,以寻址组成所述多个瓦片中的每一者的多个像素。
6.根据权利要求5所述的方法,其中将所述多个瓦片中的每一者划分为至少两个部分,且其中以第三级别精度来光栅化所述至少两个部分以寻址组成每个部分的多个像素。
7.根据权利要求1所述的方法,其中在每时钟周期基础上实施所述具有所述第一级别精度的光栅化。
8.根据权利要求1所述的方法,其中在每时钟周期基础上实施所述具有所述第二级别精度的光栅化。
9.根据权利要求1所述的方法,其中在粗光栅单元中实施具有所述第一级别精度的光栅化,且在细光栅单元中实施具有所述第二级别精度的光栅化。
10.一种GPU(图形处理器单元),其包含:
设置单元,其用于产生多边形描述;
光栅化器单元,其耦合到所述设置单元,用于光栅化所述多边形描述;
粗光栅单元,其位于所述光栅化器单元内,用于以第一级别精度来光栅化图形图元,以产生多个像素瓦片;以及
细光栅单元,其位于所述光栅化器单元内,用于以第二级别精度来光栅化所述图形图元以产生覆盖的像素,以在所述图形处理器的随后级中进行渲染操作。
11.根据权利要求9所述的GPU,其中所述第一级别精度高于所述第二级别精度。
12.根据权利要求10所述的GPU,其中用于以所述第一级别精度寻址所述多个瓦片的整数值大于用于以所述第二级别精度寻址多个像素的整数值。
13.根据权利要求10所述的GPU,其中以所述第一级别精度来光栅化所述图形图元,以寻址组成屏幕图像的多个像素。
14.根据权利要求10所述的GPU,其中以所述第二级别精度来光栅化所述图形图元,以寻址组成所述多个瓦片中的每一者的多个像素。
15.根据权利要求14所述的GPU,其中将所述多个瓦片中的每一者划分为至少两个部分,且其中以第三级别精度来光栅化所述至少两个部分以寻址组成每个部分的多个像素。
16.根据权利要求10所述的GPU,其中在每时钟周期基础上实施所述具有所述第一级别精度的光栅化。
17.根据权利要求10所述的GPU,其中在每时钟周期基础上实施所述具有所述第二级别精度的光栅化。
18.一种计算机系统,其包含:
系统存储器;
中央处理器单元,其耦合到所述系统存储器;以及
图形处理器单元,其以通信方式耦合到所述中央处理器单元;
设置单元,其位于所述图形处理器单元内,用于产生多边形描述;
光栅化器单元,其位于所述图形处理器单元内且耦合到所述设置单元,用于光栅化所述多边形描述;以及
粗光栅组件,其位于所述光栅单元内,其中所述粗光栅化器组件经配置以:接收图形图元以在图形处理器的光栅级中进行光栅化;以第一级别精度来光栅化所述图形图元以产生多个像素瓦片;及以第二级别精度来光栅化所述瓦片以产生覆盖的像素;且其中输出所述覆盖的像素以在所述图形处理器的随后级中进行渲染操作。
19.根据权利要求18所述的计算机系统,其中所述第一级别精度高于所述第二级别精度。
20.根据权利要求19所述的计算机系统,其中用于以所述第一级别精度寻址所述多个瓦片的整数值大于用于以所述第二级别精度寻址多个像素的整数值。
CN2007101300465A 2006-07-26 2007-07-25 图形管线中基于瓦片的精度的光栅化 Active CN101131768B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/494,398 2006-07-26
US11/494,398 US9070213B2 (en) 2006-07-26 2006-07-26 Tile based precision rasterization in a graphics pipeline

Publications (2)

Publication Number Publication Date
CN101131768A true CN101131768A (zh) 2008-02-27
CN101131768B CN101131768B (zh) 2011-10-26

Family

ID=38985712

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007101300465A Active CN101131768B (zh) 2006-07-26 2007-07-25 图形管线中基于瓦片的精度的光栅化

Country Status (5)

Country Link
US (1) US9070213B2 (zh)
JP (1) JP4598030B2 (zh)
KR (1) KR100902974B1 (zh)
CN (1) CN101131768B (zh)
TW (1) TWI386862B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102016926A (zh) * 2008-04-21 2011-04-13 高通股份有限公司 具有混合精度指令执行的可编程串流处理器
CN104933750A (zh) * 2014-03-18 2015-09-23 英特尔公司 用于后排序体系结构的紧凑深度平面表示
CN105122310A (zh) * 2013-04-11 2015-12-02 高通股份有限公司 用于基于瓦片的渲染的帧内时戳

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8732644B1 (en) 2003-09-15 2014-05-20 Nvidia Corporation Micro electro mechanical switch system and method for testing and configuring semiconductor functional circuits
US8872833B2 (en) 2003-09-15 2014-10-28 Nvidia Corporation Integrated circuit configuration system and method
US8775997B2 (en) * 2003-09-15 2014-07-08 Nvidia Corporation System and method for testing and configuring semiconductor functional circuits
US8711161B1 (en) 2003-12-18 2014-04-29 Nvidia Corporation Functional component compensation reconfiguration system and method
US8723231B1 (en) 2004-09-15 2014-05-13 Nvidia Corporation Semiconductor die micro electro-mechanical switch management system and method
US8711156B1 (en) 2004-09-30 2014-04-29 Nvidia Corporation Method and system for remapping processing elements in a pipeline of a graphics processing unit
US8427496B1 (en) 2005-05-13 2013-04-23 Nvidia Corporation Method and system for implementing compression across a graphics bus interconnect
US8698811B1 (en) 2005-12-15 2014-04-15 Nvidia Corporation Nested boustrophedonic patterns for rasterization
US9117309B1 (en) 2005-12-19 2015-08-25 Nvidia Corporation Method and system for rendering polygons with a bounding box in a graphics processor unit
US8390645B1 (en) 2005-12-19 2013-03-05 Nvidia Corporation Method and system for rendering connecting antialiased line segments
US8928676B2 (en) 2006-06-23 2015-01-06 Nvidia Corporation Method for parallel fine rasterization in a raster stage of a graphics pipeline
US8427487B1 (en) 2006-11-02 2013-04-23 Nvidia Corporation Multiple tile output using interface compression in a raster stage
US8237738B1 (en) 2006-11-02 2012-08-07 Nvidia Corporation Smooth rasterization of polygonal graphics primitives
US8482567B1 (en) 2006-11-03 2013-07-09 Nvidia Corporation Line rasterization techniques
US8724483B2 (en) 2007-10-22 2014-05-13 Nvidia Corporation Loopback configuration for bi-directional interfaces
US8780123B2 (en) 2007-12-17 2014-07-15 Nvidia Corporation Interrupt handling techniques in the rasterizer of a GPU
US9064333B2 (en) 2007-12-17 2015-06-23 Nvidia Corporation Interrupt handling techniques in the rasterizer of a GPU
US8681861B2 (en) 2008-05-01 2014-03-25 Nvidia Corporation Multistandard hardware video encoder
US8923385B2 (en) 2008-05-01 2014-12-30 Nvidia Corporation Rewind-enabled hardware encoder
US20110063304A1 (en) 2009-09-16 2011-03-17 Nvidia Corporation Co-processing synchronizing techniques on heterogeneous graphics processing units
US9530189B2 (en) 2009-12-31 2016-12-27 Nvidia Corporation Alternate reduction ratios and threshold mechanisms for framebuffer compression
US9331869B2 (en) 2010-03-04 2016-05-03 Nvidia Corporation Input/output request packet handling techniques by a device specific kernel mode driver
US9171350B2 (en) 2010-10-28 2015-10-27 Nvidia Corporation Adaptive resolution DGPU rendering to provide constant framerate with free IGPU scale up
US9019292B2 (en) 2011-09-12 2015-04-28 Microsoft Technology Licensing Llc Reordering graph execution for processing optimization
US9218679B2 (en) * 2012-10-08 2015-12-22 Intel Corporation Reduced bitcount polygon rasterization
US9607407B2 (en) 2012-12-31 2017-03-28 Nvidia Corporation Variable-width differential memory compression
US9591309B2 (en) 2012-12-31 2017-03-07 Nvidia Corporation Progressive lossy memory compression
US9947084B2 (en) 2013-03-08 2018-04-17 Nvidia Corporation Multiresolution consistent rasterization
US9390541B2 (en) * 2013-04-09 2016-07-12 Intel Corporation Programmable tile shader
US9710894B2 (en) 2013-06-04 2017-07-18 Nvidia Corporation System and method for enhanced multi-sample anti-aliasing
KR102188543B1 (ko) 2014-02-07 2020-12-08 삼성전자주식회사 그래픽 처리 장치
KR20150095144A (ko) 2014-02-12 2015-08-20 삼성전자주식회사 그래픽스 데이터를 렌더링하는 방법 및 장치
WO2016028293A1 (en) * 2014-08-20 2016-02-25 Landmark Graphics Corporation Optimizing computer hardware resource utilization when processing variable precision data

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4208810A (en) * 1978-09-11 1980-06-24 The Singer Company Clipping polygon faces through a polyhedron of vision
US4918626A (en) * 1987-12-09 1990-04-17 Evans & Sutherland Computer Corp. Computer graphics priority system with antialiasing
US5303334A (en) 1992-03-05 1994-04-12 Adobe Systems Incorporated System for generating a rasterized graphic image
TW241196B (zh) * 1993-01-15 1995-02-21 Du Pont
US5543935A (en) * 1994-11-18 1996-08-06 Xerox Corporation Halftoning method using space filling curves
US5786826A (en) * 1996-01-26 1998-07-28 International Business Machines Corporation Method and apparatus for parallel rasterization
US6160557A (en) * 1996-10-17 2000-12-12 International Business Machines Corporation Method and apparatus providing efficient rasterization with data dependent adaptations
JP2915363B2 (ja) 1996-11-05 1999-07-05 核燃料サイクル開発機構 空間探索システム
JPH11195132A (ja) 1997-10-31 1999-07-21 Hewlett Packard Co <Hp> テクスチャマッピング用バッファ、3次元グラフィクス処理装置、3次元グラフィクス処理システム、3次元グラフィクス処理方法および処理プログラムが記憶された記憶媒体
US6259460B1 (en) * 1998-03-26 2001-07-10 Silicon Graphics, Inc. Method for efficient handling of texture cache misses by recirculation
US6611272B1 (en) * 1998-07-02 2003-08-26 Microsoft Corporation Method and apparatus for rasterizing in a hierarchical tile order
US7068272B1 (en) * 2000-05-31 2006-06-27 Nvidia Corporation System, method and article of manufacture for Z-value and stencil culling prior to rendering in a computer graphics processing pipeline
US6480205B1 (en) * 1998-07-22 2002-11-12 Nvidia Corporation Method and apparatus for occlusion culling in graphics systems
US6771264B1 (en) * 1998-08-20 2004-08-03 Apple Computer, Inc. Method and apparatus for performing tangent space lighting and bump mapping in a deferred shading graphics processor
US6614448B1 (en) * 1998-12-28 2003-09-02 Nvidia Corporation Circuit and method for displaying images using multisamples of non-uniform color resolution
US6323874B1 (en) * 1999-02-08 2001-11-27 Silicon Graphics, Inc. System and method for rendering an image
JP4332934B2 (ja) * 1999-06-17 2009-09-16 株式会社セガ アンチエイリアシング方法及びこれを用いた画像処理装置
EP1211271B1 (en) * 1999-09-03 2005-12-21 Nippon Soda Co., Ltd. Alkenylphenol copolymer and process for producing the same
US7002591B1 (en) * 2000-08-23 2006-02-21 Nintendo Co., Ltd. Method and apparatus for interleaved processing of direct and indirect texture coordinates in a graphics system
US6597356B1 (en) * 2000-08-31 2003-07-22 Nvidia Corporation Integrated tessellator in a graphics processing unit
US6961057B1 (en) * 2000-10-12 2005-11-01 Nvidia Corporation Method and apparatus for managing and accessing depth data in a computer graphics system
US6900800B2 (en) * 2001-02-27 2005-05-31 David Robert Baldwin Tile relative origin for plane equations
US6803916B2 (en) * 2001-05-18 2004-10-12 Sun Microsystems, Inc. Rasterization using two-dimensional tiles and alternating bins for improved rendering utilization
US6924820B2 (en) * 2001-09-25 2005-08-02 Sun Microsystems, Inc. Over-evaluating samples during rasterization for improved datapath utilization
US6938176B1 (en) * 2001-10-05 2005-08-30 Nvidia Corporation Method and apparatus for power management of graphics processors and subsystems that allow the subsystems to respond to accesses when subsystems are idle
US6836808B2 (en) * 2002-02-25 2004-12-28 International Business Machines Corporation Pipelined packet processing
US7636095B2 (en) * 2002-09-06 2009-12-22 Ati Technologies, Inc. Pixel delta interpolation method and apparatus
US7075542B1 (en) * 2002-11-12 2006-07-11 Ati Technologies Inc. Selectable multi-performance configuration
US7061495B1 (en) * 2002-11-18 2006-06-13 Ati Technologies, Inc. Method and apparatus for rasterizer interpolation
US7633506B1 (en) * 2002-11-27 2009-12-15 Ati Technologies Ulc Parallel pipeline graphics system
US6933945B2 (en) * 2003-03-31 2005-08-23 Sun Microsystems, Inc. Design for a non-blocking cache for texture mapping
US6956579B1 (en) * 2003-08-18 2005-10-18 Nvidia Corporation Private addressing in a multi-processor graphics processing system
US20050122338A1 (en) * 2003-12-05 2005-06-09 Michael Hong Apparatus and method for rendering graphics primitives using a multi-pass rendering approach
JP4064339B2 (ja) 2003-12-19 2008-03-19 株式会社東芝 描画処理装置、描画処理方法および描画処理プログラム
US7505043B2 (en) * 2004-08-30 2009-03-17 Qualcomm Incorporated Cache efficient rasterization of graphics data
US20060170703A1 (en) * 2005-02-01 2006-08-03 Via Technologies, Inc. Color compression using an edge data bitmask in a multi-sample anti-aliasing scheme
JP4218840B2 (ja) * 2005-05-27 2009-02-04 株式会社ソニー・コンピュータエンタテインメント 描画処理装置および描画処理方法
US7483029B2 (en) * 2005-12-15 2009-01-27 Nvidia Corporation GPU having raster components configured for using nested boustrophedonic patterns to traverse screen areas
US7634637B1 (en) * 2005-12-16 2009-12-15 Nvidia Corporation Execution of parallel groups of threads with per-instruction serialization
US7965902B1 (en) * 2006-05-19 2011-06-21 Google Inc. Large-scale image processing using mass parallelization techniques
US20070268298A1 (en) * 2006-05-22 2007-11-22 Alben Jonah M Delayed frame buffer merging with compression
TW200744019A (en) * 2006-05-23 2007-12-01 Smedia Technology Corp Adaptive tile depth filter
US8928676B2 (en) 2006-06-23 2015-01-06 Nvidia Corporation Method for parallel fine rasterization in a raster stage of a graphics pipeline
US7843468B2 (en) * 2006-07-26 2010-11-30 Nvidia Corporation Accellerated start tile search

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102016926A (zh) * 2008-04-21 2011-04-13 高通股份有限公司 具有混合精度指令执行的可编程串流处理器
CN102016926B (zh) * 2008-04-21 2014-01-08 高通股份有限公司 具有混合精度指令执行的可编程串流处理器
US8633936B2 (en) 2008-04-21 2014-01-21 Qualcomm Incorporated Programmable streaming processor with mixed precision instruction execution
CN105122310A (zh) * 2013-04-11 2015-12-02 高通股份有限公司 用于基于瓦片的渲染的帧内时戳
CN105122310B (zh) * 2013-04-11 2018-06-26 高通股份有限公司 用于基于瓦片的渲染的帧内时戳
CN104933750A (zh) * 2014-03-18 2015-09-23 英特尔公司 用于后排序体系结构的紧凑深度平面表示
CN104933750B (zh) * 2014-03-18 2020-09-04 英特尔公司 一种紧凑深度平面表示的方法、装置及介质

Also Published As

Publication number Publication date
JP4598030B2 (ja) 2010-12-15
KR100902974B1 (ko) 2009-06-15
KR20080010361A (ko) 2008-01-30
TW200818054A (en) 2008-04-16
US20080024497A1 (en) 2008-01-31
US9070213B2 (en) 2015-06-30
TWI386862B (zh) 2013-02-21
JP2008097583A (ja) 2008-04-24
CN101131768B (zh) 2011-10-26

Similar Documents

Publication Publication Date Title
CN101131768B (zh) 图形管线中基于瓦片的精度的光栅化
CN101114375B (zh) 加速的起始瓦片搜索
US8928676B2 (en) Method for parallel fine rasterization in a raster stage of a graphics pipeline
US7483029B2 (en) GPU having raster components configured for using nested boustrophedonic patterns to traverse screen areas
EP3180773B1 (en) Bandwidth reduction using texture lookup by adaptive shading
US7663621B1 (en) Cylindrical wrapping using shader hardware
JP5336067B2 (ja) グラフィックスを処理する方法および装置
US8325203B1 (en) Optimal caching for virtual coverage antialiasing
US8427487B1 (en) Multiple tile output using interface compression in a raster stage
KR102545172B1 (ko) 샘플링 기반의 렌더링을 수행하는 그래픽 프로세서 및 그 동작방법
CN103003839A (zh) 反锯齿样本的拆分存储
US8773447B1 (en) Tag logic scoreboarding in a graphics pipeline
US8508544B1 (en) Small primitive detection to optimize compression and decompression in a graphics processor
US20030231176A1 (en) Memory access device, semiconductor device, memory access method, computer program and recording medium
JP2004317878A (ja) グラフィックスプロセッサ、グラフィックスカード及びグラフィックス処理システム
US8085264B1 (en) Tile output using multiple queue output buffering in a raster stage
US9123173B2 (en) Method for rasterizing non-rectangular tile groups in a raster stage of a graphics pipeline
US8698811B1 (en) Nested boustrophedonic patterns for rasterization
US9183607B1 (en) Scoreboard cache coherence in a graphics pipeline
CN109978750B (zh) 执行基于采样的渲染的图形处理器和操作其的方法
JP4419480B2 (ja) 画像処理装置およびその方法
US8564598B2 (en) Parallelogram unified primitive description for rasterization

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant