在Z-剔除之后去除或识别重叠片段制造技术

技术编号:21665991 阅读:16 留言:0更新日期:2019-07-20 07:37
公开了用于在z‑剔除之后去除或识别片段流中的重叠片段的技术。所述技术包括维持存储z‑剔除后片段的先进先出缓冲区。每当在所述缓冲区处接收到新片段时,对照所述缓冲区中的所有其他片段检查所述片段的所述屏幕位置。如果所述片段的所述屏幕位置与所述缓冲区中的片段的所述屏幕位置匹配,则将所述缓冲区中的所述片段去除或标记为重叠。如果所述片段的所述屏幕位置与所述缓冲区中的任何片段的所述屏幕位置都不匹配,则不对所述缓冲区中已有的片段执行修改。在任一种情况下,所述片段都被添加到所述缓冲区。所述缓冲区的内容被传输到所述像素着色器以便稍后进行像素着色。

Removal or recognition of overlapping fragments after Z-deletion

【技术实现步骤摘要】
【国外来华专利技术】在Z-剔除之后去除或识别重叠片段相关申请的交叉引用本申请要求2016年12月9日提交的美国专利申请号15/374,752和2016年12月13日提交的欧洲申请号EP16203877.2的权益,这两个申请如同在本文完整阐述一样以引用的方式并入。
所公开的实施方案总体上涉及图形处理,且具体地涉及在z-剔除之后去除被遮挡的片段。
技术介绍
用于渲染三维图形的硬件接受指定要绘制到屏幕的图元的输入、将该输入转换为三角形,并处理三角形以生成用于在屏幕上显示的颜色。该过程包括像素着色,所述像素着色是确定像素颜色的过程。像素着色通常涉及至少一些“过度绘制”,当像素着色器不必要地计算特定像素的多于一种颜色时(当最终仅使用一种颜色时),会出现这种情况。例如,当两个三角形在屏幕空间中重叠时,可能发生过度绘制。在这种情况下,像素着色器可确定第一三角形内的像素的第一颜色,然后确定第二三角形内的相同像素的第二颜色。可仅使用一个这样的像素,因此丢弃所确定的颜色值中的一个。减少过度绘制是提高图形处理硬件性能的重要方面。附图说明可从结合附图以举例的方式给出的以下描述中获得更详细的了解,在附图中:图1为可实现一个或多个公开的实施方案的示例性装置的框图;图2为根据示例的加速处理装置的框图;图3为示出了图2所示的图形处理流水线的附加细节的框图;图4为根据示例的由图3的入库器执行的操作的图示;图5为根据示例的由图3的扫描转换器和图3的z-剔除单元执行的操作的图示;图6为根据示例的用于丢弃被后来接收的片段遮挡的片段的方法的流程图;并且图7示出了根据示例的用于丢弃被后来接收的片段遮挡的片段的示例性操作。具体实施方式本公开涉及用于在完成z-剔除之后去除或识别片段流中的重叠片段的技术。所述技术包括维持存储z-剔除后片段的先进先出(“FIFO”)缓冲区。每当在缓冲区处接收到新片段时,对照缓冲区中的所有其他片段检查片段的屏幕位置。如果片段的屏幕位置与缓冲区中的片段的屏幕位置匹配,则将缓冲区中的片段去除或标记为重叠。如果片段的屏幕位置与缓冲区中的任何片段的屏幕位置都不匹配,则不对缓冲区中已有的片段执行修改。在任一种情况下,片段都被添加到缓冲区。缓冲区的内容被传输到像素着色器以便稍后进行像素着色。图1为实现本公开的一个或多个方面的示例性装置100的框图。例如,装置100包括计算机、游戏装置、手持式装置、机顶盒、电视机、移动电话或平板计算机。装置100包括处理器102、存储器104、存储装置106、一个或多个输入装置108以及一个或多个输出装置110。装置100还包括分别驱动输入装置108和输出装置110的输入驱动器112和输出驱动器114。应理解,装置100可包括图1中未示出的其他部件。处理器102包括中央处理单元(CPU)、图形处理单元(GPU)、位于同一晶粒上的CPU和GPU,或一个或多个处理器核心,其中每个处理器核心可以是CPU或GPU。存储器104与处理器102位于同一晶粒上,或可与处理器102分开定位。存储器104包括易失性或非易失性存储器,例如随机存取存储器(RAM)、动态RAM或高速缓存。存储装置106包括固定或可移动存储装置,例如硬盘驱动器、固态驱动器、光盘或闪存驱动器。输入装置108包括键盘、小键盘、触摸屏、触摸板、检测器、麦克风、加速计、陀螺仪、生物识别扫描器或网络连接件(例如,用于发射和/或接收无线IEEE802信号的无线局域网卡)。输出装置110包括显示器、扬声器、打印机、触觉反馈装置、一个或多个灯、天线或网络连接件(例如,用于发射和/或接收无线IEEE802信号的无线局域网卡)。输入驱动器112与处理器102和输入装置108通信,并且容许处理器102接收来自输入装置108的输入。输出驱动器114与处理器102和输出装置110通信,并且容许处理器102向输出装置110发送输出。输出驱动器114包括耦合到显示装置118的加速处理装置(“APD”)116。APD116被配置为接受来自处理器102的计算命令和图形渲染命令,处理那些计算和图形渲染命令,并向显示装置118提供像素输出以进行显示。APD116包括被配置为根据单指令多数据(“SIMD”)范式执行计算的一个或多个并行处理单元。然而,描述为由APD116执行的功能也可由不根据SIMD范式处理数据的处理装置来执行。图2为根据示例的加速处理装置116的框图。处理器102在系统存储器104中维持一个或多个控制逻辑模块,以供处理器102执行。控制逻辑模块包括操作系统120、驱动器122和应用程序126。这些控制逻辑模块控制处理器102和APD116的操作的各个方面。例如,操作系统120直接与硬件通信,并且为在处理器102上执行的其他软件提供到硬件的接口。驱动器122通过例如向在处理器102上执行的软件(例如,应用126)提供应用编程接口(“API”)来访问APD116的各种功能来控制APD116的操作。驱动器122还包括即时编译器,该即时编译器编译用于由APD116的处理部件(诸如下面更详细讨论的SIMD单元138)执行的程序。APD116执行用于选定功能的命令和程序,诸如可适合用于并行处理的图形操作和非图形操作。APD116可用于基于从处理器102所接收的命令来执行图形流水线操作,诸如像素操作、几何计算,以及向显示装置118渲染图像。APD116还基于从处理器102所接收的并且不是图形处理流水线134的“正常操作流”的一部分的命令来执行与图形操作不直接相关(不相关)的计算处理操作,诸如与视频、物理学模拟、计算流体动力学或其他任务相关的操作。APD116包括着色器引擎132(其可在本文中统称为“可编程处理单元202”),所述着色器引擎包括一个或多个SIMD单元138,该一个或多个SIMD单元被配置为根据SIMD范式以并行方式在处理器102的请求下执行操作。SIMD范式是其中多个处理元件共享单个程序控制流单元和程序计数器并因此执行相同程序但能够用不同数据执行该程序的范式。在一个示例中,每个SIMD单元138都包括十六个通道,其中每个通道都与SIMD单元138中的其他通道同时执行相同的指令,但可用不同的数据执行该指令。如果不是所有通道都需要执行给定的指令,则可以预测关闭通道。预测还可以用于用发散控制流执行程序。更具体地,对于具有条件分支或其他指令(其中控制流是基于个别通道执行的计算)的程序,对与当前未执行的控制流路径对应的通道的预测以及不同控制流路径的串行执行允许遵循任意控制流。着色器引擎132中的基本执行单元为工作项。每个工作项都表示要在特定通道中并行执行的程序的单个例示。工作项可以作为单个SIMD单元138上的“波前”被同时执行。多个波前可包括在“工作组”中,该工作组包括被指定执行相同程序的工作项集合。可通过执行组成工作组的波前中的每个来执行工作组。波前可在单个SIMD单元138上顺序执行或者在不同SIMD单元138上部分或全部并行执行。波前可被认为是可在单个SIMD单元138上同时执行的最大的工作项集合。因此,如果从处理器102所接收的命令指示特定程序将被并行化至程序不能同时在单个SIMD单元138上执行的程度,则该程序被分解成波前,所述波前在两个或多个SIMD单元138上本文档来自技高网...

