图形片段的后处理方法及装置制造方法及图纸

技术编号:30141277 阅读:9 留言:0更新日期:2021-09-23 15:04
本发明专利技术公开了一种图形片段的后处理方法及装置。其中,该方法包括:获取对源片段进行后处理的处理消息,其中,源片段为需要进行后处理的图形片段;基于处理消息判断后处理系统是否开启裁剪测试模块,其中,后处理系统为用于对源片段进行后处理的系统;在后处理系统未开启裁剪测试模块时,将源片段同时输入到透明度测试模块、模板测试模块以及深度测试模块,并基于透明度测试模块、模板测试模块以及深度测试模块的开启状态对源片段并行执行透明度测试、模板测试以及深度测试。本发明专利技术解决了相关技术中对图形片段的后处理效率较低使得GPU的像素输出率较低的技术问题。像素输出率较低的技术问题。像素输出率较低的技术问题。

【技术实现步骤摘要】
图形片段的后处理方法及装置


[0001]本专利技术涉及计算机
,具体而言,涉及一种图形片段的后处理方法及装置。

技术介绍

[0002]在图形处理器GPU设计中,通常光栅化后的片段都需要通过完整的测试逻辑,完成覆盖和遮挡的测试后,才能执行下一个渲染任务,如果不进行测试,就会出现奇怪的渲染场景,进行混合和逻辑运算的目的也是为了各个渲染任务之间可以做到平滑过渡,不会出现非常生硬的变换,但是由于前后片段渲染输出的时间顺序,不能保证各个片段之间是否存在遮挡和覆盖的情况,就需要首先顺序保存之前的染色片段,然后与之后染色片段进行深度和模板引擎stencil的对比,如果不满足要求,就剔除,或者执行用户需要的操作任务,此时如果不采用高速缓冲存储器cache进行缓存,就需要频繁地访问外部存储,导致测试和逻辑运算的时间很长,也会阻塞前端片段渲染任务和整个图形渲染的管线,所以在片段后期的处理速度也就直接影响了渲染器的工作效率。
[0003]因此,在增加颜色cache和深度cache后,顺序地执行测试任务,通过顺序流水线的方式,也会频繁地访问外存导致片段后处理的效率很低,从而直接影响了整个图形管线的像素输出效率。
[0004]针对上述相关技术中对图形片段的后处理效率较低,使得GPU的像素输出率较低的问题,目前尚未提出有效的解决方案。

技术实现思路

