一种图形渲染管线的控制方法、装置及计算机存储介质制造方法及图纸

技术编号:22077862 阅读:41 留言:0更新日期:2019-09-12 14:53
本发明专利技术实施例公开了一种图形渲染管线的控制方法、装置及计算机存储介质;该装置包括:命令处理器CP、由多个宏处理核心MC组成的运算阵列Array、宏处理核心控制器MCC、多边形链表构造器PLB以及显存Memory。通过增加了MCC,实现了CP对MC的流水化处理,当有MC在处理完当前批次顶点的染色任务后,已染色的顶点将存入Memory并且此MC会接受新批次的顶点,并且已染色的顶点可以进入PLB进行下一步的处理。从而提高MC的利用率,并且提高图形渲染管线的渲染性能。

A Control Method, Device and Computer Storage Media for Graphic Rendering Pipeline

【技术实现步骤摘要】
一种图形渲染管线的控制方法、装置及计算机存储介质
本专利技术实施例涉及图形处理器(GPU,GraphicsProcessingUnit)
,尤其涉及一种图形渲染管线的控制方法、装置及计算机存储介质。
技术介绍
在统一渲染架构中,GPU的运算阵列Array中的运算单元,即宏处理核心(MC,MacroCore)彼此相互独立,且均包含顶点染色器和片元染色器,但在同一时间,单个MC只能对上述染色器中的一种染色器使能。在一些统一渲染方案中,为了控制方便,通常会采用“间断式”的渲染方式,即CPU或主机通过命令处理器(CP,CommandProcessor)下发一个绘制Draw命令,从而驱动Array中的一个或多个MC进行顶点染色,染色完毕之后存入GPU中的显存Memory,再通过多边形链表构造器(PLB,PolygonListBuilder)处理,处理完毕后,CP接受到反馈后向CPU或主机发送中断,随后CPU再下发下一个命令。而若该Draw命令需要同时用到多个MC中的顶点染色器,其要等到所有MC都执行完之后才会将所有已染色的顶点存入Memory再进行下一命令批次下发操作。对于上述“间断式”的统一渲染方案,存在着图形渲染管线断流的问题,导致整条图形渲染管线利用率降低,除此之外,当绘制复杂图形命令时,需要动用多个MC进行顶点染色,由于染色复杂程度不均衡的原因,会使得各个MC之间的染色速度出现差异,即会发生染色早已完毕的MC需等待染色速度较慢的MC全部完成后,才将所有完成染色的顶点存入Memory的情况,也降低了MC的利用率。
技术实现思路
有鉴于此,本专利技术实施例期望提供一种图形渲染管线的控制方法、装置及计算机存储介质;提高MC的利用率,并且提高图形渲染管线的渲染性能。本专利技术实施例的技术方案是这样实现的:第一方面,本专利技术实施例提供了一种图形渲染管线的控制装置,所述装置包括:命令处理器CP、由多个宏处理核心MC组成的运算阵列Array、宏处理核心控制器MCC、多边形链表构造器PLB以及显存Memory;其中,所述CP,经配置为:根据针对当前帧的所有绘制命令,确定所述当前帧需要染色的顶点数目并为各个顶点按顺序分配索引标识,并根据按照渲染顺序为所述需要染色的顶点为宏处理核心控制器MCC中的顶点批次表分配数据空间;其中,所述顶点批次表内的每个数据空间均对应于一顶点且初始值为第一数值,所述第一数值标识所述顶点未完成顶点染色;以及,将所述需要染色的顶点按照绘制命令顺序地分批次分配至Array中的各MC进行顶点染色;所述MC,经配置为:当分配至自身的顶点完成顶点染色处理后,将已完成顶点染色处理的顶点通知MCC,并将所述自身已完成顶点染色处理的顶点写入Memory;所述MCC,经配置为:将所述已完成顶点染色处理的顶点通知CP,并将所述顶点批次表中与所述已完成顶点染色处理的顶点对应数据空间内的数值修改为第二数值;其中,所述第二数值标识所述顶点已完成顶点染色;所述CP,还经配置为:按照绘制命令向所述MC分配新批次的需要染色的顶点,并向PLB发送第一触发指令;所述PLB,经配置为响应于所述第一触发指令,按照顺序对顶点批次表进行遍历;以及,当被遍历的数据空间内的数值为第二数值时,从Memory中提取所述被遍历的数据空间对应的顶点;以及,当遍历至所述顶点批次表内的最后一个数据空间时,则向所述CP进行第一反馈;所述第一反馈用于CP刷新所述顶点批次表,并等待进入下一帧的绘制命令。第二方面,本专利技术实施例提供了一种图形渲染管线的控制方法,所述方法应用于第一方面所述的图形渲染管线的控制装置,所述方法包括:命令处理器CP根据针对当前帧的所有绘制命令,确定所述当前帧需要染色的顶点数目并为各个顶点按顺序分配索引标识,并根据按照渲染顺序为所述需要染色的顶点为宏处理核心控制器MCC中的顶点批次表分配数据空间;其中,所述顶点批次表内的每个数据空间均对应于一顶点且初始值为第一数值,所述第一数值标识所述顶点未完成顶点染色;所述CP将所述需要染色的顶点按照绘制命令顺序地分批次分配至Array中的各MC进行顶点染色;若Array中出现完成顶点染色处理的MC,则所述MC将自身已完成顶点染色处理的顶点通知MCC,并将自身已完成顶点染色处理的顶点写入显存Memory;所述MCC将所述已完成顶点染色处理的顶点通知CP,并将所述顶点批次表中与所述已完成顶点染色处理的顶点对应数据空间内的数值修改为第二数值;其中,所述第二数值标识所述顶点已完成顶点染色;所述CP按照绘制命令向所述MC分配新批次的需要染色的顶点,并向多边形链表构造器PLB发送第一触发指令;所述PLB响应于所述第一触发指令,按照顺序对顶点批次表进行遍历;当被遍历的数据空间内的数值为第二数值时,所述PLB从Memory中提取所述被遍历的数据空间对应的顶点;当所述PLB遍历至所述顶点批次表内的最后一个数据空间时,则向所述CP进行第一反馈;所述第一反馈用于所述CP刷新所述顶点批次表,并等待进入下一帧的绘制命令。第三方面,本专利技术实施例提供了一种计算机存储介质,所述计算机存储介质存储有图形渲染管线的控制程序,所述图形渲染管线的控制程序被至少一个处理器执行时实现第二方面所述的图形渲染管线的控制方法的步骤。本专利技术实施例提供了一种图形渲染管线的控制方法、装置及计算机存储介质;由于增加了MCC,实现了CP对MC的流水化处理,当有MC在处理完当前批次顶点的染色任务后,已染色的顶点将存入Memory并且此MC会接受新批次的顶点,并且已染色的顶点可以进入PLB进行下一步的处理。从而提高MC的利用率,并且提高图形渲染管线的渲染性能。附图说明图1为常规方案中针对顶点染色的图形渲染管线架构示意图;图2为本专利技术实施例提供的一种图形渲染管线的控制装置的组成示意图;图3为本专利技术实施例提供的一种MCC的组成示意图;图4为本专利技术实施例提供的绘制命令示意图;图5为本专利技术实施例提供的一种顶点批次表的示意图;图6为本专利技术实施例提供的一种MC状态模块写入操作示意图;图7为本专利技术实施例提供的一种PLB读取顶点示意图;图8为本专利技术实施例提供了一种图形渲染管线的控制方法流程示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述。在GPU渲染管线中,着色处理通常会按照一定的顺序执行,参见图1所示的针对顶点染色的图形渲染管线架构示意,CP将主机或CPU的指令转化为针对GPU各模块的消息命令,并驱使它们执行相应的操作;首先,基于统一渲染架构,GPU的Array中的MC彼此相互独立,且均包含顶点染色器和片元染色器,但在同一时间,单个MC只能对上述染色器中的一种染色器使能;以顶点染色为例,当MC完成顶点染色之后,将染色完毕的顶点数据存入GPU中的显存Memory。随后,PLB将MC通过顶点染色器渲染完毕的顶点从memory中读出,并根据CP传输的图元类型进行图元装配,并将装配好的图元进行tile划分,最终将各个tile内的信息以多边形链表(PL,PolygonList)的形式存入Memory。接着,在多边形链表构建完成后,将启动光栅化模块(图中未示出)从memory中读取多边形链表,进而对多边形进行光栅化处理,光栅化后产生的离散的片本文档来自技高网...

