一种图元光栅化触发的图形处理器深度数据预取方法技术

技术编号:28297631 阅读:15 留言:0更新日期:2021-04-30 16:23
本发明专利技术涉及一种图元光栅化触发的图形处理器深度数据预取方法,本发明专利技术包括以下步骤:1)在图形渲染流水线的光栅化单元和Z Cache之间设置深度数据预取请求通路;2)光栅化单元每产生一个Tile,就根据Tile在深度帧缓冲区中的地址形成一个深度数据预取请求,并通过深度数据预取请求通路发送到Z Cache;3)由Z Cache通过已有的与DDR的访问接口实现深度数据的提前预取,同时,为每一个Z Cache TAG数据结构域增加一个访问一次标志OTT(Once Touching Tag);4)预取的深度数据进入Z Cache后,未被读取之前置OTT=0;当Z Cache中的深度数据被读取一次后,置OTT=1。本发明专利技术可保证深度数据预取有效性,能够提升深度测试时Z Cache访问命中率,降低深度测试延迟,最终达到提升图形绘制三角形通过能力和像素填充能力的目的。

【技术实现步骤摘要】
一种图元光栅化触发的图形处理器深度数据预取方法
本专利技术涉及计算机硬件
,尤其涉及一种图元光栅化触发的图形处理器深度数据预取方法。
技术介绍
3D图形处理与2D图形处理最显著的区别在于引入了深度的概念,使绘制结果产生了有层次的空间立体真实感受。为了最终能够正确显示位置重叠区域图形距离观察者最近的图元像素颜色,每一个像素的深度数据(Z值)都需要进行缓冲,以便进行实时深度测试来分辨当前正在绘制像素的深度值与已经绘制完成的像素深度值之间的前后遮挡关系。深度测试频繁的深度数据读写操作不但需要的存储器数据带宽大,而且还在很大程度上决定了图形处理器(GraphicProcessingUnit)的像素填充性能。而深度测试频繁的显存读写操作需要的存储器数据带宽极大。举例来说,假设三维场景复杂度为15、像素Z值精度为32bit、屏幕分辨率为4096×2304、每秒绘制30帧,则仅从外部显存读取深度缓冲区数据需要的带宽达到16.98GB/s。假设70%的像素通过深度测试,则写外部显存中深度缓冲区所需要的数据带宽达到11.89GB/s,深度数据读写共需要28.87GB/s。我国目前还不掌握GDDR、HBM等高性能存储器技术,单路64bitDDR4-3200存储器的最大理论数据带宽也仅能达到25.6GB/S。可见,深度缓冲区访问性能是影响现代图形处理器性能的关键因素。为了降低深度测试对片内存储资源和显存带宽的需求,研究人员提出Early-Z技术在进行像素染色前就对像素的可见性以一种粗粒度的方式进行提前测试,据ATI的测试结果,采用Early-Z技术进行提前深度测试能够提前捕捉到50%以上最终不会通过深度测试的像素点。即使这样,目前GPU像素填充性能普遍超过30GPixel/S,所需要的深度测试能力依然对GPU片上ZCache设计提出了很高的要求。尤其是图形处理器深度数据预取策略,其涉及到的显存带宽利用率、3D图形绘制三角形通过能力和像素填充能力等多个方面的性能指标,最终影响GPU的整体工作效率,研究优化图形处理器深度数据预取策略对研制高性能GPU具有十分重要的理论意义和应用价值。
技术实现思路
本专利技术为解决
技术介绍
中存在的上述技术问题,而提供一种基于图元光栅化触发的图形处理深度数据预取方法,通过图元光栅化过程中实时扫描到的片段块地址来触发ZCache的深度数据预取,同时为了适应不同实现中流水线处理延迟,为ZCache数据块增加访问一次标志,保证深度数据预取有效性,能够提升深度测试时ZCache访问命中率,降低深度测试延迟,最终达到提升图形绘制三角形通过能力和像素填充能力的目的。本专利技术的技术解决方案是:本专利技术为一种基于图元光栅化触发的高效GPU深度数据预取方法,其特殊之处在于:该方法包括以下步骤:1)在图形渲染流水线的光栅化单元和ZCache之间设置深度数据预取请求通路;2)光栅化单元每产生一个Tile,就根据Tile在深度帧缓冲区中的地址形成一个深度数据预取请求,并通过深度数据预取请求通路发送到ZCache;3)由ZCache通过已有的与DDR的访问接口实现深度数据的提前预取,同时,为每一个ZCacheTAG数据结构域增加一个访问一次标志OTT(OnceTouchingTag);4)预取的深度数据进入ZCache后,未被读取之前置OTT=0;当ZCache中的深度数据被读取一次后,置OTT=1。优选的,步骤3)的具体步骤如下:ZCache在收到预取请求后,首先检查预取目标数据是否已经存在于ZCacheDataArray中,如果目标数据已经存在于ZCacheDataArray中,则不再向DDR发出深度数据访问请求;如果目标数据已经存在于ZCacheDataArray中,则向DDR发出深度数据访问请求,以便预取的深度数据在其对应的像素片段Tile完成像素染色阶段处理和其它片段处理前进入ZCache中。优选的,步骤4)的具体步骤如下:每次需要进行ZCache替换时,基于PLRU算法优先选择已经被访问的Cache数据块进行替换,保留OTT=0的Cache数据块,保证预取回ZCache中深度数据不会在使用前就被替换出去。优选的,步骤4)中当OTT=1时,已经完成深度测试需要的深度数据访问。本专利技术提供的一种图元光栅化触发的图形处理器深度数据预取方法,在现有图形渲染流水线的基础上,在光栅化单元和ZCache之间增加专门的深度数据预取请求通路。在深度测试功能开启的情况下,且不考虑Early-Z等类似提前深度测试技术带来的层次化深度测试效果时,所有光栅化产生的像素片段必然都要进行深度测试。根据图形渲染流水线各阶段的先后关系,以及光栅化和深度测试的这种特性,本专利技术所提出的光栅化触发的图形处理器高效深度数据预取策略能够根据实际光栅化单元扫描到的图元像素片段Tile所覆盖的帧缓冲区像素区域,实时提前发出深度数据预取请求,实现了在片段处理单元进行深度测试前,提前将对应像素片段Tile所对应的深度数据预取到ZCache中,从而达到隐藏存储器访问延迟、提升深度测试效率的目的。附图说明图1是本专利技术集成光栅化触发的深度数据预取策略的图形渲染流水线结构图;图2是本专利技术增加OTT标志的ZCacheTAG数据结构图;图3是本专利技术光栅化触发的深度数据预取策略工作流程图。具体实施方式无论物理架构是分离染色的还是统一染色的,GPU在逻辑上都遵循一套完整的图形处理流程,在实现时映射为图形处理流水线。对于GPU中深度测试功能来说,像素片段的深度数据由图元光栅化阶段产生,并在片段处理阶段根据不同的深度测试函数将每个像素片段的深度与帧缓冲区中对应位置像素的深度数据进行比较,最终决定该像素片段是否应该被写入帧缓冲区,即光栅化处理在前,深度测试在后。在深度测试功能开启的情况下,所有光栅化产生的像素片段必然都要进行深度测试。一般地,GPU图形渲染流水线需要依次完成顶点着色、几何处理、光栅化、像素着色,经过片段处理后最终写入帧缓冲区。在此基础上,DPRT深度数据预取的工作机制如图1所示。图元经过几何阶段处理后,被送入光栅化单元进行从图元到像素片段的转换,输出的像素片段格式可以根据不同设计进行选择,通常选择以像素片段块(Tile)为单位进行扫描输出,这样不但能够提升光栅化效率,而且更加符合ZCache的数据缓冲特性,访存深度缓冲区效率也高。光栅化每产生一个Tile,就根据Tile在深度帧缓冲区中的地址形成一个深度数据预取请求发送到ZCache,ZCache收到预取请求后向DDR发出深度数据访问请求,预取的深度数据通常会在其对应的像素片段Tile完成像素染色阶段处理和其它片段处理前进入ZCache中,从而实现隐藏像素片段Tile深度数据访问延迟的目的。下面结合附图和具体实施例对本专利技术的技术方案做进一步详细描述。参见图1,本专利技术的具体实施例的步骤如下:1)在图形渲染流水线的光栅化单元和ZCache之间设置深度数据预取请求通路;本文档来自技高网
...

