顶点数据处理方法、图形处理器、电子设备及存储介质技术

技术编号:36932862 阅读:14 留言:0更新日期:2023-03-22 18:55
本发明专利技术公开了一种顶点数据处理方法、图形处理器、设备及存储介质。该方法包括:每当完成基础线程的组建时,将所述基础线程的顶点数据缓冲区地址写入前端数据输出模块,并通知调度执行核心执行基础线程,按照基础线程组建顺序,依次申请与各基础线程分别对应的缓冲区资源;将完成缓冲区资源申请的各标准线程通知给调度执行核心,以供调度执行核心将执行各标准线程得到的顶点数据输出至前端数据输出模块中标准线程的顶点数据缓冲区地址。通过本发明专利技术的技术方案,线程构造器组建线程的数目不会受到顶点数据缓冲区空间的限制,充分利用了调度执行核心的运算资源,提高了图形处理器的工作效率。效率。效率。

【技术实现步骤摘要】
顶点数据处理方法、图形处理器、电子设备及存储介质


[0001]本专利技术涉及图像处理
,尤其涉及顶点数据处理方法、图形处理器、电子设备及存储介质。

技术介绍

[0002]目前图形处理器(graphics processing unit,GPU)图形渲染流水线中,前端着色器(shader)通常包含有顶点着色器(Vertex Shader,VS)、外壳着色器(Hull Shader,HS)、域着色器(DominShader,DS)和几何着色器(Geometry Shader,GS)等,这些前端着色器运算完成后都会输出顶点数据,这些顶点数据需要保存在一块顶点数据缓冲区。这块顶点数据缓冲区空间大小固定,为所有前端着色器共用。图形处理器运算是多线程并行运算,一个运算任务分解后由线程构造器先构造成一个一个的线程任务,再发往调度执行核心执行运算,调度执行核心根据自身的运算能力可以并行执行多个线程。
[0003]现有技术中,线程构造器在构造一个线程时,先分配好该线程需要的顶点数据缓冲区,才能将该线程发往调度执行核心去执行。该线程执行完成后,把运算结果保存到该顶点数据缓冲区,后端模块完成顶点数据读取后,才可以释放这块顶点数据缓冲区供其他线程使用。
[0004]专利技术人实现本专利技术的过程中,发现现有技术存在如下缺陷:当前端着色器需要执行的运算任务运算量较大时,会出现线程数多,线程运算时间长以及顶点数据存储量大等情况,线程构造器由于顶点数据缓冲区存储空间的限制,不能组建更多的线程,导致调度执行核心出现运算单元空载的问题,从而降低了图形处理器的运行效率。

技术实现思路

