一种图形渲染缓冲区压缩表的调度方法及装置制造方法及图纸

技术编号:21061872 阅读:22 留言:0更新日期:2019-05-08 07:54
本发明专利技术提供了一种图形渲染缓冲区压缩表的调度方法及装置,当GPU需要使用渲染缓冲区数据时,将预先由CPU维护的第一渲染缓冲区压缩映射表,加载到GPU硬件寄存器中;根据所述GPU的渲染缓冲区的写操作,执行压缩,并更新渲染缓冲区压缩映射表;根据所述GPU的渲染缓冲区的读操作,使用渲染缓冲区压缩映射表数据进行解压缩;当GPU需要切换渲染缓冲区时,更新CPU驱动端维护的第二渲染缓冲区压缩映射表,并将所述第二渲染缓冲区压缩映射表加载到GPU硬件寄存器中,实现了无限个渲染缓冲区数据的压缩解压缩及快速清除功能。

【技术实现步骤摘要】
一种图形渲染缓冲区压缩表的调度方法及装置
本专利技术涉及计算机硬件
,尤其涉及一种图形渲染缓冲区压缩表的调度方法及装置。
技术介绍
现代GPU支持的绘制分辨率非常大,用于保存帧缓冲区压缩格式及清除标记的压缩表相应也非常大,GPU中采用多种压缩算法时,一个颜色分块(Tile)至少需要2bit表示来表示压缩算法1、压缩算法2、非压缩、清除4种状态。一幅3180*2160分辨率的缓冲区需要存储空间为32Kbyte。而GPU芯片内部需要支持的渲染缓冲区的数量是无限的,所以必须将这些RBO对应的压缩表存储在DDR中。同时在GPU对渲染缓冲区访问时又必须实时的访问这些压缩表以获取压缩模式或更新压缩数据,所以压缩表的调度是GPU多渲染缓冲区支持的一个亟待解决的问题。
技术实现思路
本专利技术提供了一种渲染缓冲区压缩表的调度方法及装置,提高了GPU硬件对渲染缓冲区的访问性能。第一方面,本专利技术提供了一种图形渲染缓冲区压缩表的调度方法,包括:当GPU需要使用渲染缓冲区数据时,将预先由CPU维护的第一渲染缓冲区压缩映射表,加载到GPU硬件寄存器中;根据所述GPU的渲染缓冲区的写操作,执行压缩,并更新渲染缓冲区压缩映射表;根据所述GPU的渲染缓冲区的读操作,使用渲染缓冲区压缩映射表数据进行解压缩;当GPU需要切换渲染缓冲区时,更新CPU驱动端维护的第二渲染缓冲区压缩映射表,并将所述第二渲染缓冲区压缩映射表加载到GPU硬件寄存器中。可选的,所述渲染缓冲区压缩映射表,由CPU通过编号对用户在定义渲染缓冲区时生成的无符号标识符进行管理,将所述无符号标识符映射为渲染缓冲区及渲染缓冲区压缩表存储地址空间。可选的,所述根据所述GPU的渲染缓冲区的写操作执行压缩,具体包括:采用DDPCM算法对GPU的片段数据进行压缩,如果DDPCM压缩成功,则按照DDPCM的压缩格式存储;如果DDPCM压缩不成功,则采用DO算法对GPU的片段数据进行压缩,如果DO压缩成功,则按照DO的压缩格式存储;如果DDPCM算法和DO算法都压缩不成功,则按照原始未压缩格式存储,并进行渲染缓冲区压缩表的更新。可选的,所述第一渲染缓冲区压缩映射表和所述第二渲染缓冲区压缩映射表的内容,具体包括:所述渲染缓冲区中每个Tile数据的压缩格式,所述压缩格式包括四种格式:用于表示缓冲区中数据为原始的未压缩数据的第一格式、用于表示缓冲区数据采用DDPCM压缩格式存放的第二格式,用于表示缓冲区数据采用DO压缩格式存放的第三格式,用于表示缓冲区数据为执行缓冲区清除后的值的第四格式。第二方面,本专利技术提供了一种图形渲染缓冲区压缩表的调度装置,所述装置包括加载单元、写操作单元、读操作单元、切换单元,其中:所述加载单元,用于当GPU需要使用渲染缓冲区数据时,将预先由CPU维护的第一渲染缓冲区压缩映射表,加载到GPU硬件寄存器中;所述写操作单元,用于根据所述GPU的渲染缓冲区的写操作,执行压缩,并更新渲染缓冲区压缩映射表;所述读操作单元,用于根据所述GPU的渲染缓冲区的读操作,使用渲染缓冲区压缩映射表数据进行解压缩;所述切换单元,用于当GPU需要切换渲染缓冲区时,更新CPU驱动端维护的第二渲染缓冲区压缩映射表,并将所述第二渲染缓冲区压缩映射表加载到GPU硬件寄存器中。专利技术提供的一种渲染缓冲区压缩表的调度方法及装置,通过使用一组位于图形处理器(GPU)硬件的寄存器和位于主机(CPU)内存的渲染缓冲区压缩映射关系表对系统的渲染缓冲区压缩表进行管理,由CPU上运行的驱动程序负责维护渲染缓冲区压缩映射关系表,并在某个渲染缓冲区被使用时将其加载到GPU硬件。本专利技术使用一套压缩表实现了无限个渲染缓冲区数据的压缩解压缩及快速清除功能。能够实现动态的渲染缓冲区压缩表的加载和更新,提高了GPU硬件对渲染缓冲区的访问性能。附图说明图1是本专利技术中一种渲染缓冲区压缩标的调度方法的总体框图;图2是本专利技术中压缩解压缩单元框图;图3是本专利技术中渲染缓冲区压缩表读取解压缩流程图;图4是本专利技术中渲染缓冲区压缩表更新流程图。具体实施方式下面结合附图和具体实施例,对本专利技术的技术方案进行清楚、完整地表述。显然,所表述的实施例仅是本专利技术一部分实施例,而不是全部的实施例,基于本专利技术中的实施例,本领域技术人员在没有做出创造性劳动前提所获得的所有其他实施例,都属于本专利技术的保护范围。实施例一本专利技术提供了一种图形渲染缓冲区压缩表的调度方法,包括:步骤101:当GPU需要使用渲染缓冲区数据时,将预先由CPU维护的第一渲染缓冲区压缩映射表,加载到GPU硬件寄存器中;步骤102:根据所述GPU的渲染缓冲区的写操作,执行压缩,并更新渲染缓冲区压缩映射表;步骤103:根据所述GPU的渲染缓冲区的读操作,使用渲染缓冲区压缩映射表数据进行解压缩;步骤104:当GPU需要切换渲染缓冲区时,更新CPU驱动端维护的第二渲染缓冲区压缩映射表,并将所述第二渲染缓冲区压缩映射表加载到GPU硬件寄存器中。可选的,所述渲染缓冲区压缩映射表,由CPU通过编号对用户在定义渲染缓冲区时生成的无符号标识符进行管理,将所述无符号标识符映射为渲染缓冲区及渲染缓冲区压缩表存储地址空间。可选的,所述根据所述GPU的渲染缓冲区的写操作执行压缩,具体包括:采用DDPCM算法对GPU的片段数据进行压缩,如果DDPCM压缩成功,则按照DDPCM的压缩格式存储;如果DDPCM压缩不成功,则采用DO算法对GPU的片段数据进行压缩,如果DO压缩成功,则按照DO的压缩格式存储;如果DDPCM算法和DO算法都压缩不成功,则按照原始未压缩格式存储,并进行渲染缓冲区压缩表的更新。可选的,所述第一渲染缓冲区压缩映射表和所述第二渲染缓冲区压缩映射表的内容,具体包括:所述渲染缓冲区中每个Tile数据的压缩格式,所述压缩格式包括四种格式:用于表示缓冲区中数据为原始的未压缩数据的第一格式、用于表示缓冲区数据采用DDPCM压缩格式存放的第二格式,用于表示缓冲区数据采用DO压缩格式存放的第三格式,用于表示缓冲区数据为执行缓冲区清除后的值的第四格式。实施例二本专利技术提供了一种图形渲染缓冲区压缩表的调度装置,所述装置包括加载单元、写操作单元、读操作单元、切换单元,其中:所述加载单元,用于当GPU需要使用渲染缓冲区数据时,将预先由CPU维护的第一渲染缓冲区压缩映射表,加载到GPU硬件寄存器中;所述写操作单元,用于根据所述GPU的渲染缓冲区的写操作,执行压缩,并更新渲染缓冲区压缩映射表;所述读操作单元,用于根据所述GPU的渲染缓冲区的读操作,使用渲染缓冲区压缩映射表数据进行解压缩;所述切换单元,用于当GPU需要切换渲染缓冲区时,更新CPU驱动端维护的第二渲染缓冲区压缩映射表,并将所述第二渲染缓冲区压缩映射表加载到GPU硬件寄存器中。专利技术提供的一种渲染缓冲区压缩表的调度方法及装置,通过使用一组位于图形处理器(GPU)硬件的寄存器和位于主机(CPU)内存的渲染缓冲区压缩映射关系表对系统的渲染缓冲区压缩表进行管理,由CPU上运行的驱动程序负责维护渲染缓冲区压缩映射关系表,并在某个渲染缓冲区被使用时将其加载到GPU硬件。本专利技术使用一套压缩表实现了无限个渲染缓冲区数据的压缩解压缩及快速清除功能。能够实现动态的渲染缓冲区压缩表的加载和更新,提本文档来自技高网...