【技术保护点】
1.一种图形渲染管线的控制装置,其特征在于,所述装置包括:命令处理器CP、由多个宏处理核心MC组成的运算阵列Array、宏处理核心控制器MCC、多边形链表构造器PLB以及显存Memory;其中,所述CP,经配置为:根据针对当前帧的所有绘制命令,确定所述当前帧需要染色的顶点数目并为各个顶点按顺序分配索引标识,并根据按照渲染顺序为所述需要染色的顶点为宏处理核心控制器MCC中的顶点批次表分配数据空间;其中,所述顶点批次表内的每个数据空间均对应于一顶点且初始值为第一数值,所述第一数值标识所述顶点未完成顶点染色;以及,将所述需要染色的顶点按照绘制命令顺序地分批次分配至Array中的各MC进行顶点染色;所述MC,经配置为:当分配至自身的顶点完成顶点染色处理后,将已完成顶点染色处理的顶点通知MCC,并将所述自身已完成顶点染色处理的顶点写入Memory;所述MCC,经配置为:将所述已完成顶点染色处理的顶点通知CP,并将所述顶点批次表中与所述已完成顶点染色处理的顶点对应数据空间内的数值修改为第二数值;其中,所述第二数值标识所述顶点已完成顶点染色;所述CP,还经配置为:按照绘制命令向所述MC分配新批次的需要染色的顶点,并向PLB发送第一触发指令;所述PLB,经配置为响应于所述第一触发指令,按照顺序对顶点批次表进行遍历;以及,当被遍历的数据空间内的数值为第二数值时,从Memory中提取所述被遍历的数据空间对应的顶点;以及,当遍历至所述顶点批次表内的最后一个数据空间时,则向所述CP进行第一反馈;所述第一反馈用于CP刷新所述顶点批次表,并等待进入下一帧的绘制命令。...