[0005]本专利技术实施例提供了一种图形片段的后处理方法及装置,以至少解决相关技术中对图形片段的后处理效率较低使得GPU的像素输出率较低的技术问题。
[0006]根据本专利技术实施例的一个方面,提供了一种图形片段的后处理方法,包括:获取对源片段进行后处理的处理消息,其中,所述源片段为需要进行后处理的图形片段;基于所述处理消息判断后处理系统是否开启裁剪测试模块,其中,所述后处理系统为用于对所述源片段进行后处理的系统;在所述后处理系统未开启所述裁剪测试模块时,将所述源片段同时输入到透明度测试模块、模板测试模块以及深度测试模块,并基于所述透明度测试模块、所述模板测试模块以及所述深度测试模块的开启状态对所述源片段并行执行所述透明度测试、所述模板测试以及所述深度测试。
[0007]可选地,在获取对源片段进行后处理的处理消息之前,该图形片段的后处理方法还包括:生成所述源片段,其中,所述源片段以Quad为基本处理模块;按照预定存储方式将所述源片段存储至先进先出FIFO存储器。
[0008]可选地,基于所述处理消息判断后处理系统是否开启裁剪测试模块,包括:获取控制状态机发送的剪裁使能状态信息;基于所述剪裁使能状态信息判断所述后处理系统是否开启所述裁剪测试模块。
[0009]可选地,基于所述透明度测试模块、所述模板测试模块以及所述深度测试模块的
开启状态对所述源片段并行执行所述透明度测试、所述模板测试以及所述深度测试,包括:确定所述后处理系统同时开启所述透明度测试模块、所述模板测试模块以及所述深度测试模块;将所述源片段同时输入至所述透明度测试模块、所述模板测试模块以及所述深度测试模块中;分别在所述透明度测试模块、所述模板测试模块以及所述深度测试模块中对所述源片段执行所述透明度测试、所述模板测试以及所述深度测试。
[0010]可选地,分别在所述透明度测试模块、所述模板测试模块以及所述深度测试模块中对所述源片段执行所述透明度测试、所述模板测试以及所述深度测试,包括:在所述透明度测试模块中生成用于进行透明度测试的透明度执行掩码,并在所述模板测试模块中生成用于进行模板测试的模板执行掩码;将所述透明度执行掩码和所述模板执行掩码传递到所述深度测试模块中,以对所述源片段执行深度测试。
[0011]可选地,基于所述透明度测试模块、所述模板测试模块以及所述深度测试模块的开启状态对所述源片段并行执行所述透明度测试、所述模板测试以及所述深度测试,包括:确定所述后处理系统未同时开启所述透明度测试模块、所述模板测试模块以及所述深度测试模块;将所述源片段同时输入至所述透明度测试模块、所述模板测试模块以及所述深度测试模块中;将从所述深度测试模块中输出的源片段输入到混合模块中,同时将所述源片段的深度信息以及模板信息分别输出到深度掩码模块和模板掩码模块。
[0012]可选地,基于所述透明度测试模块、所述模板测试模块以及所述深度测试模块的开启状态对所述源片段并行执行所述透明度测试、所述模板测试以及所述深度测试,包括:确定所述后处理系统仅开启所述透明度测试模块或所述模板测试模块中的任意一个,并开启深度测试模块;在所述透明度测试模块中生成用于进行透明度测试的透明度执行掩码,或在所述模板测试模块中生成用于进行模板测试的模板执行掩码;将所述透明度执行掩码以及所述模板执行掩码传递到所述深度测试模块中执行掩码操作,得到执行掩码标识;在所述深度测试模块中按照所述执行掩码的标识,对所述透明度测试模块和所述模板测试模块进行像素剔除以及模板更新。
[0013]可选地,基于所述透明度测试模块、所述模板测试模块以及所述深度测试模块的开启状态对所述源片段并行执行所述透明度测试、所述模板测试以及所述深度测试,包括:确定所述后处理系统中所述透明度测试模块、所述模板测试模块以及所述深度测试模块均未开启;将所述模板测试模块的模板信息以及所述深度测试模块的深度信息分别输出到所述后处理系统中的模板掩码模块以及深度掩码模块中,同时将像素信息输出到所述后处理系统中的像素混合模块中。
[0014]可选地,该图形片段的后处理方法还包括:判断所述后处理系统的混合操作模块是否开启;在所述混合操作模块开启的情况下,将所述像素信息输入到所述后处理系统中的像素混合模块中;在所述混合操作模块未开启的情况下,将所述像素信息输出到所述后处理系统的像素掩码模块中,并判断所述后处理系统的逻辑操作模块是否开启;在所述逻辑操作模块开启的情况下,将所述像素信息输入到所述后处理系统的像素逻辑模块。
[0015]根据本专利技术实施例的另外一个方面,还提供了一种图形片段的后处理装置,包括:获取单元,用于获取对源片段进行后处理的处理消息,其中,所述源片段为需要进行后处理的图形片段;判断单元,用于基于所述处理消息判断后处理系统是否开启裁剪测试模块,其中,所述后处理系统为用于对所述源片段进行后处理的系统;处理单元,用于在所述后处理
系统未开启所述裁剪测试模块时,将所述源片段同时输入到透明度测试模块、模板测试模块以及深度测试模块,并基于所述透明度测试模块、所述模板测试模块以及所述深度测试模块的开启状态对所述源片段并行执行所述透明度测试、所述模板测试以及所述深度测试。
[0016]可选地,该图形片段的后处理装置还包括:生成单元,用于在获取对源片段进行后处理的处理消息之前,生成所述源片段,其中,所述源片段以Quad为基本处理模块;存储单元,用于按照预定存储方式将所述源片段存储至先进先出FIFO存储器。
[0017]可选地,所述判断单元,包括:第一获取模块,用于获取控制状态机发送的剪裁使能状态信息;第一判断模块,用于基于所述剪裁使能状态信息本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种图形片段的后处理方法,其特征在于,包括:获取对源片段进行后处理的处理消息,其中,所述源片段为需要进行后处理的图形片段;基于所述处理消息判断后处理系统是否开启裁剪测试模块,其中,所述后处理系统为用于对所述源片段进行后处理的系统;在所述后处理系统未开启所述裁剪测试模块时,将所述源片段同时输入到透明度测试模块、模板测试模块以及深度测试模块,并基于所述透明度测试模块、所述模板测试模块以及所述深度测试模块的开启状态对所述源片段并行执行所述透明度测试、所述模板测试以及所述深度测试。2.根据权利要求1所述的方法,其特征在于,在获取对源片段进行后处理的处理消息之前,所述方法还包括:生成所述源片段,其中,所述源片段以Quad为基本处理模块;按照预定存储方式将所述源片段存储至先进先出FIFO存储器。3.根据权利要求1所述的方法,其特征在于,基于所述处理消息判断后处理系统是否开启裁剪测试模块,包括:获取控制状态机发送的剪裁使能状态信息;基于所述剪裁使能状态信息判断所述后处理系统是否开启所述裁剪测试模块。4.根据权利要求1所述的方法,其特征在于,基于所述透明度测试模块、所述模板测试模块以及所述深度测试模块的开启状态对所述源片段并行执行所述透明度测试、所述模板测试以及所述深度测试,包括:确定所述后处理系统同时开启所述透明度测试模块、所述模板测试模块以及所述深度测试模块;将所述源片段同时输入至所述透明度测试模块、所述模板测试模块以及所述深度测试模块中;分别在所述透明度测试模块、所述模板测试模块以及所述深度测试模块中对所述源片段执行所述透明度测试、所述模板测试以及所述深度测试。5.根据权利要求4所述的方法,其特征在于,分别在所述透明度测试模块、所述模板测试模块以及所述深度测试模块中对所述源片段执行所述透明度测试、所述模板测试以及所述深度测试,包括:在所述透明度测试模块中生成用于进行透明度测试的透明度执行掩码,并在所述模板测试模块中生成用于进行模板测试的模板执行掩码;将所述透明度执行掩码和所述模板执行掩码传递到所述深度测试模块中,以对所述源片段执行深度测试。6.根据权利要求1所述的方法,其特征在于,基于所述透明度测试模块、所述模板测试模块以及所述深度测试模块的开启状态对所述源片段并行执行所述透明度测试、所述模板测试以及所述深度测试,包括:确定所述后处理系统未同时开启所述透明度测试模块、所述模板测试模块以及所述深度测试模块;将所述源片段同时输入至所述透明度测试模块、所述模板测试模块以及所述深度测试
模块中;将从所述深度测试模块中输出的源片段输入到混合模块中,同时将所述源片段的深度信息以及模板信息分别输出到深度掩码模块和模板掩码模块。7.根据权利要求1所述的方法,其特征在于,基于...

【专利技术属性】
技术研发人员:吴兴涛
申请(专利权)人:华夏芯北京通用处理器技术有限公司
类型:发明
国别省市:

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

1