【技术保护点】
1.一种图形渲染缓冲区压缩表的调度方法,其特征在于:当GPU需要使用渲染缓冲区数据时,将预先由CPU维护的第一渲染缓冲区压缩映射表,加载到GPU硬件寄存器中;根据所述GPU的渲染缓冲区的写操作,执行压缩,并更新渲染缓冲区压缩映射表;根据所述GPU的渲染缓冲区的读操作,使用渲染缓冲区压缩映射表数据进行解压缩;当GPU需要切换渲染缓冲区时,更新CPU驱动端维护的第二渲染缓冲区压缩映射表,并将所述第二渲染缓冲区压缩映射表加载到GPU硬件寄存器中。

【技术特征摘要】
1.一种图形渲染缓冲区压缩表的调度方法,其特征在于:当GPU需要使用渲染缓冲区数据时,将预先由CPU维护的第一渲染缓冲区压缩映射表,加载到GPU硬件寄存器中;根据所述GPU的渲染缓冲区的写操作,执行压缩,并更新渲染缓冲区压缩映射表;根据所述GPU的渲染缓冲区的读操作,使用渲染缓冲区压缩映射表数据进行解压缩;当GPU需要切换渲染缓冲区时,更新CPU驱动端维护的第二渲染缓冲区压缩映射表,并将所述第二渲染缓冲区压缩映射表加载到GPU硬件寄存器中。2.根据权利要求1所述的调度方法,其特征在于:所述渲染缓冲区压缩映射表,由CPU通过编号对用户在定义渲染缓冲区时生成的无符号标识符进行管理,将所述无符号标识符映射为渲染缓冲区及渲染缓冲区压缩表存储地址空间。3.根据权利要求1所述的调度方法,其特征在于:所述根据所述GPU的渲染缓冲区的写操作执行压缩,具体包括:采用DDPCM算法对GPU的片段数据进行压缩,如果DDPCM压缩成功,则按照DDPCM的压缩格式存储;如果DDPCM压缩不成功,则采用DO算法对GPU的片段数据进行压缩,如果DO压缩成功,则按照DO的压缩格式存储;如果DDPCM算法和DO算法都压缩不成功,则按照原始未压...

【专利技术属性】
技术研发人员:郑新建张骏韩立敏任向隆裴希杰王世中
申请(专利权)人:中国航空工业集团公司西安航空计算技术研究所
类型:发明
国别省市:陕西,61

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

1