[0005]本专利技术提供了一种顶点数据处理方法、图形处理器、设备及存储介质,以解决标准线程组建因顶点数据缓冲区储存空间不足产生阻塞的问题。
[0006]第一方面,本专利技术提供了一种顶点数据处理方法,该方法由图形处理器中的线程构造器执行,包括:每当完成基础线程的组建时,将所述基础线程的顶点数据缓冲区地址写入前端数据输出模块,并通知调度执行核心执行基础线程;按照基础线程组建顺序,依次申请与各基础线程分别对应的缓冲区资源;将完成缓冲区资源申请的各标准线程通知给调度执行核心,并将各标准线程的顶点数据缓冲区地址写入前端数据输出模块,以供调度执行核心将执行各标准线程得到的顶点数据输出至前端数据输出模块中标准线程的顶点数据缓冲区地址。
[0007]第二方面,本专利技术提供了一种顶点数据处理方法,该方法由图形处理器中的调度执行核心执行,包括:每当检测到线程构造器通知执行的基础线程时,执行基础线程;其中,基础线程在调度执行核心中初始化设置为输出指令发射禁用状态;
每当检测到线程构造器通知的完成缓冲区资源申请的标准线程时,设置标准线程为输出指令发射使能状态;当执行至目标线程中的目标数据输出指令时,查询目标线程是否处于输出指令发射使能状态;若是,则将目标数据输出指令发送至前端数据输出模块,以供前端数据输出模块将针对目标线程计算得到的顶点数据,存储于线程构造器针对目标线程预先写入的顶点数据缓冲区地址中。
[0008]第三方面,本专利技术还提供了一种图形处理器,所述图形处理器至少包括线程构造器以及调度执行核心;线程构造器包括:基础线程组建模块,用于每当完成基础线程的组建时,将所述基础线程的顶点数据缓冲区地址写入前端数据输出模块,并通知调度执行核心执行基础线程;资源申请模块,用于按照基础线程组建顺序,依次申请与各基础线程分别对应的缓冲区资源;标准线程处理模块,用于将完成缓冲区资源申请的各标准线程通知给调度执行核心,以供调度执行核心将执行各标准线程得到的顶点数据输出至前端数据输出模块中标准线程的顶点数据缓冲区地址;调度执行核心包括:基础线程执行模块,用于每当检测到线程构造器通知执行的基础线程时,执行基础线程;其中,基础线程在调度执行核心中初始化设置为输出指令发射禁用状态;使能状态设置模块,用于每当检测到线程构造器通知的完成缓冲区资源申请的标准线程时,设置标准线程为输出指令发射使能状态;使能状态查询模块,用于当执行至目标线程中的目标数据输出指令时,查询目标线程是否处于输出指令发射使能状态;输出指令发送模块,用于若是,则将目标数据输出指令发送至前端数据输出模块,以供前端数据输出模块将针对目标线程计算得到的顶点数据,存储于线程构造器针对目标线程预先写入的顶点数据缓冲区地址中。
[0009]第四方面,本专利技术提供了一种电子设备,所述电子设备包括:至少一个图形处理器;以及与所述至少一个图形处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个图形处理器执行的计算机程序,所述计算机程序被所述至少一个图形处理器执行,以使所述至少一个图形处理器能够执行如本专利技术任一项所述的顶点数据处理。
[0010]第五方面,本专利技术提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使图形处理器执行时实现如本专利技术任一项所述的顶点数据处理。
[0011]本专利技术的技术方案,线程构造器可以在将未分配缓冲区资源的基础线程通知给调度器进行执行的同时,并行的为每个基础线程依次申请缓冲区,并将成功申请到缓冲区资
源的基础线程作为标准线程再通知给调度执行核心,进而调度执行核心可以将执行各标准线程得到的顶点数据输出至前端数据输出模块中标准线程的顶点数据缓冲区地址。本专利技术的技术方案有效解决了现有技术中的线程构造器因顶点数据缓冲区储存空间不足产生构造阻塞的问题,使得线程构造器构造线程的数目不会受到顶点数据缓冲区空间的限制,即使在顶点数据缓冲区空间不足时,保证了调度执行核心可以在顶点数据缓冲区空间不足时,也能有效的进行计算操作,充分利用了调度执行核心的运算资源,提高了图形处理器的工作效率。
[0012]应当理解,本部分所描述的内容并非旨在标识本专利技术的关键或重要特征,也不用于限制本专利技术的范围。本专利技术的其它特征将通过以下的说明书而变得容易理解。
附图说明
[0013]为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0014]图1是现有技术中的方法实现的一种顶点数据处理过程的交互图;图2是根据本专利技术实施例一提供的一种顶点数据处理方法的流程图;图3是本专利技术实施例一的方法所适用的一种顶点数据缓冲分配队列的结构示意图;图4是根据本专利技术实施例二提供的一种顶点数据处理方法的流程图;图5是本专利技术实施例二的方法所适用的一种输出指令发射使能表的结构示意图;图6是根据本专利技术实施例二提供的方法实现的一种顶点数据处理过程的交互图;图7是根据本专利技术实施例三提供的一种图形处理器的结构示意图;图8是实现本专利技术实施例的顶点数据处理方法的电子设备的结构示意图。
具体实施方式
[0015]为了使本
的人员更好地理解本专利技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种顶点数据处理方法,其特征在于,所述顶点数据处理方法由图形处理器中的线程构造器执行,包括:每当完成基础线程的组建时,将所述基础线程的顶点数据缓冲区地址写入前端数据输出模块,并通知调度执行核心执行基础线程;按照基础线程组建顺序,依次申请与各基础线程分别对应的缓冲区资源;将完成缓冲区资源申请的各标准线程通知给调度执行核心,以供调度执行核心将执行各标准线程得到的顶点数据输出至前端数据输出模块中标准线程的顶点数据缓冲区地址。2.根据权利要求1所述的方法,其特征在于,每当完成基础线程的组建时,将所述基础线程的顶点数据缓冲区地址写入前端数据输出模块,并通知调度执行核心执行基础线程,包括:响应于线程组建请求,向调度执行核心申请运算资源;根据调度器反馈的线程标识和通用寄存器资源,组建得到与线程组建请求匹配的基础线程;从顶点缓冲区中,预申请与所述基础线程对应的顶点数据缓冲区地址;将所述基础线程的顶点数据缓冲区地址写入前端数据输出模块,并通知调度执行核心执行基础线程。3.根据权利要求2所述的方法,其特征在于,在组建得到与线程组建请求匹配的基础线程之后,还包括:确定基础线程中顶点数据所需写入的顶点数据缓冲区的存储位置描述信息,并将基础线程的线程标识和存储位置描述信息作为一个队列元素,压入顶点数据缓冲区分配队列中;按照基础线程组建顺序,依次申请与各基础线程分别对应的缓冲区资源,包括:按照入队顺序,依次从顶点数据缓冲区分配队列中获取与当前基础线程对应的当前队列元素;根据当前队列元素,申请与当前线程对应的缓冲区资源;如果成功申请到与当前线程对应的缓冲区资源,则从顶点数据缓冲区分配队列中弹出当前队列元素,并将当前线程确定为标准线程。4.一种顶点数据处理方法,其特征在于,所述顶点数据处理方法由图形处理器中的调度执行核心执行,包括:每当检测到线程构造器通知执行的基础线程时,执行基础线程;其中,基础线程在调度执行核心中初始化设置为输出指令发射禁用状态;每当检测到线程构造器通知的完成缓冲区资源申请的标准线程时,设置标准线程为输出指令发射使能状态;当执行至目标线程中的目标数据输出指令时,查询目标线程是否处于输出指令发射使能状态;若是,则将目标数据输出指令发送至前端数据输出模块,以供前端数据输出模块将针对目标线程计算得到的顶点数据,存储于线程构造器针对目标线程预先写入的顶点数据缓冲区地址中。5.根据权利要求4所述的方法,其特征在于,每当检测到线程构造器通知的完成缓冲区
资源申请的标准线程时,设置标准线程为输出指令发射使能状态,包括:每当检测到线程构造器通知的完成缓冲区资源申请的标准线程时,在输出指令发射使能表中,将与标准线程匹配的表项值设置为与输出指令发射使能状态匹配的第一指示位;其中,输出指令发射使能表的表项数量为图形处理器支持的最大线程数,且各表项的表项值初始化设置为与输出指令发射禁止状态匹配...

【专利技术属性】
技术研发人员:阙恒张祖英朱康挺顾德明
申请(专利权)人:砺算科技上海有限公司
类型:发明
国别省市:

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

1