当前位置: 首页 > 专利查询>英特尔公司专利>正文

在中排序架构中利用帧间相干性制造技术

技术编号:22784560 阅读:24 留言:0更新日期:2019-12-11 04:34
在中排序架构中操作时,在先前帧中计算出的像素值可以重新用于当前帧。针对每个瓦片计算和存储在瓦片中使用的所有数据的散列或一些其它紧凑表示,包括所有的三角形、均匀、纹理、着色器等。当渲染下一帧时,针对每个瓦片再次计算紧凑表示。在中排序架构中,紧接在光栅化之前存在自然断裂点。在该断裂点处,可以比较紧凑表示和在同一瓦片的先前帧内计算出的紧凑表示。如果这些紧凑表示相同,则没有必要为该瓦片渲染任何事物。相反,可以将瓦片的先前帧的颜色缓冲器或其它缓冲器的内容移除到当前帧的瓦片的同一缓冲器。

Using inter frame coherence in the medium sorting architecture

When operating in the sorting scheme in, the pixel value calculated in the previous frame can be reused for the current frame. Hash or some other compact representation of all data calculated and stored in tiles for each tile, including all triangles, uniformity, textures, shaders, etc. When the next frame is rendered, the compact representation is calculated again for each tile. In the medium sorting architecture, there are natural fracture points immediately before rasterization. At this fracture point, the compact representation can be compared with that calculated in the previous frame of the same tile. If these compact representations are the same, there is no need to render anything for that tile. Instead, the contents of the color buffer or other buffer of the previous frame of the tile can be removed to the same buffer of the tile of the current frame.

