光栅器有序视图的线程处理方法、装置、设备和存储介质制造方法及图纸

技术编号:36810039 阅读:25 留言:0更新日期:2023-03-09 00:39
本申请涉及一种光栅器有序视图的线程处理方法、装置、设备和存储介质,包括:接收输入图元;光栅化所述输入图元;将光栅化后的所述输入图元和正在组装的第一线程束进行重叠检测:若未重叠,将所述输入图元加入正在组装的第一线程束中,等待启动;若重叠,启动所述第一线程束。本发明专利技术在硬件线程组装过程中,确保任何线程束内部不包含重叠的像素,确定了无序访问视图中不同线程访问相同地址时的先后次序,赋予了光栅器无序访问视图有序访问的属性,提高了渲染效果,也拓展了其在图形绘制当中的使用场景。用场景。用场景。

【技术实现步骤摘要】
光栅器有序视图的线程处理方法、装置、设备和存储介质


[0001]本申请涉及图形处理器
,特别是涉及一种光栅器有序视图的线程处理方法、装置、设备和存储介质。

技术介绍

[0002]无序访问视图(Unordered Access View,UAV)是无序访问资源的视图,使用UAV可通过多个线程同时进行无序读/写访问,且不会产生内存冲突。UAV支持以任何顺序读取和写入到纹理或其他资源,通常情况下UAV用于将已更新的结果写入到纹理中,而该纹理在接下来的绘制过程中会被绑定在着色器资源视图(Shader Resource View,SRV)上通过纹理读取指令被访问。
[0003]但是,在一些应用场景下,采用UAV的访问方式并不能很好的对图形进行渲染,例如铁丝网、烟雾、火、植被和彩色玻璃等物体使用透明度来获得所需的效果,当处理在玻璃建筑物前绘制植被的图形时,需要将多个包含透明度的纹理合成在一起,然而标准图形管道可能在空间中无法正确地将当多个包含透明度的纹理进行重叠,导致渲染效果不佳的问题。
[0004]因此,本领域的技术人员致力于开发一种赋予UAV有序访问的属性,进而提高无序访问视图的渲染效果。

技术实现思路