【技术保护点】
1.一种用于识别片段流中的重叠片段以供像素着色器处理的方法,所述方法包括:从z‑剔除的片段流接收第一片段,所述第一片段具有第一屏幕位置;在存储片段的延迟像素着色缓冲区中识别第二片段,所述第二片段具有与所述第一屏幕位置匹配的第二屏幕位置;响应于所述识别,基于所述匹配来修改所述延迟像素着色缓冲区;以及将所述延迟像素着色缓冲区的所述片段传输到像素着色器以进行着色。

【技术特征摘要】
【国外来华专利技术】2016.12.13 EP 16203877.2;2016.12.09 US 15/374,7521.一种用于识别片段流中的重叠片段以供像素着色器处理的方法,所述方法包括:从z-剔除的片段流接收第一片段,所述第一片段具有第一屏幕位置;在存储片段的延迟像素着色缓冲区中识别第二片段,所述第二片段具有与所述第一屏幕位置匹配的第二屏幕位置;响应于所述识别,基于所述匹配来修改所述延迟像素着色缓冲区;以及将所述延迟像素着色缓冲区的所述片段传输到像素着色器以进行着色。2.如权利要求1所述的方法,其还包括:将多个输入图元入库以生成多个入库的输入图元;光栅化所述多个入库的输入图元以生成片段集;以及对所述片段集进行z-剔除以产生所述z-剔除的片段流。3.如权利要求2所述的方法,其中:将所述多个输入图元入库以生成所述多个入库的输入图元包括将所述多个输入图元的所述图元分配给库,其中每个库都与屏幕空间的不同部分相关联,并且所述多个入库的输入图元包括所述多个输入图元的图元,所述图元基于屏幕空间的被所述多个输入图元的所述图元重叠的部分来排序。4.如权利要求2所述的方法,其中对所述片段集进行z-剔除包括:对于所述片段集中的每个片段,确定深度缓冲区是否存储指示所述片段被遮挡的深度值;以及如果所述片段被遮挡,则丢弃所述片段,并且如果所述片段未被遮挡,则将所述深度值更新为等于所述片段的深度值。5.如权利要求2所述的方法,其中光栅化所述多个入库的输入图元以生成所述片段集包括:对于每个输入图元,识别由所述输入图元覆盖的屏幕位置并针对所述被覆盖的屏幕位置生成片段,其中所述生成的片段包括在由光栅化器生成的所述片段集内并且进行z-剔除以产生所述z-剔除的片段流。6.如权利要求1所述的方法,其中基于所述匹配来修改所述延迟像素着色缓冲区包括:从所述延迟像素着色缓冲区中去除所述第二片段。7.如权利要求1所述的方法,其中基于所述匹配来修改所述延迟像素着色缓冲区包括:将所述第二片段和所述第一片段标记为重叠。8.如权利要求1所述的方法,其中:将所述延迟像素着色缓冲区的所述片段传输到所述像素着色器以进行着色是响应于以下各项中的一个或多个进行的:检测到在所述延迟像素着色缓冲区处已经接收到对应于用于库的所有图元的片段;检测到在所述延迟像素着色缓冲区处已经接收到用于帧的所有图元;以及检测到所述延迟像素着色缓冲区已满。9.如权利要求1所述的方法,其中:所述延迟像素着色缓冲区与屏幕空间的第一部分相关联;并且所述方法还包括对于与所述屏幕空间的第二部分相关联的第二延迟像素着色缓冲区执行接收、识别、修改和传输步骤。10.一种加速处理装置(“APD”),其包括:z-剔除单元,所述z-剔除单元被配置为对片段集中的片段进行z-剔除以生成z-剔除的片段流;像素着色器,所述像素着色器被配置为对提供给所述像素着色器的片段执行像素着色操作;以及延迟像素着色单元,所述延迟像素着色单元被配置为:从所述z-剔除的片段流接收第一片段,所述第一片段具有第一屏幕位置,在存储片段的延迟像素着色缓冲区中识别第二片段,所述第二片段具有与所述第一屏幕位置匹配的第二屏幕位置,响应于所述识别,基于所述匹配来修改所...

【专利技术属性】
技术研发人员:劳伦特·列斐伏尔迈克尔·曼特马克·福勒米科·奥霍米卡·托米起亚·卡利奥帕特里克·克拉斯·鲁道夫·布斯扎里·安特罗·康姆帕卡伊·托米克里斯多夫·J·布伦南
申请(专利权)人:超威半导体公司ATI科技无限责任公司
类型:发明
国别省市:美国,US

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

1