发明名称 基于分块渲染的GPU中多管线渲染的实现方法
摘要 发明公开了一种基于分块渲染的GPU中多管线渲染的实现方法。它包括绘图命令解析,2D绘图模块—完成2D清屏、点阵字等功能,图元管理—完成图元顶点及属性的获取,几何变换/光照,裁剪,屏幕坐标变换,图元分块,M条光栅化管线,M条Z/Stencil测试管线,M条纹理映射管线,M条融合管线,图形显示等模块。该实现结构通过资源复制实现了分块渲染的性能加速目的。
申请公布号 CN102819820B 申请公布日期 2014.03.12
申请号 CN201210287875.5 申请日期 2012.08.14
申请人 长沙景嘉微电子股份有限公司 发明人 饶先宏
分类号 G06T1/60(2006.01)I 主分类号 G06T1/60(2006.01)I
代理机构 代理人
主权项 基于分块渲染的GPU中多管线渲染的实现方法,其特征为:(1)  软件通过PCI总线向GPU硬件发送绘图命令和参数配置命令,GPU收到命令进入命令解析模块,按照图元类型从DDR读取图元顶点并组织成相应图元的数据进入几何变换/光照、裁剪、屏幕坐标转换模块;(2)  GPU硬件按照定义的分块大小将图元分块,为了使分块和绘制并行工作,维持两个计数器—采用2个RAM分别记录两帧图像的每块的图元数目,每一个块在DDR中都有一个固定的读写起始地址和固定的存储空间,将分块后的图元数据按照图元所属的块写入相应的DDR地址,一帧内的所有图元都写入DDR之后,按照块的顺序将DDR中的块内的待绘制数据取出,进入光栅化过程;(3)  为实现多管线的绘制,可以设计M个光栅化管线,分派算法为:管线0绘制块号为0,M,2M,3M,……,nM的块;管线1绘制块号为1,M+1,2M+1,3M+1,……,nM+1的块;管线2绘制块号为2,M+2,2M+2,3M+2,……,nM+2的块;……;管线M‑1绘制块号为M‑1,2M‑1,3M‑1,……,(n+1)M‑1的块;(4)  在像素渲染部分设置与光栅化同样数目的管线,设置M个Z/Stencil测试模块,每一个模块内部结构相同,根据应用的要求,可以在块内缓冲区预先设置一个初值,那么在该块绘制过程中就避免了频繁的读写DDR中Z/Stencil Buffer中的数据,节约了带宽的同时也加快了Z/Stencil测试速度;同样设置M个纹理映射模块,每一个模块对应一个纹理Cache,M个纹理Cache再对应一个二级Cache,此结构可以充分利用Cache中的数据,提高命中率;设置M个融合模块,在绘制当前块开始时将该块在显示帧存中的数据读出放在片上存储器中,在该块绘制的过程中将无需再次读取DDR,直到将该块绘制完毕,一次性将该片上存储器中的数据写回到对应的显示帧存中,同样可以减少大量的访存时间;(5)  当一帧的图像绘制完毕后,显示模块根据分辨率产生对应的时序将帧存中的数据读出,显示在屏幕上。
地址 410205 湖南省长沙市高新开发区麓谷麓景路2号