选择性合并部分覆盖图块以执行分层z剔除制造技术

技术编号:15064906 阅读:25 留言:0更新日期:2017-04-06 13:00
本发明专利技术描述用于在图形处理系统中执行分层z剔除的技术。在一些示例中,所述技术可包括基于用于图块位置的部分覆盖源图块的保守最远z值是否比用于所述图块位置的剔除z值更接近,将所述部分覆盖源图块选择性合并为完全覆盖合并源图块,并且使用与所述完全覆盖合并源图块相关联的保守最远z值来更新用于所述图块位置的所述剔除z值。在其它示例中,所述技术可使用不与底层存储器相关联的高速缓存单元来存储用于合并源图块的保守最远z值和覆盖掩模。所述高速缓存单元的容量可比存储渲染目标中的所有所述图块位置的合并源图块数据所需的高速缓存的大小更小。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及图形处理系统,且更明确地说,涉及在图形处理系统中使用的z剔除技术。
技术介绍
图形处理单元(GPU)可由不同类型的计算装置用来加快显示器的图形数据的渲染。此些计算装置可包含例如计算机工作站、移动电话(例如,智能电话)、嵌入式系统、个人计算机、平板计算机及视频游戏控制台。渲染通常指代将可包含一或多个3D图形对象的三维(3D)图形场景转换为二维(2D)光栅化图像数据的过程。为渲染3D图形对象,GPU可光栅化对应于所述3D图形对象中的每个的一或多个基元,以便生成对应于所述3D图形对象中的每个的多个像素。所述像素随后可使用多种像素处理操作来处理以生成所得图像。像素处理操作可包含像素着色操作、掺合操作、纹理-映射操作、可编程像素着色器操作等。由于GPU已变得越来越快,增加了由GPU渲染的图形场景的复杂度。高度复杂的场景可包含大量的3D对象,这些3D对象中的每个可对应于数百或数千个像素。处理这些像素中的每个可能消耗大量的处理周期和相对大量的存储器带宽。3D图形对象通常在光栅化之前细分为一或多个图形基元(例如点、线、三角形)。时常,从检视区的角度,基元中的一些可能阻塞或闭塞其它基元,使得所述闭塞基元可能在所得渲染图像中是不可见的。对闭塞基元的像素执行像素处理操作可能导致执行不必要的像素操作,这可能消耗图形处理系统中的不必要的处理周期和存储器带宽。已有人提出处理与闭塞基元相关联的像素的不必要处理的问题的各种解决方案。一种解决方案是执行分层z剔除,这可包括在图形管线中的相对早期阶段丢弃在最终所得渲染图像中不可见的源像素,以便减小GPU的工作负荷和/或降低GPU的存储器带宽使用率。例如,分层z剔除算法可比较像素的输入源图块的保守最小z值和与所述源图块具有相同图块位置的像素的目的地图块的保守最大z值,并在所述源图块的保守最小z值比所述图块位置的保守最大z值更大时,丢弃像素的源图块。像素的目的地图块的保守最大z值可为大于或等于像素的所述目的地图块的实际最大z值的值。大体而言,所述保守最大z值越接近所述目的地图块的实际最大z值(即,等于在所述目的地图块中的所有像素的最大z值的值),则在所述图形管线中可早期丢弃的不可见源像素的数量越大,并因此,通过执行分层z剔除可获得的性能好处就越大。然而,就算法复杂度、内存占用率、存储器带宽和处理器工作负荷而言,实现相对接近目的地图块的实际最大z值的保守最大z值可能是昂贵的。
技术实现思路
本专利技术描述用于在图形处理系统中执行分层z剔除的技术。在一些示例中,用于执行分层z剔除的技术可包括基于用于与图块位置相关联的部分覆盖源图块的保守最远z值是否比用于图块位置的剔除z值更接近,将部分覆盖源图块选择性合并为完全覆盖合并的源图块,并使用与所述完全覆盖合并源图块相关联的保守最远z值来更新用于所述图块位置的所述剔除z值。所述剔除z值可用于形成所述图块位置的剔除确定,并可指示与所述图块位置对应的目的地图块的所有样本的保守最远z值。部分覆盖的源图块的所述合并可在以下意义上是选择性的:用于图块位置的具有比用于所述图块位置的所述剔除z值更接近所述检视区的保守最远z值的部分覆盖源图块可被合并,而用于所述图块位置的其它部分覆盖的源图块可不被合并。以此方式的选择性合并源图块可提高用于执行分层z剔除的剔除z值的质量,这可提高z剔除算法的拒绝效率。以此方式,可提高执行分层z剔除的图形处理器的性能和/或存储器带宽使用率。在一个示例中,本专利技术描述一种方法,其包含基于与图块位置相关联的样本的源图块是否被对应于所述源图块的基元完全覆盖并基于所述源图块的保守最远z值是否比与图块位置相关联的剔除z值更接近,利用图形处理单元(GPU)选择性合并源图块和用于所述图块位置的合并源图块,以生成所述合并源图块的经更新版本。所述剔除z值指示用于与所述图块位置对应的目的地图块的所有样本的保守最远z值。在另一示例中,本专利技术描述一种装置,其包含图形处理单元(GPU),所述图形处理单元(GPU)经配置基于与图块位置相关联的样本的源图块是否被对应于所述源图块的基元完全覆盖并基于所述源图块的保守最远z值是否比与图块位置相关联的剔除z值更接近,选择性合并源图块和用于所述图块位置的合并源图块,以生成所述合并源图块的经更新版本。所述剔除z值指示用于与所述图块位置对应的目的地图块的所有样本的保守最远z值。在另一示例中,本专利技术描述一种设备,其包含用于确定与图块位置相关联的样本的源图块的保守最远z值是否比与所述图块位置相关联的剔除z值更接近的装置。所述剔除z值指示用于与所述图块位置对应的目的地图块的所有样本的保守最远z值。所述设备进一步包含用于基于源图块是否被对应于所述源图块的基元完全覆盖并基于所述源图块的保守最远z值是否比与所述图块位置相关联的剔除z值更接近,选择性合并所述源图块和用于所述图块位置的合并源图块以生成所述合并源图块的经更新版本的装置。在另一示例中,本专利技术描述一种计算机可读存储媒体存储指令,其在被执行时,致使一或多个处理器基于与图块位置相关联的样本的源图块是否被对应于所述源图块的基元完全覆盖并基于所述源图块的保守最远z值是否比与所述图块位置相关联的剔除z值更接近,选择性合并源图块和用于所述图块位置的合并源图块,以生成所述合并源图块的经更新版本。所述剔除z值指示用于与所述图块位置对应的目的地图块的所有样本的保守最远z值。在附图和以下描述中阐明本专利技术的一或多个示例的细节。本专利技术的其它特征、目标和优点将从所述描述和附图以及权利要求书而显而易见。附图说明图1为说明可用于实施本专利技术的分层z剔除技术的示例计算装置的框图。图2为更详细说明在图1中示出的计算装置的CPU、GPU和存储器的框图。图3为说明可用于实施本专利技术的分层z剔除技术的示例图形管线的框图。图4为根据本专利技术的说明用于执行分层z剔除的示例技术的流程图。图5为根据本专利技术的说明在执行分层z剔除时,用于合并部分覆盖源图块的示例技术的流程图。图6为根据本专利技术的说明待渲染的示例基元组和与示例基元组的渲染相关联的对应合并高速缓存状态的原理图。具体实施方式本专利技术描述用于在图形处理系统中执行分层z剔除的技术。在一些示例中,用于执行分层z剔除的技术可包括基于用于部分覆盖源图块的保守最远z值是否比用于图块位置的剔除z值更接近,将与图块位置相关联的部分覆盖源图块选择性合并为完全覆盖合并的源图块,并使用与所述完全覆盖合并源图块相关联的保守最远z值来更新用于本文档来自技高网
...
<a href="http://www.xjishu.com/zhuanli/CN105659291.html" title="选择性合并部分覆盖图块以执行分层z剔除原文来自X技术">选择性合并部分覆盖图块以执行分层z剔除</a>