【技术特征摘要】
1.一种图形渲染管线的控制装置,其特征在于,所述装置包括:命令处理器CP、由多个宏处理核心MC组成的运算阵列Array、宏处理核心控制器MCC、多边形链表构造器PLB以及显存Memory;其中,所述CP,经配置为:根据针对当前帧的所有绘制命令,确定所述当前帧需要染色的顶点数目并为各个顶点按顺序分配索引标识,并根据按照渲染顺序为所述需要染色的顶点为宏处理核心控制器MCC中的顶点批次表分配数据空间;其中,所述顶点批次表内的每个数据空间均对应于一顶点且初始值为第一数值,所述第一数值标识所述顶点未完成顶点染色;以及,将所述需要染色的顶点按照绘制命令顺序地分批次分配至Array中的各MC进行顶点染色;所述MC,经配置为:当分配至自身的顶点完成顶点染色处理后,将已完成顶点染色处理的顶点通知MCC,并将所述自身已完成顶点染色处理的顶点写入Memory;所述MCC,经配置为:将所述已完成顶点染色处理的顶点通知CP,并将所述顶点批次表中与所述已完成顶点染色处理的顶点对应数据空间内的数值修改为第二数值;其中,所述第二数值标识所述顶点已完成顶点染色;所述CP,还经配置为:按照绘制命令向所述MC分配新批次的需要染色的顶点,并向PLB发送第一触发指令;所述PLB,经配置为响应于所述第一触发指令,按照顺序对顶点批次表进行遍历;以及,当被遍历的数据空间内的数值为第二数值时,从Memory中提取所述被遍历的数据空间对应的顶点;以及,当遍历至所述顶点批次表内的最后一个数据空间时,则向所述CP进行第一反馈;所述第一反馈用于CP刷新所述顶点批次表,并等待进入下一帧的绘制命令。2.根据权利要求1所述的装置,其特征在于,所述CP,经配置为:按照渲染顺序为所述需要染色的顶点设置顶点索引;针对每个所述顶点索引在顶点批次表中对应设置初始值为第一数值的数据空间。3.根据权利要求1所述的装置,其特征在于,所述MC,经配置为:当分配至自身的顶点批次完成顶点染色处理后,将已完成顶点染色处理的顶点批次对应的基地址和偏移量传输至所述MCC;其中,所述已完成顶点染色处理的顶点批次对应的基地址用于标识所述已完成顶点染色处理的顶点批次中的首个顶点对应的地址,所述已完成顶点染色处理的顶点批次对应的偏移量用于标识所述已完成顶点染色处理的顶点批次中的顶点数目;相应地,所述MCC,经配置为:根据所述已完成顶点染色处理的顶点批次对应的基地址和偏移量,将所述顶点批次表中顶点所对应的数据空间内的数值修改为第二数值。4.根据权利要求1所述的装置,其特征在于,所述PLB,经配置为:在每个节拍,根据所述顶点批次表指针所指向数据空间内的数值确定所述指针所指向的数据空间对应的顶点是否已经准备好进入PLB:相应于所述指针所指向的数据空间内数值为第二数值,则确定所述指针所指向的数据空间对应的顶点能够被读取,并从Memory中提取所述指针所指向的数据空间对应的顶点;相应于所述指针所指向的数据空间内数值为第一数值,则确定所述指针所指向的数据空间对应的顶点不能够被读取。5.根据权利要求4所述的装置,其特征在于,相应于所述指针所指向的数据空间内数值为第一数值,所述PLB,还经配置为:向所述CP进行第二反馈;其中,所述第二反馈用于指示第一数值的数据空间对应的顶点;以及,接收所述CP响应于所述第二反馈发送的中断指令;以及,接收所述CP在被通知所述第二反馈所指示的顶点已完成染色后所发送的重启触发指令,并根据所述重启触发指令继续在所述...

【专利技术属性】
技术研发人员:王浩文黄虎才
申请(专利权)人:西安博图希电子科技有限公司
类型:发明
国别省市:陕西,61

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

1