【技术实现步骤摘要】
在中排序架构中利用帧间相干性本申请是2015年4月30日提交的申请号为201580019933.8的同名专利申请的分案申请。
本申请涉及图形处理。
技术介绍
通常针对移动设备使用中排序(sort-middle)架构。如在任意图形应用中,减少电量使用是非常重要的。在某种意义上,通过向每个处理器分配基元(primitive)的子集,可以使几何处理并行。通过向每个处理器分配一部分必要的像素计算,可以使光栅化并行。渲染涉及计算在每个像素上的每个基元的效果。基元可以落到实际查看平面上或外的任何位置。渲染将基元排序到屏幕。排序可以发生于几何处理期间,这称作先排序(sort-first);发生于几何处理和光栅化之间,这称作中排序;或发生于光栅化期间,这称作后排序(sort-last)。先排序表示在已知原始基元的屏幕空间参数之前,重新分布原始基元,中排序表示重新分布屏幕空间基元,而后排序表示重新分布像素、样本或像素片段。附图说明相对后续附图描述一些实施例:图1是一个实施例的示意性描绘;图2是一个实施例的流程图;图3是一个实施例的系统描绘;以及图4是一个实施例的前视图。具体实施方式在中排序架构中操作时,在先前帧中计算出的像素值可以重新用于当前帧。针对每个瓦片(tile)计算和存储对在瓦片中使用的所有数据的散列或一些其它紧凑表示,包括所有的三角形、均匀、纹理、着色器等。当渲染下一帧时,针对每个瓦片再次计算紧凑表示。在中排序架构中,在光栅化之前存在自然断裂点。在该断裂点处,可以比较紧凑表示和在同一瓦片的先前帧内计算出的紧凑表示。如果这些紧凑表示相同,则没有必要针对该瓦片渲染任何事物。相反,可以将瓦片的先前帧的颜色缓冲器或其它缓冲器的内容移动、或另外重新用于当前帧的瓦片的同一缓冲器。该技术在光栅化和像素着色(shade)之前工作,并且除了颜色缓冲器外还可以应用于其它缓冲器。在中排序架构中,有时也称作铺瓦片架构,将屏幕划分为多个瓦片,其是不重叠的矩形区域,并一起覆盖整个屏幕。在第一阶段,将所有的基元(例如,将渲染的三角形)排序到瓦片中,从而对于基元重叠的所有瓦片,将对基元的参考存储于每瓦片的基元列表中。当所有的排序完成时,可以串行或并行对每个瓦片进行光栅化。该技术利用图像的较大部分通常从一个图像到下一图像是相同的这一事实。该效果通常称作帧间相干性。在此利用帧间相干性来使得图形处理器在功率和性能方面更有效。在一个实施例中,当创建每瓦片的基元列表时,为每瓦片累积紧凑表示(例如,散列)。紧凑表示可以基于所有的几何结构、输入数据和相对状态,包括所有的基元、均匀、纹理、着色器、混合模式等。当渲染当前帧时,将来自先前帧的紧凑表示存储于存储器中。然后,就在每瓦片光栅化开始之前,确定当前帧的当前瓦片的紧凑表示是否与先前帧的同一瓦片的紧凑表示相同。如果紧凑表示相同,则假设渲染的内容也相同,并因此不需要进行渲染。反而,从先前帧重新使用瓦片中所有像素的颜色。如果压缩表示不相同,则照常进行光栅化、深度测试、像素着色和混合。除了颜色缓冲器外,该技术还可以用于所有的渲染目标,以及用于深度和模板(stencil)。然而,对于当前渲染目标,例如将在屏幕上显示的颜色缓冲器,一些其它的优化是可以的。当例如使用嵌入显示端口(eDP)规范版本1.4/1.5(以及更高)时,这些技术可以结合局部帧更新使用,同时处于面板软刷新(PSR)模式。基本上,算法检测当前帧的特定瓦片与先前帧的对应瓦片相同,因此不需要光栅化和所有后续步骤。因此,当将数据转移到显示器时,可以针对与先前帧相同的那些瓦片避免发送数据。最后,当帧结束时,当前帧的紧凑表示必需移动到先前帧紧凑表示表格,并被清除以供将来使用。替代地,可以只交换当前帧与先前帧的指针。为了避免存储器突发(burst),可以考虑懒惰置换(lazyreplacement),添加单个位来识别当前帧。所选的紧凑表示可以遵守一个或多个下列标准:(1)允许循序处理块,以便累积每瓦片的全部散列值;(2)最小化误报,因为它们可能生成可见伪像;以及(3)生成适度大小的散列值,以减小散列表格的存储开销。鉴于生成每瓦片的输出散列值仅用于比较的目的这一事实,在一些实施例中,任意简单的循环冗余校验或校验和函数是足够的。如果期望散列碰撞的较小可能性,则可以以较重的计算要求为代价使用甚至利用Merkle-Damguard结构的密码散列函数(例如,MD5)。另外,取代存储散列,识别符可以是针对完全覆盖帧结束处的瓦片的绘制调用所存储的全体。如果绘制调用是静态的,因为所有的均匀、纹理和着色器等保持相同直到下一帧,并且发现相同的绘制调用将再次完全覆盖瓦片,则可以避免对该瓦片的所有处理并且重新使用来自先前帧的内容。要出现这种情况,例如可以测试是否存在单个三角形完全重叠瓦片,并且测试瓦片基元列表中的所有其它三角形是否被所述三角形挡住。另一方法是确定瓦片是否被当前帧中的绘制调用中的三角形的子集完全覆盖,并且在后一帧中,如果相同的绘制调用是完全相同并且在所述瓦片中的所有其它几何结构被挡住,则针对所述瓦片不需要绘制任何事物。在另一实施例中,可以使用布隆过滤器取代散列。对所述实现方式,可以使用最少两个布隆过滤器,即使还可以考虑两个N较小的布隆过滤器。每对布隆过滤器包括用于不同种类信息的元素。例如,一对可以用于几何结构,另一对可以用于纹理地址,而第三队可以用于着色器。在这些对之外,一对包含用于先前帧的元素,而第二对包含当前帧的对应元素。在一个实施例中,布隆过滤器算法如具有散列一样工作。当创建三角形列表时,若干散列函数应用于信息上以进行比较。这些散列函数的结果用于对两个布隆过滤器进行索引。对于与当前帧相关的,设置所有索引的位。在另一方面,对于先前帧的布隆过滤器,读取索引的位并且检查确定是否它们全都是一。如果是,则假设渲染的内容是相同的,并重新使用先前帧的颜色。如果否,则序列正常进行。一旦帧结束,则交换布隆过滤器的使用。指向当前帧的一个变成先前帧,并且清除之前的先前帧。与散列相比使用布隆过滤器的一个优点在于:通常,布隆过滤器需要较少的存储空间来保持所有的信息,尽管它们可能针对多个散列函数要求额外的逻辑。传统上,为得到大约0.5%的误报率所要求的位的数量在布隆过滤器中每元素11-12位的范围内,并且对于该误报率的散列函数的最优数量在6-8个函数的范围内。参考图1,铺瓦片引擎10可以耦合到光栅流水线12上。铺瓦片引擎10在散列或布隆过滤器计算单元13中接收几何结构、状态信息、着色器信息和纹理地址。将任意状态信息提供给组合流水线结果和任意状态信息的瓦片列表生成器14。该组合的数据存储于瓦片高速缓存22中。在帧改变处,先前帧散列或布隆过滤器存储设备16倒入到当前帧散列/布隆过滤器存储设备18。瓦片取得器20从光栅流水线12取得瓦片并将它们提供给瓦片高速缓存22。瓦片高速缓存22将数据转移到统一的高速缓存24。光栅流水线12包括光栅化器本文档来自技高网...