【技术保护点】
1.一种图元光栅化触发的图形处理器深度数据预取方法,其特征在于:该方法包括以下步骤:/n1)在图形渲染流水线的光栅化单元和Z Cache之间设置深度数据预取请求通路;/n2)光栅化单元每产生一个Tile,就根据Tile在深度帧缓冲区中的地址形成一个深度数据预取请求,并通过深度数据预取请求通路发送到Z Cache;/n3)由Z Cache通过已有的与DDR的访问接口实现深度数据的提前预取,同时,为每一个ZCache TAG数据结构域增加一个访问一次标志OTT;/n4)预取的深度数据进入Z Cache后,未被读取之前置OTT=0;当Z Cache中的深度数据被读取一次后,置OTT=1。/n

【技术特征摘要】
1.一种图元光栅化触发的图形处理器深度数据预取方法,其特征在于:该方法包括以下步骤:
1)在图形渲染流水线的光栅化单元和ZCache之间设置深度数据预取请求通路;
2)光栅化单元每产生一个Tile,就根据Tile在深度帧缓冲区中的地址形成一个深度数据预取请求,并通过深度数据预取请求通路发送到ZCache;
3)由ZCache通过已有的与DDR的访问接口实现深度数据的提前预取,同时,为每一个ZCacheTAG数据结构域增加一个访问一次标志OTT;
4)预取的深度数据进入ZCache后,未被读取之前置OTT=0;当ZCache中的深度数据被读取一次后,置OTT=1。


2.根据权利要求1所述的图元光栅化触发的图形处理器深度数据预取方法,其特征在于:所述步骤3)的具体步骤如下:ZCache在收到预取请求后,首先检查预取目标数据是否已经存在于ZCa...

【专利技术属性】
技术研发人员:张骏田泽任向隆吴晓成牛少平韩立敏
申请(专利权)人:西安翔腾微电子科技有限公司
类型:发明
国别省市:陕西;61

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

1