[0005]基于此,有必要针对上述技术问题,提供一种光栅器有序视图的线程处理方法、装置、设备和存储介质,用于解决传统技术中标准图形管道可能在空间中无法正确地将当多个包含透明度的纹理进行重叠,导致渲染效果不佳的问题。
[0006]第一方面,本申请提供了一种光栅器有序视图的线程处理方法,包括:
[0007]接收输入图元;
[0008]光栅化所述输入图元;
[0009]将光栅化后的所述输入图元和正在组装的第一线程束进行重叠检测:
[0010]若未重叠,将所述输入图元加入正在组装的第一线程束中,等待启动;
[0011]若重叠,启动所述第一线程束。
[0012]在其中一个实施例中,所述启动所述第一线程束之前的步骤还包括:
[0013]将组装完成的所述第一线程束和正在运行的线程束进行命中测试:
[0014]若命中,将所述第一线程束进行下一次命中测试;
[0015]若缺失,启动所述第一线程束。
[0016]在其中一个实施例中,将光栅化后的所述输入图元和正在组装的线程束进行重叠检测的步骤包括:
[0017]接收到所述输入图元后,调取所述第一线程束中各图元的图元信息;
[0018]检测所述输入图元的图元信息和所述第一线程束中各图元的图元信息之间是否
存在重叠像素;
[0019]其中,图元信息是光栅化所述输入图元时生成的。
[0020]在其中一个实施例中,所述启动所述第一线程束之前的步骤还包括:
[0021]判断组装完成的所述第一线程束是否满足预设条件,若满足,则生成线程信息,依据于所述线程信息,将所述第一线程束和正在运行的线程束进行命中测试;所述线程信息包括线程标识和该线程中各图元的图元信息;所述图元信息包括图元的坐标和覆盖信息;
[0022]所述预设条件包括:
[0023]对组装完成的所述第一线程束中所包含的图元的像素块进行计数,若计数结果大于等于一个线程束中所能容纳的最大数值,和/或所述组装完成的第一线程束中包含绘制命令中最后一个图元。
[0024]在其中一个实施例中,所述将组装完成的所述第一线程束和正在运行的线程束进行命中测试的步骤包括:
[0025]所述第一线程束组装完成后,调取正在运行的线程束的线程信息;
[0026]检测所述第一线程束中的图元信息和正在运行的线程束中的图元信息之间是否存在重叠像素。
[0027]在其中一个实施例中,所述启动所述第一线程束的步骤包括:
[0028]响应于启动信号,生成无序访问视图开始信号,其中,所述启动信号是所述第一线程束组装完成后或命中测试结果为缺失时生成的;
[0029]响应于所述无序访问视图开始信号,执行所述第一线程束;
[0030]执行结束后,生成无序访问视图结束信号;
[0031]响应于所述无序访问视图结束信号,释放所述第一线程束中所包含的图元。
[0032]在其中一个实施例中,所述执行所述第一线程束之前的步骤还包括:
[0033]响应于所述启动信号,将所述第一线程束加入待启动队列中;
[0034]响应于所述无序访问视图开始信号,将所述第一线程束从待启动队列中移除后,执行所述第一线程束。
[0035]在其中一个实施例中,所述执行所述第一线程束之后的步骤还包括:
[0036]响应于所述无序访问视图结束信号,将所述第一线程束加入等待释放线程队列中,并生成释放信号;
[0037]响应于所述释放信号,将所述第一线程束从所述等待释放线程队列中移除后,释放所述第一线程束中所包含的图元。
[0038]第二方面,本申请还提供了一种光栅器有序视图的线程处理装置,包括:
[0039]执行模块,用于接收输入图元;
[0040]光栅化模块,用于光栅化所述输入图元;
[0041]重叠检测模块,用于将光栅化后的所述输入图元和正在组装的第一线程束进行重叠检测,并输出检测结果;
[0042]线程组装模块,用于当检测结果是未重叠时,将所述输入图元加入正在组装的第一线程束中,等待启动;还用于当检测结果是重叠时,输出第一启动信号;
[0043]所述执行模块,还用于根据所述第一启动信号,启动所述第一线程束。
[0044]在其中一个实施例中,所述线程处理装置还包括:
[0045]排序模块,用于将组装完成的所述第一线程束和正在运行的线程束进行命中测试,并输出测试结果;还用于当所述测试结果是命中时,将所述第一线程束进行下一次命中测试;还用于当所述测试结果是缺失时,输出第二启动信号;
[0046]所述执行模块,还用于根据所述第二启动信号,启动所述第一线程束。
[0047]第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
[0048]接收输入图元;
[0049]光栅化所述输入图元;
[0050]将光栅化后的所述输入图元和正在组装的第一线程束进行重叠检测:
[0051]若未重叠,将所述输入图元加入正在组装的第一线程束中,等待启动;
[0052]若重叠,启动所述第一线程束。
[0053]第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
[0054]接收输入图元;
[0055]光栅化所述输入图元;
[0056]将光栅化后的所述输入图元和正在组装的第一线程束进行重叠检测:
[0057]若未重叠,将所述输入图元加入正在组装的第一线程束中,等待启动本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种光栅器有序视图的线程处理方法,其特征在于,包括:接收输入图元;光栅化所述输入图元;将光栅化后的所述输入图元和正在组装的第一线程束进行重叠检测:若未重叠,将所述输入图元加入正在组装的第一线程束中,等待启动;若重叠,启动所述第一线程束。2.根据权利要求1所述的线程处理方法,其特征在于,所述启动所述第一线程束之前的步骤还包括:将组装完成的所述第一线程束和正在运行的线程束进行命中测试:若命中,将所述第一线程束进行下一次命中测试;若缺失,启动所述第一线程束。3.根据权利要求1所述的线程处理方法,其特征在于,将光栅化后的所述输入图元和正在组装的线程束进行重叠检测的步骤包括:接收到所述输入图元后,调取所述第一线程束中各图元的图元信息;检测所述输入图元的图元信息和所述第一线程束中各图元的图元信息之间是否存在重叠像素;其中,图元信息是光栅化所述输入图元时生成的。4.根据权利要求2所述的线程处理方法,其特征在于,所述启动所述第一线程束之前的步骤还包括:判断组装完成的所述第一线程束是否满足预设条件,若满足,则生成线程信息,依据于所述线程信息,将所述第一线程束和正在运行的线程束进行命中测试;所述线程信息包括线程标识和该线程中各图元的图元信息;所述图元信息包括图元的坐标和覆盖信息;所述预设条件包括:对组装完成的所述第一线程束中所包含的图元的像素块进行计数,若计数结果大于等于一个线程束中所能容纳的最大数值,和/或所述组装完成的第一线程束中包含绘制命令中最后一个图元。5.根据权利要求4所述的线程处理方法,其特征在于,所述将组装完成的所述第一线程束和正在运行的线程束进行命中测试的步骤包括:所述第一线程束组装完成后,调取正在运行的线程束的线程信息;检测所述第一线程束中的图元信息和正在运行的线程束中的图元信息之间是否存在重叠像素。6.根据权利要求1或2所述的线程处理方法,其特征在于,所述启动所述第一线程束的步骤包括:响应于启动信号,生成无序访问视图开始信号,其中,所述启动信号是所述第一线程束组装完成后或命中测试结果为缺失时生成的;响应于所述无序访问视图开始信号,执行所述第一线程束;执行结...

【专利技术属性】
技术研发人员:李磊武凤霞
申请(专利权)人:格兰菲智能科技有限公司
类型:发明
国别省市:

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

1