CN110223369B - Tbr架构的帧缓存写回方法、装置及计算机存储介质 - Google Patents

Tbr架构的帧缓存写回方法、装置及计算机存储介质 Download PDF

Info

Publication number
CN110223369B
CN110223369B CN201910490322.1A CN201910490322A CN110223369B CN 110223369 B CN110223369 B CN 110223369B CN 201910490322 A CN201910490322 A CN 201910490322A CN 110223369 B CN110223369 B CN 110223369B
Authority
CN
China
Prior art keywords
tile grid
tile
write
grid
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910490322.1A
Other languages
English (en)
Other versions
CN110223369A (zh
Inventor
马栋
卢通
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xi'an Xintong Semiconductor Technology Co ltd
Original Assignee
Xi'an Xintong Semiconductor Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xi'an Xintong Semiconductor Technology Co ltd filed Critical Xi'an Xintong Semiconductor Technology Co ltd
Priority to CN201910490322.1A priority Critical patent/CN110223369B/zh
Publication of CN110223369A publication Critical patent/CN110223369A/zh
Application granted granted Critical
Publication of CN110223369B publication Critical patent/CN110223369B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Image Generation (AREA)

Abstract

本发明实施例公开了一种TBR架构的帧缓存写回方法、装置及计算机存储介质;该方法可以包括:按照当前图像片段帧的Tile尺寸将当前帧划分为至少一个操作Tile网格单位;其中,每个操作Tile网格单位包括至少一个子Tile网格,且每个子Tile网格包括多个Tile;按照操作Tile网格单位的划分顺序,根据各所述操作Tile网格单位内所包含的子Tile网络的数据写入状态分别确定对各所述操作Tile网格单位是否写回。

Description

TBR架构的帧缓存写回方法、装置及计算机存储介质
技术领域
本发明实施例涉及图形处理器(GPU,Graphics Processing Unit)技术领域,尤其涉及一种基于分块渲染(TBR,Tile Based Rendering)架构的帧缓存写回方法、装置及计算机存储介质。
背景技术
随着半导体行业的不断发展以及智能手机、平板电脑、掌上游戏机等移动设备的普及,三维图形绘制技术在嵌入式系统尤其是移动设备中得到广泛应用。三维图形渲染需要处理大量的数据,导致嵌入式GPU需要非常大的带宽和电能消耗;为了给用户带来良好的视觉体验,嵌入式GPU通常还需要能够提供更高的分辨率,这些都对嵌入式GPU功耗提出了极高的要求。目前,嵌入式GPU大多采用TBR架构,该架构将整个屏幕划分成多个较小的分块(Tile),如图1所示,整个屏幕所显示的示例性图片被划分为9×10的Tile尺寸。在渲染过程中,GPU的每个核只对应处理一个Tile的图形数据。在进行片段后处理,例如模板测试、深度测试、混合、抖动、逻辑运算等处理时,会和GPU的片内分块缓存Tile buffer中的数据进行频繁的读写操作,如此能够降低嵌入式GPU与内存数据之间的交互,减低了功耗和处理带宽。
在TBR架构的GPU中,光栅化处理单元(ROP,Raster OPeratiuon Unit)包括深度模板测试、混合、抖动以及缓存等模块。当GPU渲染完成一个Tile的像素后,需要进行地址映射;接着通过总线将数据写回到片外的帧缓存Frame buffer。基于上述描述,在TBR架构的GPU中,写回效率会对GPU的显示帧率有极大的影响,如何设计高效的写回机制是GPU研究的重要问题之一。
发明内容
有鉴于此,本发明实施例期望提供一种TBR架构的帧缓存写回方法、装置及计算机存储介质;能够更快地进行写回操作,并且减少清除clear操作,提升了带宽性能,降低了能耗。
本发明实施例的技术方案是这样实现的:
第一方面,本发明实施例提供了一种TBR架构的帧缓存写回方法,所述方法应用于光栅化处理单元ROP内的写回模块,所述方法包括:
按照当前图像片段帧的Tile尺寸将当前帧划分为至少一个操作Tile网格单位;其中,每个操作Tile网格单位包括至少一个子Tile网格,且每个子Tile网格包括多个Tile;
按照操作Tile网格单位的划分顺序,根据各所述操作Tile网格单位内所包含的子Tile网络的数据写入状态分别确定对各所述操作Tile网格单位是否写回。
第二方面,本发明实施提供了一种TBR架构的帧缓存写回装置,所述装置应用于光栅化处理单元ROP内的写回模块,所述装置包括:划分部分以及写回部分;其中,
所述划分部分,经配置为按照当前图像片段帧的Tile尺寸将当前帧划分为至少一个操作Tile网格单位;其中,每个操作Tile网格单位包括至少一个子Tile网格,且每个子Tile网格包括多个Tile;
所述写回部分,经配置为按照所述划分部分针对操作Tile网格单位的划分顺序,根据各所述操作Tile网格单位内所包含的子Tile网络的数据写入状态分别确定对各所述操作Tile网格单位是否写回。
第三方面,本发明实施例提供了一种ROP单元内的写回模块,所述写回模块包括写回控制子模块、清除子模块和写回子模块;其中,
所述写回控制子模块,经配置为接收针对分块缓存Tile buffer模块的访问请求;以及判断所述访问请求的类型;
所述清除子模块,经配置为相应于所述访问请求针对写入状态下的深度模板数据,则执行:
依据写入使能信号是否有效判断是否更新写入对应Tile网格的脏位:若写入,则将当前Tile网格的脏位更新为写回标识;以及,
脏位更新后,依据所述访问请求中的读取地址确定对应Tile网格坐标:若Tile网格坐标所表示的Tile网格脏位为缺省标识,则表示所述Tile网格坐标所表示的Tile网格未存储数据,使用清除值clear代替从缓存中读出的所述Tile网格坐标所表示的Tile网格数据;否则不执行清除值clear代替;以及,
根据所述访问请求中的读取数据类型判断是否为写回模块进行读取:若为写回模块进行读取,则表示所述Tile网格坐标所表示的Tile网格数据将要被写回帧缓存内,将所述Tile网格坐标所表示的Tile网格数据对应的脏位标记为缺省标识;若不为写回状态读取,则将所述Tile网格坐标所表示的Tile网格数据对应的脏位保持不变;
相应于所述访问请求针对颜色数据,则执行:
依据颜色写入使能判断是否对颜色数据的Tile网格进行更新:若写入使能有效,则将所述颜色数据的Tile网格的脏位更新为写回标识,若写入使能无效则保持所述颜色数据的Tile网格的脏位不变;以及,
读取数据时,若读取地址对应Tile网格的脏位为缺省标识,则使用清除值clear代替所述Tile网格内的颜色数据;若为写入标识,则读取分块缓存中所述Tile网格内的颜色数据;以及
如果所述Tile网格中的脏位标记为1,则对所述Tile网格不执行清除值代替;
所述写回子模块,经配置为实现第一方面所述的一种TBR架构的帧缓存写回方法的步骤。
第四方面,本发明实施例提供了一种计算机存储介质,所述计算机存储介质存储有TBR架构的帧缓存写回程序,所述TBR架构的帧缓存写回程序被至少一个处理器执行时实现第一方面所述的TBR架构的帧缓存写回方法的步骤。
本发明实施例提供了一种TBR架构的帧缓存写回方法、装置及计算机存储介质;根据子Tile网格的数据写入状态对操作Tile网格单位执行写回操作,无需针对每个Tile均进行遍历并判断是否写回,减少了写回过程中写回模块进行写回操作以及判断是否进行写回的次数,进而降低了整个图像片段帧后端的带宽使用,提升了带宽性能,降低了能耗。
附图说明
图1为本发明实施例提供的一种经过划分Tile的示例性图片;
图2为本发明实施例提供的一种ROP的组成架构示意图;
图3为本发明实施例提供的一种TBR架构的帧缓存写回方法流程示意图;
图4为本发明实施例提供的一种4×4的Tile示意图;
图5为本发明实施例提供的一种Tile尺寸为8×4的图像片段;
图6为本发明实施例提供的一种清除操作的流程示意图;
图7为本发明实施例提供的一种ROP单元的具体实现示意图;
图8为本发明实施例提供的一种TBR架构的帧缓存写回装置组成示意图;
图9为本发明实施例提供的另一种TBR架构的帧缓存写回装置组成示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
参见图2所示的ROP单元的组成架构,目前对于ROP单元可以包括深度和模板测试模块、混合模块、分块缓存Tile buffer模块以及写回模块。具体工作流程为:首先通过深度和模板测试模块对片段进行深度和模板测试,然后利用混合模块进行混合,在完成上述处理后,将深度和模板测试的测试结果以及混合结果写入到Tile buffer模块中,接着再通过写回模块对Tile buffer模块中的数据进行写回。对于目前常规的写回模块,需要对每个Tile的像素进行遍历,如果发现Tile内的像素是dirty(即表示有数据写入)的,则对当前被遍历的Tile进行写回。最后在执行清除clear操作时,针对全屏幕进行clear,但是针对全屏幕的clear操作极其消耗资源;而在当前游戏、视频场景等复杂任务需求以及有限的芯片面积下,常规方案的写回方式会造成极大的带宽压力和能源的损耗,在显示器端会影响显示帧率,同时会对整个系统的性能造成极大的影响。
基于上述问题,本发明实施例期望提供一种TBR架构的帧缓存写回方法,该方法可以应用于ROP单元内的写回模块,参见图3,该方法可以包括:
S301:按照当前图像片段帧的Tile尺寸将当前帧划分为至少一个操作Tile网格单位;其中,每个操作Tile网格单位包括至少一个子Tile网格,且每个子Tile网格包括多个Tile;
S302:按照操作Tile网格单位的划分顺序,根据各所述操作Tile网格单位内所包含的子Tile网络的数据写入状态分别确定对各所述操作Tile网格单位是否写回。
通过图3所示的技术方案,根据子Tile网格的数据写入状态对操作Tile网格单位执行写回操作,无需针对每个Tile均进行遍历并判断是否写回,减少了写回过程中写回模块进行写回操作以及判断是否进行写回的次数,进而降低了整个图像片段帧后端的带宽使用,提升了带宽性能,降低了能耗。
对于图3所示的技术方案,在一种可能的实现方式中,所述子Tile网格的Tile尺寸为2×2;所述操作Tile网格单位的Tile尺寸为4×4。
对于图3所示的技术方案,在一种可能的实现方式中,所述按照操作Tile网格单位的划分顺序,根据各所述操作Tile网格单位内所包含的子Tile网络的数据写入状态分别确定对各所述操作Tile网格单位是否写回,包括:
按照操作Tile网格单位的划分顺序对所述操作Tile网格单位进行遍历:
针对被遍历的操作Tile网格单位,对所述被遍历的操作Tile网格单位内所包含的子Tile网格进行遍历;相应于被遍历的子Tile网格有数据写入,则将所述被遍历的子Tile网格对应的脏位由缺省标识标记为写回标识;相应于被遍历的子Tile网格无数据写入,则保持所述被遍历的子Tile网格对应的脏位为缺省标识;
当所述被遍历的操作Tile网格单位中存在脏位被标记为写回标识的子Tile网格,则确定对所述被遍历的操作Tile网格单位写回;
当所述被遍历的操作Tile网格单位中不存在脏位被标记为写回标识的子Tile网格,则确定对所述被遍历的操作Tile网格单位不写回。
对于上述实现方式,在具体实现过程中,写回标识可以用1表示,代表有数据写入,需要写回;缺省标识可以以0表示,代表没有数据写入,不需要写回。通过上述技术方案能够减少写回操作以及写回判断的次数,进而减少了整个图像片段后端的带宽,从而提高GPU的整体带宽和能效。
具体来说,图像片段帧的Tile尺寸大小通常为4×4、8×4、8×8、16×8以及16×16等,本发明实施例的技术方案可以优选地将上述Tile尺寸划分为2×2的子Tile网格进行脏位标记,当有数据写入该网格时,则将对应的脏dirty位标记为1。那么在读取Tile buffer缓存数据时,若脏位显示未写入数据,则此时就可以采用系统设置的清除clear值代替Tilebuffer缓存中被读取的数据。
以图4所示的一个4×4的Tile为例,可以被划分为4个2×2的子Tile网格。如果子Tile网络有数据写入,则子Tile网格对应的脏位置1。由于在TBR架构中,执行数据均是以quad为单位的;因此,在一个时钟内,就能判断此位置是否dirty,如果在第一个时钟内,2×2的子Tile网格被判断脏位为1,则不进行后继的判断,直接将这个4×4的Tile判断为dirty,然后将这个4×4的Tile进行写回操作。那么当执行清除clear操作时,先判断当前Tile是否脏位为1。当脏位为1,则此Tile有像素写入,那么就不需要对此Tile进行清除clear操作,如此就可以能够减少清除clear操作。
对于上述技术方案,举例来说,参见图5所示出的Tile尺寸为8×4的图像片段,将其划分为8个2×2的子Tile网格并进行编号,该图像片段可以包括2个操作Tile网格单位,其中,第一操作Tile网格单位包括编号为0、1、2、3的子Tile网格,第二操作Tile网格单位包括编号为4、5、6、7的子Tile网格。
首先,针对第一操作Tile网格单位,对编号为0、1、2、3的子Tile网格按照编号顺序进行遍历,如果0号子Tile网格有数据写入,则此0号子Tile网格脏位标记为1,并且把编号1、2、3的子Tile网格脏位也标记为1,从而表示编号0、1、2、3的子Tile网格都是要写回的;如果0号子Tile网格的脏位为0,表示此位置没有数据写入,则再判断1号子Tile网格的脏位是否为1。如果1号子Tile网格的脏位为1,则编号0、1、2、3的子Tile网格的脏位均标记为1;如果1号子Tile网格的脏位为0,表示此位置没有数据写入。直至完成对编号2和编号3的子Tile网格的遍历,如果编号0、1、2、3的子Tile网格的所有脏位标记都为0,则说明第一操作Tile网格单位没有数据写入,则对第一操作Tile网格单位不进行写回。
在对第一操作Tile网格单位操作完毕后,接着,针对第二操作Tile网格单位中编号为4、5、6、7的子Tile网格按照上述方式进行遍历,以确定是否对第二操作Tile网格单位进行写回。
通过上述示例,对于Tile尺寸为8×4的图像片段来说,常规方案需要进行32次判断及写回操作,而上述示例仅需要进行8次判断以及2次写回操作,从而减少了写回操作以及判断次数。需要说明的是,上述示例仅通过Tile尺寸为8×4的图像片段对本发明实施例的技术方案进行阐述,并非对本发明实施例进行具体限定,可以理解地,对于Tile尺寸为8×8、16×8以及16×16等的图像片段来说,均可以采用上述示例所展示的方案,以Tile尺寸为4×4的操作Tile网格单位进行实施,本发明实施例不做赘述。
对于上述图3所示的技术方案及其可能的实现方式,在进行写回之前,还需要进行清除操作,基于此,参见图6,所述方法还包括:
S601:接收针对分块缓存Tile buffer模块的访问请求;
S602:判断所述访问请求的类型;
相应于所述访问请求针对写入状态下的深度模板数据,则执行S603至S605:
S603:依据写入使能信号是否有效判断是否更新写入对应Tile网格的脏位:若写入,则将当前Tile网格的脏位更新为写回标识;以及,
S604:脏位更新后,依据所述访问请求中的读取地址确定对应Tile网格坐标:若Tile网格坐标所表示的Tile网格脏位为缺省标识则表示所述Tile网格坐标所表示的Tile网格未存储数据,使用清除值clear代替从缓存中读出的所述Tile网格坐标所表示的Tile网格数据;否则不执行清除值clear代替;以及,
S605:根据所述访问请求中的读取数据类型判断是否为写回模块进行读取:若为写回模块进行读取,则表示所述Tile网格坐标所表示的网格数据将要被写回帧缓存内,将所述Tile网格坐标所表示的Tile网格数据对应的脏位标记为缺省标识;若不为写回状态读取,则将所述Tile网格坐标所表示的网格数据对应的脏位保持不变;
相应于所述访问请求针对颜色数据,则执行S606至S608:
S606:依据颜色写入使能判断是否对颜色数据的Tile网格进行更新:若写入使能有效,则将颜色数据的Tile网格的脏位更新为写回标识,若写入使能无效则保持颜色数据的Tile网格的脏位不变;以及,
S607:读取数据时,若读取地址对应Tile网格的脏位为缺省标识,则使用清除值clear代替Tile网格内的颜色数据;若为写入标识,则读取分块缓存中Tile网格内的颜色数据;以及
S608:如果Tile网格中的脏位标记为1,则对此Tile网格不执行清除值代替。
通过图6所示的方案,减少了针对Tile网格的clear操作,避免了常规方案中针对所有Tile网格进行clear操作,降低了资源消耗,提升了带宽性能。
结合前述图3以及图6所示的技术方案,在本发明实施例中,对于ROP单元,其具体实现如图7所示,分块缓存模块可以包括颜色数据缓存以及深度模块数据缓存;其中,颜色数据缓存用于存储混合模块的混合结果,即颜色数据;而深度模块数据缓存用于存储深度模板测试模块的测试结果,即深度模板数据;而写回模块则可以包括写回控制子模块、清除子模块和写回子模块,对于写回控制子模块,可以实现前述图6所示方案中S601以及S602所述的步骤;对于清除子模块可以实现前述图6所示方案中S603至S605以及S606至S608所示的步骤,对于写回子模块,可以实现前述图3所示的技术方案,需要说明的是,在向帧缓存Frame buffer写回过程中,写回数据可以通过符合先进先出(FIFO,First In First Out)策略的存储器进行存储和写回。对于图7,其具体实现可以参见图3和图6中针对对应组件所实现步骤的说明,在此不再赘述。
基于前述实施例相同的发明构思,参见图8,其示出了本发明实施例提供的一种基于分块渲染TBR架构的帧缓存写回装置80的组成,该装置80可以应用于前述任一实施例所述的写回模块,该装置80可以包括:划分部分801以及写回部分802;其中,
所述划分部分801,经配置为按照当前图像片段帧的Tile尺寸将当前帧划分为至少一个操作Tile网格单位;其中,每个操作Tile网格单位包括至少一个子Tile网格,且每个子Tile网格包括多个Tile;
所述写回部分802,经配置为按照所述划分部分801针对操作Tile网格单位的划分顺序,根据各所述操作Tile网格单位内所包含的子Tile网络的数据写入状态分别确定对各所述操作Tile网格单位是否写回。
在上述方案中,所述子Tile网格的Tile尺寸为2×2;所述操作Tile网格单位的Tile尺寸为4×4。
在上述方案中,所述写回部分802,经配置为:
按照操作Tile网格单位的划分顺序对所述操作Tile网格单位进行遍历:
针对被遍历的操作Tile网格单位,对所述被遍历的操作Tile网格单位内所包含的子Tile网格进行遍历;相应于被遍历的子Tile网格有数据写入,则将所述被遍历的子Tile网格对应的脏位由缺省标识标记为写回标识;相应于被遍历的子Tile网格无数据写入,则保持所述被遍历的子Tile网格对应的脏位为缺省标识;
当所述被遍历的操作Tile网格单位中存在脏位被标记为写回标识的子Tile网格,则确定对所述被遍历的操作Tile网格单位写回;
当所述被遍历的操作Tile网格单位中不存在脏位被标记为写回标识的子Tile网格,则确定对所述被遍历的操作Tile网格单位不写回。
在上述方案中,参见图9,所述装置80还包括清除部分803,所述清除部分803经配置为:
接收针对分块缓存Tile buffer模块的访问请求;
判断所述访问请求的类型;
相应于所述访问请求针对写入状态下的深度模板数据,则执行:
依据写入使能信号是否有效判断是否更新写入对应Tile网格的脏位:若写入,则将当前Tile网格的脏位更新为写回标识;以及,
脏位更新后,依据所述访问请求中的读取地址确定对应Tile网格坐标:若Tile网格坐标所表示的Tile网格脏位为缺省标识,则表示所述Tile网格坐标所表示的Tile网格未存储数据,使用清除值clear代替从缓存中读出的所述Tile网格坐标所表示的Tile网格数据;否则不执行清除值clear代替;以及,
根据所述访问请求中的读取数据类型判断是否为写回模块进行读取:若为写回模块进行读取,则表示所述Tile网格坐标所表示的Tile网格数据将要被写回帧缓存内,将所述Tile网格坐标所表示的Tile网格数据对应的脏位标记为缺省标识;若不为写回状态读取,则将所述Tile网格坐标所表示的Tile网格数据对应的脏位保持不变;
相应于所述访问请求针对颜色数据,则执行:
依据颜色写入使能判断是否对颜色数据的Tile网格进行更新:若写入使能有效,则将所述颜色数据的Tile网格的脏位更新为写回标识,若写入使能无效则保持所述颜色数据的Tile网格的脏位不变;以及,
读取数据时,若读取地址对应Tile网格的脏位为缺省标识,则使用清除值clear代替所述Tile网格内的颜色数据;若为写入标识,则读取分块缓存中所述Tile网格内的颜色数据;以及
如果所述Tile网格中的脏位标记为1,则对所述Tile网格不执行清除值代替。
可以理解地,上述技术方案中TBR架构的帧缓存写回装置80中的各组成部分可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
因此,本实施例提供了一种计算机存储介质,所述计算机存储介质存储有TBR架构的帧缓存写回程序,所述TBR架构的帧缓存写回程序被至少一个处理器执行时实现图3或图6所述的TBR架构的帧缓存写回方法的步骤。
需要说明的是:本发明实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (8)

1.一种基于分块渲染TBR架构的帧缓存写回方法,其特征在于,所述方法应用于光栅化处理单元ROP内的写回模块,所述方法包括:
按照当前图像片段帧的Tile尺寸将当前帧划分为至少一个操作Tile网格单位;其中,每个操作Tile网格单位包括至少一个子Tile网格,且每个子Tile网格包括多个Tile;
按照操作Tile网格单位的划分顺序,根据各所述操作Tile网格单位内所包含的子Tile网络的数据写入状态分别确定对各所述操作Tile网格单位是否写回;
在进行写回之前,所述方法还包括:
接收针对分块缓存Tile buffer模块的访问请求;
判断所述访问请求的类型;
相应于所述访问请求针对写入状态下的深度模板数据,则执行:
依据写入使能信号是否有效判断是否更新写入对应Tile网格的脏位:若写入,则将当前Tile网格的脏位更新为写回标识;以及,
脏位更新后,依据所述访问请求中的读取地址确定对应Tile网格坐标:若Tile网格坐标所表示的Tile网格脏位为缺省标识,则表示所述Tile网格坐标所表示的Tile网格未存储数据,使用清除值clear代替从缓存中读出的所述Tile网格坐标所表示的Tile网格数据;否则不执行清除值clear代替;以及,
根据所述访问请求中的读取数据类型判断是否为写回模块进行读取:若为写回模块进行读取,则表示所述Tile网格坐标所表示的Tile网格数据将要被写回帧缓存内,将所述Tile网格坐标所表示的Tile网格数据对应的脏位标记为缺省标识;若不为写回状态读取,则将所述Tile网格坐标所表示的Tile网格数据对应的脏位保持不变;
相应于所述访问请求针对颜色数据,则执行:
依据颜色写入使能判断是否对颜色数据的Tile网格进行更新:若写入使能有效,则将所述颜色数据的Tile网格的脏位更新为写回标识,若写入使能无效则保持所述颜色数据的Tile网格的脏位不变;以及,
读取数据时,若读取地址对应Tile网格的脏位为缺省标识,则使用清除值clear代替所述Tile网格内的颜色数据;若为写入标识,则读取分块缓存中所述Tile网格内的颜色数据;以及
如果所述Tile网格中的脏位标记为1,则对所述Tile网格不执行清除值代替。
2.根据权利要求1所述的方法,其特征在于,所述子Tile网格的Tile尺寸为2×2;所述操作Tile网格单位的Tile尺寸为4×4。
3.根据权利要求1所述的方法,其特征在于,所述按照操作Tile网格单位的划分顺序,根据各所述操作Tile网格单位内所包含的子Tile网络的数据写入状态分别确定对各所述操作Tile网格单位是否写回,包括:
按照操作Tile网格单位的划分顺序对所述操作Tile网格单位进行遍历:
针对被遍历的操作Tile网格单位,对所述被遍历的操作Tile网格单位内所包含的子Tile网格进行遍历;相应于被遍历的子Tile网格有数据写入,则将所述被遍历的子Tile网格对应的脏位由缺省标识标记为写回标识;相应于被遍历的子Tile网格无数据写入,则保持所述被遍历的子Tile网格对应的脏位为缺省标识;
当所述被遍历的操作Tile网格单位中存在脏位被标记为写回标识的子Tile网格,则确定对所述被遍历的操作Tile网格单位写回;
当所述被遍历的操作Tile网格单位中不存在脏位被标记为写回标识的子Tile网格,则确定对所述被遍历的操作Tile网格单位不写回。
4.一种TBR架构的帧缓存写回装置,其特征在于,所述装置应用于光栅化处理单元ROP内的写回模块,所述装置包括:划分部分以及写回部分;其中,
所述划分部分,经配置为按照当前图像片段帧的Tile尺寸将当前帧划分为至少一个操作Tile网格单位;其中,每个操作Tile网格单位包括至少一个子Tile网格,且每个子Tile网格包括多个Tile;
所述写回部分,经配置为按照所述划分部分针对操作Tile网格单位的划分顺序,根据各所述操作Tile网格单位内所包含的子Tile网络的数据写入状态分别确定对各所述操作Tile网格单位是否写回;
所述装置还包括清除部分,所述清除部分经配置为:
接收针对分块缓存Tile buffer模块的访问请求;
判断所述访问请求的类型;
相应于所述访问请求针对写入状态下的深度模板数据,则执行:
依据写入使能信号是否有效判断是否更新写入对应Tile网格的脏位:若写入,则将当前Tile网格的脏位更新为写回标识;以及,
脏位更新后,依据所述访问请求中的读取地址确定对应Tile网格坐标:若Tile网格坐标所表示的Tile网格脏位为缺省标识,则表示所述Tile网格坐标所表示的Tile网格未存储数据,使用清除值clear代替从缓存中读出的所述Tile网格坐标所表示的Tile网格数据;否则不执行清除值clear代替;以及,
根据所述访问请求中的读取数据类型判断是否为写回模块进行读取:若为写回模块进行读取,则表示所述Tile网格坐标所表示的Tile网格数据将要被写回帧缓存内,将所述Tile网格坐标所表示的Tile网格数据对应的脏位标记为缺省标识;若不为写回状态读取,则将所述Tile网格坐标所表示的Tile网格数据对应的脏位保持不变;
相应于所述访问请求针对颜色数据,则执行:
依据颜色写入使能判断是否对颜色数据的Tile网格进行更新:若写入使能有效,则将所述颜色数据的Tile网格的脏位更新为写回标识,若写入使能无效则保持所述颜色数据的Tile网格的脏位不变;以及,
读取数据时,若读取地址对应Tile网格的脏位为缺省标识,则使用清除值clear代替所述Tile网格内的颜色数据;若为写入标识,则读取分块缓存中所述Tile网格内的颜色数据;以及
如果所述Tile网格中的脏位标记为1,则对所述Tile网格不执行清除值代替。
5.根据权利要求4所述的装置,其特征在于,所述子Tile网格的Tile尺寸为2×2;所述操作Tile网格单位的Tile尺寸为4×4。
6.根据权利要求4所述的装置,其特征在于,所述写回部分,经配置为:
按照操作Tile网格单位的划分顺序对所述操作Tile网格单位进行遍历:
针对被遍历的操作Tile网格单位,对所述被遍历的操作Tile网格单位内所包含的子Tile网格进行遍历;相应于被遍历的子Tile网格有数据写入,则将所述被遍历的子Tile网格对应的脏位由缺省标识标记为写回标识;相应于被遍历的子Tile网格无数据写入,则保持所述被遍历的子Tile网格对应的脏位为缺省标识;
当所述被遍历的操作Tile网格单位中存在脏位被标记为写回标识的子Tile网格,则确定对所述被遍历的操作Tile网格单位写回;
当所述被遍历的操作Tile网格单位中不存在脏位被标记为写回标识的子Tile网格,则确定对所述被遍历的操作Tile网格单位不写回。
7.一种ROP单元内的写回模块,其特征在于,所述写回模块包括写回控制子模块、清除子模块和写回子模块;其中,
所述写回控制子模块,经配置为接收针对分块缓存Tile buffer模块的访问请求;以及判断所述访问请求的类型;
所述清除子模块,经配置为相应于所述访问请求针对写入状态下的深度模板数据,则执行:
依据写入使能信号是否有效判断是否更新写入对应Tile网格的脏位:若写入,则将当前Tile网格的脏位更新为写回标识;以及,
脏位更新后,依据所述访问请求中的读取地址确定对应Tile网格坐标:若Tile网格坐标所表示的Tile网格脏位为缺省标识,则表示所述Tile网格坐标所表示的Tile网格未存储数据,使用清除值clear代替从缓存中读出的所述Tile网格坐标所表示的Tile网格数据;否则不执行清除值clear代替;以及,
根据所述访问请求中的读取数据类型判断是否为写回模块进行读取:若为写回模块进行读取,则表示所述Tile网格坐标所表示的Tile网格数据将要被写回帧缓存内,将所述Tile网格坐标所表示的Tile网格数据对应的脏位标记为缺省标识;若不为写回状态读取,则将所述Tile网格坐标所表示的Tile网格数据对应的脏位保持不变;
相应于所述访问请求针对颜色数据,则执行:
依据颜色写入使能判断是否对颜色数据的Tile网格进行更新:若写入使能有效,则将所述颜色数据的Tile网格的脏位更新为写回标识,若写入使能无效则保持所述颜色数据的Tile网格的脏位不变;以及,
读取数据时,若读取地址对应Tile网格的脏位为缺省标识,则使用清除值clear代替所述Tile网格内的颜色数据;若为写入标识,则读取分块缓存中所述Tile网格内的颜色数据;以及
如果所述Tile网格中的脏位标记为1,则对所述Tile网格不执行清除值代替;
所述写回子模块,经配置为实现权利要求1至3任一项所述的步骤。
8.一种计算机存储介质,其特征在于,所述计算机存储介质存储有TBR架构的帧缓存写回程序,所述TBR架构的帧缓存写回程序被至少一个处理器执行时实现权利要求1至3任一项所述的TBR架构的帧缓存写回方法的步骤。
CN201910490322.1A 2019-06-06 2019-06-06 Tbr架构的帧缓存写回方法、装置及计算机存储介质 Active CN110223369B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910490322.1A CN110223369B (zh) 2019-06-06 2019-06-06 Tbr架构的帧缓存写回方法、装置及计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910490322.1A CN110223369B (zh) 2019-06-06 2019-06-06 Tbr架构的帧缓存写回方法、装置及计算机存储介质

Publications (2)

Publication Number Publication Date
CN110223369A CN110223369A (zh) 2019-09-10
CN110223369B true CN110223369B (zh) 2023-06-06

Family

ID=67819648

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910490322.1A Active CN110223369B (zh) 2019-06-06 2019-06-06 Tbr架构的帧缓存写回方法、装置及计算机存储介质

Country Status (1)

Country Link
CN (1) CN110223369B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001037220A1 (en) * 1999-11-18 2001-05-25 Info Assets, Inc. Rendering image data
US7450120B1 (en) * 2003-12-19 2008-11-11 Nvidia Corporation Apparatus, system, and method for Z-culling

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8605102B1 (en) * 2009-10-08 2013-12-10 Nvidia Corporation Rasterization tile coalescer and reorder buffer
US8803898B2 (en) * 2009-12-17 2014-08-12 Arm Limited Forming a windowing display in a frame buffer
US9495781B2 (en) * 2012-06-21 2016-11-15 Nvidia Corporation Early sample evaluation during coarse rasterization
US9640148B2 (en) * 2013-06-03 2017-05-02 Arm Limited Method of and apparatus for controlling frame buffer operations
CN106683036A (zh) * 2016-12-12 2017-05-17 中国航空工业集团公司西安航空计算技术研究所 一种面向gpu高效绘制的帧缓冲区存储编码方法
US10672176B2 (en) * 2017-08-31 2020-06-02 Intel Corporation Apparatus and method for processing commands in tile-based renderers
CN108510430B (zh) * 2018-03-27 2024-07-12 长沙景嘉微电子股份有限公司 基于分块渲染的gpu中一种资源共享的实现方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001037220A1 (en) * 1999-11-18 2001-05-25 Info Assets, Inc. Rendering image data
US7450120B1 (en) * 2003-12-19 2008-11-11 Nvidia Corporation Apparatus, system, and method for Z-culling

Also Published As

Publication number Publication date
CN110223369A (zh) 2019-09-10

Similar Documents

Publication Publication Date Title
JP3966832B2 (ja) 描画処理装置、及び、描画処理方法
JP4880759B2 (ja) 3dグラフィック回路のための画素キャッシュ
US7683905B1 (en) Methods of processing graphics data including reading and writing buffers
US9830264B2 (en) Cache memory system and operating method for the same
JP4280270B2 (ja) 幾何プリミティブのインデックスを外す方法、ラスタ化装置、コンピュータ可読媒体
US9013479B2 (en) Apparatus and method for tile-based rendering
US10769837B2 (en) Apparatus and method for performing tile-based rendering using prefetched graphics data
US7053904B1 (en) Position conflict detection and avoidance in a programmable graphics processor
JPH09179999A (ja) 画像生成方法およびその装置
US11016802B2 (en) Techniques for ordering atomic operations
US9053040B2 (en) Filtering mechanism for render target line modification
CN110223369B (zh) Tbr架构的帧缓存写回方法、装置及计算机存储介质
TWI554975B (zh) 具有遮罩直接記憶體存取之圖形遠端系統與圖形處理方法
CN116385253B (zh) 图元绘制方法、装置、计算机设备和存储介质
US7508397B1 (en) Rendering of disjoint and overlapping blits
US8269769B1 (en) Occlusion prediction compression system and method
US8390619B1 (en) Occlusion prediction graphics processing system and method
JP2003323339A (ja) メモリアクセス装置、半導体デバイス、メモリアクセス制御方法、コンピュータプログラム及び記録媒体
US7333106B1 (en) Method and apparatus for Z-buffer operations
US20200380745A1 (en) Methods and apparatus for viewpoint visibility management
US20050024371A1 (en) Display data transfer apparatus and method
US7996622B1 (en) Detecting unused cache lines
US20120062578A1 (en) Graphic processing apparatus and computer-readable medium storing graphic processing program
CN109978977B (zh) 使用预取的图形数据执行基于图块的渲染的装置和方法
CN112233206B (zh) 字符图像生成方法、装置、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Ma Dong

Inventor after: Lu Tong

Inventor before: Lu Tong

Inventor before: Huang Hucai

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200226

Address after: 710065 room 21101, floor 11, unit 2, building 1, Wangdu, No. 3, zhangbayi Road, Zhangba Street office, hi tech Zone, Xi'an City, Shaanxi Province

Applicant after: Xi'an Xintong Semiconductor Technology Co.,Ltd.

Address before: 710077 D605, Main R&D Building of ZTE Industrial Park, No. 10 Tangyannan Road, Xi'an High-tech Zone, Shaanxi Province

Applicant before: Xi'an Botuxi Electronic Technology Co.,Ltd.

GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: Room 301, Building D, Yeda Science and Technology Park, No. 300 Changjiang Road, Yantai Area, China (Shandong) Pilot Free Trade Zone, Yantai City, Shandong Province

Patentee after: Xi'an Xintong Semiconductor Technology Co.,Ltd.

Address before: Room 21101, 11 / F, unit 2, building 1, Wangdu, No. 3, zhangbayi Road, Zhangba Street office, hi tech Zone, Xi'an City, Shaanxi Province

Patentee before: Xi'an Xintong Semiconductor Technology Co.,Ltd.