【技术保护点】
一种方法,包括:基于与图块位置相关联的样本的源图块是否被对应于所述源图块的基元完全覆盖并基于所述源图块的保守最远z值是否比与所述图块位置相关联的剔除z值更接近,利用图形处理单元GPU来选择性合并所述源图块和用于所述图块位置的合并源图块,以生成所述合并源图块的经更新版本,所述剔除z值指示用于与所述图块位置对应的目标图块的所有样本的保守最远z值。

【技术特征摘要】
【国外来华专利技术】2013.10.23 US 14/061,5061.一种方法,包括:
基于与图块位置相关联的样本的源图块是否被对应于所述源图块的基元完全覆
盖并基于所述源图块的保守最远z值是否比与所述图块位置相关联的剔除z值更接
近,利用图形处理单元GPU来选择性合并所述源图块和用于所述图块位置的合并
源图块,以生成所述合并源图块的经更新版本,所述剔除z值指示用于与所述图块
位置对应的目标图块的所有样本的保守最远z值。
2.根据权利要求1所述的方法,其中,选择性合并所述源图块包括:
响应于确定所述源图块未被对应于所述源图块的所述基元完全覆盖和所述源图
块的所述保守最远z值比与所述图块位置相关联的所述剔除z值更接近,合并所述
源图块和用于所述图块位置的所述合并源图块;并且
响应于确定所述源图块被对应于所述源图块的所述基元完全覆盖或所述源图块
的所述保守最远z值不比与所述图块位置相关联的所述剔除z值更接近,不合并所
述源图块和用于所述图块位置的所述合并源图块。
3.根据权利要求2所述的方法,其中,合并所述源图块和用于所述图块位置的所述合
并源图块包括:
基于用于所述源图块的所述保守最远z值和用于所述合并源图块的保守最远z
值,生成用于所述合并源图块的所述经更新版本的保守最远z值。
4.根据权利要求3所述的方法,其中,合并所述源图块和用于所述图块位置的所述合
并源图块进一步包括:
基于用于所述源图块的覆盖掩模和用于所述合并源图块的覆盖掩模,生成用于所
述合并源图块的所述经更新版本的覆盖掩模。
5.根据权利要求1所述的方法,其中,所述方法进一步包括:
在存储器中存储多个合并源图块数据记录,
其中,所述合并源图块数据记录中的每个包含与用于渲染目标的多个图块位置中
的相应一个的合并源图块相关联的数据,并且
其中,所述存储器具有小于存储N个合并源图块数据记录所需的数据量的数据
容量,其中,N是在所述渲染目标中的图块位置的总数。
6.根据权利要求5所述的方法,其中,与用于所述多个图块位置中的相应一个的所述
合并源图块相关联的所述数据包括用于与所述相应图块位置相关联的所述合并源
图块的保守最远z值。
7.根据权利要求6所述的方法,其中,与用于所述多个图块位置中的相应一个的所述
合并源图块相关联的所述数据进一步包括用于与所述相应图块位置相关联的所述
合并源图块的覆盖掩模。
8.根据权利要求5所述的方法,其中,所述存储器包括不与底层存储器相关联的高速
缓存单元。
9.根据权利要求1所述的方法,进一步包括:
在高速缓存单元中存储多个合并源图块数据记录,
其中,所述合并源图块数据记录中的每个包含与用于渲染目标的多个图块位置中
的相应一个的合并源图块相关联的数据,
其中,所述高速缓存单元不与底层存储器相关联,
其中,所述高速缓存单元包括多个高速缓存行,
其中,所述高速缓存行中的每个经配置以存储所述合并源图块数据记录中的相应
一个,并且
其中,在所述高速缓存单元中的高速缓存行的总数小于在所述渲染目标中的图块
位置的总数。
10.根据权利要求1所述的方法,其进一步包括:
在高速缓存单元中存储多个合并源图块数据记录,
其中,所述合并源图块数据记录中的每个包含与用于渲染目标的多个图块位置中
的相应一个的合并源图块相关联的数据,
其中,所述高速缓存单元包括多个高速缓存行,
其中,所述高速缓存行中的每个经配置以存储所述合并源图块数据记录中的相应