【技术保护点】
1.一种用于图形处理的装置,包括:/n至少一个处理单元;以及/n图形处理器,用于:将基元排序为瓦片,所述瓦片包括针对当前帧的像素的当前瓦片和针对先前帧的像素的先前瓦片;在基元列表被创建时累积针对所述瓦片的几何结构、输入数据和状态的表示;在光栅化之前的中排序架构中的自然断裂点期间确定针对所述当前帧的当前瓦片的表示是否与针对所述先前帧的先前瓦片的表示相匹配;以及如果针对所述先前帧和所述当前帧的瓦片的表示相匹配,则在渲染所述当前瓦片时,重新使用所述先前瓦片的像素作为所述当前瓦片的像素。/n

【技术特征摘要】
20140514 US 14/277,2391.一种用于图形处理的装置,包括:
至少一个处理单元;以及
图形处理器,用于:将基元排序为瓦片,所述瓦片包括针对当前帧的像素的当前瓦片和针对先前帧的像素的先前瓦片;在基元列表被创建时累积针对所述瓦片的几何结构、输入数据和状态的表示;在光栅化之前的中排序架构中的自然断裂点期间确定针对所述当前帧的当前瓦片的表示是否与针对所述先前帧的先前瓦片的表示相匹配;以及如果针对所述先前帧和所述当前帧的瓦片的表示相匹配,则在渲染所述当前瓦片时,重新使用所述先前瓦片的像素作为所述当前瓦片的像素。


2.如权利要求1所述的装置,所述图形处理器在中排序架构中进行累积。


3.如权利要求1所述的装置,所述图形处理器在所述表示相同时避免发送数据用于显示。


4.如权利要求1所述的装置,包括深度缓冲器。


5.如权利要求1所述的装置,包括帧缓冲器。


6.如权利要求1所述的装置,包括光栅化器。


7.如权利要求1所述的装置,包括着色器。


8.如权利要求1所述的装置,所述图形处理器包括至少一个布隆过滤器,用于确定针对所述当前帧的当前瓦片的表示是否与针对所述先前帧的先前瓦片的表示相匹配。


9.如权利要求8所述的装置,所述图形处理器包括至少两个布隆过滤器,用于将所述当前瓦片的表示与所述先前瓦片的表示进行比较。


10.一种图形处理方法,包括:
将基元排序为瓦片,所述瓦片包括针对当前帧的像素的当前瓦片和针对先前帧的像素的先前瓦片;
在基元列表被创建时累积针对所述瓦片的几何结构、输入数据和状态的表...

【专利技术属性】
技术研发人员:J·费尔南德斯J·卡雷特罗卡萨多P·马库埃略T·G·阿可尼内默勒
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国;US

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

1