利用每像素着色器线程的高效超级采样。公开了用于分派图形处理管线中的像素信息的技术。片段处理单元基于由第一线程所接收的图形基元的第一部分生成包括多个样本的第一像素。片段处理单元针对第一像素计算第一值,其中第一值针对该像素仅被计算一次。片段处理单元针对样本计算第一值集,其中第一值集中的每个值与不同样本相对应,并针对相对应的样本仅被计算一次。片段处理单元将第一值与第一值集中的每个值进行组合以创建第二值集。片段处理单元创建一个或多个个分派消息以将第二值集存储在输出寄存器集中。所公开的技术的一个优点是像素着色器程序以增加的效率实施每样本操作。
【技术实现步骤摘要】
【专利摘要】利用每像素着色器线程的高效超级采样。公开了用于分派图形处理管线中的像素信息的技术。片段处理单元基于由第一线程所接收的图形基元的第一部分生成包括多个样本的第一像素。片段处理单元针对第一像素计算第一值,其中第一值针对该像素仅被计算一次。片段处理单元针对样本计算第一值集,其中第一值集中的每个值与不同样本相对应,并针对相对应的样本仅被计算一次。片段处理单元将第一值与第一值集中的每个值进行组合以创建第二值集。片段处理单元创建一个或多个个分派消息以将第二值集存储在输出寄存器集中。所公开的技术的一个优点是像素着色器程序以增加的效率实施每样本操作。【专利说明】利用每像素着色器线程的高效超级采样
本专利技术总地涉及三维(3D)图形处理,并且更具体地,涉及利用每像素着色器线程的高效超级采样。
技术介绍
典型地,使用带有一个或多个多级图形处理管线的图形处理单元(GPU)来渲染包括3D图形对象的由计算机所生成的图像。这类图形管线包括各种可编程的和固定的功能级(stage)。可编程级包括各种处理单元,其执行着色器程序以渲染图形对象并生成各种与图形对象相关联的视觉效果。可编程级的一个示例是包括像素着色器程序的片段处理单元。像素着色器程序接收诸如线段和三角形的几何片段,并计算每个像素的颜色信息、深度信息以及其他属性。所得的像素信息存储在输出寄存器中。输出寄存器随后由被称为光栅操作单元或ROP的固定功能级进行读取。ROP从像素着色器程序接收像素颜色、深度和其他信息、将该像素信息与存储在一个或多个渲染目标中的相应像素信息进行混合、并将经混合的像素信息存储回一个或多个渲染目标中。典型地,ROP中的混合操作限于固定功能操作集。由于ROP的固定功能性质,所以某些混合效果在ROP内是不可完成的。为了创建这类混合效果,像素着色器程序可包括一个或多个可编程混合特征,此处像素着色器程序直接从渲染目标读取像素信息(目标像素信息)、将像素信息与像素着色器程序所计算的像素信息(源像素信息)进行混合、并将经混合的像素信息存储到输出寄存器中。像素着色器程序灵活地对像素信息实施可编程混合。因此,混合不受包括在ROP中的固定功能混合操作的限制。该方法的一个缺点是,在带有像素着色器程序的多个实例同时运行、或在带有图形处理管线的GPU中通常无法保证像素着色器的处理次序。如果图形对象被以特定次序混合,那么混合操作的某些顺序集将正常实施。在一个示例中,两个图形对象可与给定像素相交。第一图形对象可由第一图形处理管线混合到渲染目标中。第二图形对象可由第二图形处理管线混合到渲染目标中。然而,混合操作的结果可能是不同的,取决于第一图形对象是在第二图形对象之前还是在第二图形对象之后被混合到渲染目标中。结果,GPU将不能正确地一致地混合图形对象。在一些应用中,通过针对每个像素渲染多个样本来改善图像质量,此处每个样本可表示相应像素所覆盖的区域子集。这类模式被称为超级采样模式。在配置为超级采样的渲染目标中,每个像素被存储为多个样本,此处每个样本可包括颜色信息、深度信息和其他属性。利用超级采样,像素着色器程序的单个实例仅针对一个样本计算并存储颜色、深度和相关信息。一旦渲染完成,针对给定像素的样本被组合,这导致用于在显示设备上显示的最终的像素颜色。该方法的一个缺点是,像素着色器程序的每个实例消耗GPU中的分开的处理元件。针对包括四个样本的像素,与每像素仅消耗一个像素着色器相比,超级采样消耗四倍的像素着色器资源。如前述所示,本领域所需要的是用于在图形处理管线中实施像素着色操作的改进的技术。
技术实现思路
本专利技术的一个实施例阐述了一种用于分派(dispatch)图形处理管线中的像素信息的方法。方法包括基于由第一线程所接收的图形基元的第一部分生成包括多个样本的像素。方法进一步包括针对像素计算第一值,其中第一值针对像素仅被计算一次。方法进一步包括针对多个样本中的样本计算第一值集,其中第一值集中的每个值与多个样本中的不同样本相对应,并针对相对应的样本仅被计算一次。方法进一步包括将第一值与第一值集中的每个值进行组合以创建第二值集。方法进一步包括创建一个或多个分派消息以将第二值集存储在输出寄存器集中。其他实施例包括但不限于包括使处理单元能够实现所公开的方法的一个或多个方面的指令的计算机可读介质。其他实施例包括但不限于包括配置为实现所公开的方法的一个或多个方面的处理单元的子系统以及配置为实现所公开的方法的一个或多个方面的系统。所公开的技术的一个优点是,像素着色器程序以增加的效率实施每样本操作。在典型的场景中,像素着色器程序以接近于每像素着色的性能达到每样本像素着色的较高的图像质量。【专利附图】【附图说明】因此,可以详细地理解本专利技术的上述特征,并且可以参考实施例得到对如上面所简要概括的本专利技术更具体的描述,其中一些实施例在附图中示出。然而,应当注意的是,附图仅示出了本专利技术的典型实施例,因此不应被认为是对其范围的限制,本专利技术可以具有其他等效的实施例。图1是示出了配置为实现本专利技术的一个或多个方面的计算机系统的框图;图2是根据本专利技术的一个实施例的、用于图1的计算机系统的并行处理子系统的框图;图3A是根据本专利技术的一个实施例的、图2的PTO之一内的分区单元的框图;图3B是根据本专利技术的一个实施例的、图2的通用处理集群(GPC)内的流多处理器(SM)的一部分的框图;图4是根据本专利技术的一个实施例的、图2的并行处理单元中的一个或多个可经配置以实现的图形处理管线的概念图;图5示出了根据本专利技术的一个实施例的、图4的图形处理管线的片段处理单元;图6示出了根据本专利技术的一个实施例的、图5的片段处理单元内的像素着色器程序;图7A示出了根据本专利技术的一个实施例的、图5的片段处理单元内的输出寄存器的一部分;图7B示出了根据本专利技术的另一个实施例的、图5的片段处理单元内的输出寄存器的一部分;图7C示出了根据本专利技术的再一个实施例的、图5的片段处理单元内的输出寄存器的一部分;图8示出了根据本专利技术的一个实施例的、与多个像素相交的几何基元;图9阐述了根据本专利技术的一个实施例的、用于分派(dispatch)来自图形处理管线中的像素着色器程序的像素值的方法步骤的流程图;以及图10阐述了根据本专利技术的另一个实施例的、用于分派来自图形处理管线中的像素着色器程序的像素值的方法步骤的流程图。【具体实施方式】在下面的描述中,将阐述大量的具体细节以提供对本专利技术更透彻的理解。然而,本领域的技术人员应该清楚,本专利技术可以在没有一个或多个这些具体细节的情况下得以实施。在其他实例中,未描述公知特征以避免对本专利技术造成混淆。系统概述图1为示出了配置为实现本专利技术的一个或多个方面的计算机系统100的框图。计算机系统100包括经由可以包括存储器桥105的互连路径通信的中央处理单元(CPU) 102和系统存储器104。存储器桥105可以是例如北桥芯片,经由总线或其他通信路径106 (例如超传输(HyperTransport)链路)连接到输入/输出(I/O)桥107。I/O桥107,其可以是例如南桥芯片,从一个或多个用户输入设备108 (例如键盘、鼠标)接收用户输入并且经由通信路径106和存储器桥105将该输入转发到CPU102。并行处理子系统112经由总线或第二通信路本文档来自技高网...
【技术保护点】
一种用于分派图形处理管线中的像素信息的方法,所述方法包括:基于由第一线程所接收的图形基元的第一部分生成包括多个样本的第一像素;针对所述第一像素计算第一值,其中所述第一值针对所述第一像素仅被计算一次;针对所述多个样本中的样本计算第一值集,其中所述第一值集中的每个值与所述多个样本中的不同样本相对应,并针对相对应的样本仅被计算一次;将所述第一值与所述第一值集中的每个值进行组合以创建第二值集;以及创建两个或更多个分派消息以将所述第二值集存储在输出寄存器集中。
【技术特征摘要】
...
【专利技术属性】
技术研发人员:杰尔姆·F·小杜鲁克,鲁斯兰·季米特洛夫,埃里克·卢姆,鲁伊·巴斯托斯,
申请(专利权)人:辉达公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。