\t一个,
其中,在所述高速缓存单元中的高速缓存行的总数小于在所述渲染目标中的图块
位置的总数,
其中,所述高速缓存单元经配置以向所述高速缓存单元中的高速缓存行写入与第
一图块位置相关联的第一合并源图块数据记录而无需向底层存储器写入所述第一
数据记录,并且
其中,所述高速缓存单元经进一步配置以利用与第二图块位置相关联的第二合并
源图块数据记录覆写所述第一合并源图块数据记录而无需向底层存储器写入所述
第一合并源图块数据记录。
11.根据权利要求1所述的方法,进一步包括:
响应于确定所述源图块被对应于所述源图块的所述基元完全覆盖,使高速缓存单
元中的存储用于所述合并源图块的数据记录的高速缓存行无效。
12.根据权利要求1所述的方法,进一步包括:
基于所述源图块的保守最接近z值是否比与所述图块位置相关联的所述剔除z值
更远,从图形管线选择性丢弃与所述图块位置相关联的所述源图块;并且
基于所述合并源图块的所述经更新版本是否被对应于所述合并源图块的所述经
更新版本的一组基元完全覆盖,选择性设定所述剔除z值等于用于所述合并源图块
的所述经更新版本的保守最远z值。
13.根据权利要求12所述的方法,
其中,从所述图形管线选择性丢弃所述源图块包括:
响应于确定所述源图块的所述保守最接近z值比与所述图块位置相关联的所
述剔除z值更远,丢弃所述源图块;并且
响应于确定所述源图块的所述保守最接近z值不比与所述图块位置相关联的
所述剔除z值更远,不丢弃所述源图块,并且
其中,选择性设定所述剔除z值等于用于所述合并源图块的所述经更新版本的所
述保守最远z值包括:
响应于确定所述合并源图块的所述经更新版本被所述组基元完全覆盖,设定所
述剔除z值等于用于所述合并源图块的所述经更新版本的所述保守最远z值;并

\t且
响应于确定所述合并源图块的所述经更新版本未被所述组基元完全覆盖,不设
定所述剔除z值等于用于所述合并源图块的所述经更新版本的所述保守最远z
值。
14.一种装置,包括:
图形处理单元GPU,其经配置基于与图块位置相关联的样本的源图块是否被对
应于所述源图块的基元完全覆盖并基于所述源图块的保守最远z值是否比与所述
图块位置相关联的剔除z值更接近,来选择性合并所述源图块和用于所述图块位置
的合并源图块,以生成所述合并源图块的经更新版本,所述剔除z值指示用于与所
述图块位置对应的目标图块的所有样本的保守最远z值。
15.根据权利要求14所述的装置,其中,所述GPU经进一...

【专利技术属性】
技术研发人员:汪涛安德鲁·埃文·格鲁贝尔沙姆巴富·坎德瓦勒
申请(专利权)人:高通股份有限公司
类型:发明
国别省市:美国;US

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

1