本发明专利技术实施例公开了一种基于并行PLB的数据处理方法、装置及计算机存储介质;该方法可以应用于具有多路并行PLB的GPU架构,所述方法包括:命令处理器检测到计算阵列完成顶点着色处理后,按照设定的分发顺序分批向所述多路并行PLB中的每一路PLB分发顶点数据信息;每路所述PLB根据接收到的顶点数据信息从显存中读取渲染后的顶点数据,并根据读取到的顶点数据构造对应的多边形链表PL;每路所述PLB将构造得到的对应PL按照设定的写入顺序回写到显存GDDR中;所述计算阵列从所述显存中按所述写入顺序读取每路PL,并根据所述读取到的PL进行光栅化及片元着色处理。
A Data Processing Method, Device and Computer Storage Media Based on Parallel PLB
【技术实现步骤摘要】
一种基于并行PLB的数据处理方法、装置及计算机存储介质
本专利技术实施例涉及图形处理器(GPU,GraphicsProcessingUnit)
,尤其涉及一种并行多边形链表构造器(PLB,PolygonListBuilder)的数据处理方法、装置及计算机存储介质。
技术介绍
随着计算阵列负载的不断增长,在采用基于分块渲染(TBR,TileBasedRendering)架构的统一式渲染架构中,均衡多边形链表构造的吞吐率与计算阵列ComputingArray的渲染速度至关重要。当计算阵列ComputingArray中的计算核心,即宏处理核心(MC,MacroCore)数量处于一定数量范围时,目前单一的PLB对多边形的构造速度基本能够与计算阵列的性能相匹配。但是,随着技术的不断发展和演进,当MC的数量达到一定规模时,单一的PLB就无法满足计算阵列中不断增长的计算资源需求。
技术实现思路
有鉴于此,本专利技术实施例期望提供一种基于并行PLB的数据处理方法、装置及计算机存储介质;提高PLB的处理性能,从而满足不断增长的计算资源需求。本专利技术实施例的技术方案是这样实现的:第一方面,本专利技术实施例提供了一种基于并行PLB的数据处理方法,所述方法应用于具有多路并行PLB的GPU架构,所述方法包括:命令处理器检测到计算阵列完成顶点着色处理后,按照设定的分发顺序分批向所述多路并行PLB中的每一路PLB分发顶点数据信息;每路所述PLB根据接收到的顶点数据信息从显存中读取渲染后的顶点数据,并根据读取到的顶点数据构造对应的多边形链表PL;每路所述PLB将构造得到的对应PL按照设定的写入顺序回写到显存GDDR中;所述计算阵列从所述显存中按所述写入顺序读取每路PL,并根据所述读取到的PL进行光栅化及片元着色处理。第二方面,本专利技术实施例提供了一种基于并行PLB的GPU架构,包括:命令处理器CP,计算阵列和显存;其特征在于,所述架构中还包括多路并行PLB;其中,所述CP,配置为检测到计算阵列完成顶点着色处理后,按照设定的分发顺序分批向所述多路并行PLB中的每一路PLB分发顶点数据信息;每路所述PLB,配置为根据接收到的顶点数据信息从显存中读取渲染后的顶点数据,并根据读取到的顶点数据构造对应的多边形链表PL;以及,将构造得到的对应PL按照设定的写入顺序回写到显存GDDR中;所述计算阵列,配置为从所述显存中按所述写入顺序读取每路PL,并根据所述读取到的PL进行光栅化及片元着色处理。第三方面,本专利技术实施例提供了一种计算机存储介质,其特征在于,所述计算机存储介质存储有基于并行PLB的数据处理的程序,所述基于并行PLB的数据处理的程序被至少一个处理器执行时实现第一方面所述的基于并行PLB的数据处理方法的步骤。本专利技术实施例提供了一种基于并行PLB的数据处理方法、装置及计算机存储介质;在顶点着色完毕后,将顶点数据分发至并行PLB进行处理,而并非通过单一的PLB进行PL的构建,从而提升了PL的构建性能,以致当计算阵列的计算性能不断提升的情况下,PL的构建性能仍然与计算性能相进行匹配。附图说明图1为本专利技术实施例提供的示例性图元;图2为本专利技术实施例提供的单一PLB下GPU的处理流程示意图;图3为本专利技术实施例提供的基于并行PLB的数据处理方法流程示意图;图4为本专利技术实施例提供的一种PLB与PL的对应示意图;图5为本专利技术实施例提供的一种Tile标志位的数据形式示意图;图6为本专利技术实施例提供的一种RAM数据存储形式示意图;图7为本专利技术实施例提供的基于多路并行PLB的GPU架构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述。目前,在TBR的GPU架构中,整个屏幕被划分为大小统一的分块tile,本专利技术实施例默认进行Tile划分的尺寸为16×16,而PLB负责计算当前多边形所覆盖的Tile,并以链表的方式对覆盖到Tile的多边形进行组织管理。参见图1,其中,图1A示出了两个不同的三角形图元,分别覆盖不同的tile,其中一个三角形图元如实线所示,另一个三角形图元如虚线所示,两个三角形图元所覆盖的Tile有重合。图1B为与1A所示出的三角形图元形成的包围盒所覆盖的Tile,详细来说,实线三角形图元产生的包围盒所覆盖的Tile内标记为0,虚线三角形图元产生的包围盒所覆盖的Tile内标记为1。每当PLB处理完一个图元,都会将这个图元的顶点信息写入到它所覆盖的每一个Tile中。对于目前常规的仅包括一个PLB的GPU架构来说,具体的处理流程参见图2所示,步骤1:命令处理器(CP,CommandProcessor)在接收到主机或CPU传输的着色命令信息后,调度并启动计算阵列开始着色,命令处理器会将着色命令信息传送给计算阵列ComputingArray;步骤2:计算阵列接收到命令处理器发送的调度命令后,根据调度命令中所包括的顶点信息,比如顶点数据存储地址、顶点数据格式等,从显存(GDDR,GraphicsDoubleDataRate)中读取顶点数据,并从GDDR读取到顶点数据后,计算阵列开始进行顶点着色;步骤3:在完成顶点着色后,计算阵列将渲染完的顶点数据回写到显存中供PLB使用;步骤4:计算阵列向CP返回第一状态信号,从而使得CP根据该状态信号对图形渲染管线进行控制;步骤5:CP检测到计算阵列完成顶点着色后,启动PLB工作;步骤6:PLB从GDDR中读取渲染后的顶点开始进行多边形链表(PL,PolygonList)的构造;步骤7:PLB完成PL构造后,将构造结果回写到GDDR中;步骤8:PLB向CP返回第二状态信号,从而使得CP根据第二状态信号控制流水线执行;步骤9:计算阵列从GDDR中读取多边形链表数据,进行光栅化处理(ROP,ROP,RasterOPeratiuon)和片元着色操作;步骤10:计算阵列完成ROP以及片元着色操作后,将最终获得的像素写回GDDR。对于图2所示的处理流程,需要说明的是,在只包含一个PLB的GPU架构中,步骤6中所描述的PLB进行多边形链表构造的实现过程依次需要经过顶点抓取、图元装配、包围盒、Tile切割以及产生PL这些操作,最后通过步骤7并将构造得到的多边形链表写回到显存GDDR中。具体地,对于顶点抓取操作来说,由于绘制模式可以分为数组绘制DrawArray模式和索引绘制DrawElements模式,两种模式下对顶点的抓取方式以及抓取位置有所不同,根据从主机接收到的顶点绘制模式、索引地址以及顶点数目等信息后进行顶点抓取;对于图元装配来说,根据输入的图元类型,将顶点抓取传递来的顶点数据装配成相应图元,并最终以点、线和三角形的图元形式传递给包围盒;对于包围盒来说,将接收到的图元经历视见体剔除、背面剔除、小三角形的包围盒处理以及裁剪处理,并将最终获得的包围盒坐标进行下一步的Tile切割处理;对于Tile切割来说,将Tile根据当前包围盒传递来的数据按照最合适的Tile大小进行划分,并将该大小下的Tile坐标、Tile的编号等进行产生PL的处理;对于产生PL来说,根据Tile切割传递来的Tile的坐标(x,y),可以容易的找到图元数据应该存放的Tile-list序号,此外,根据主机配置的起始地址,就可本文档来自技高网...
【技术保护点】
1.一种基于并行多边形链表构造器PLB的数据处理方法,其特征在于,所述方法应用于具有多路并行PLB的GPU架构,所述方法包括:命令处理器检测到计算阵列完成顶点着色处理后,按照设定的分发顺序分批向所述多路并行PLB中的每一路PLB分发顶点数据信息;每路所述PLB根据接收到的顶点数据信息从显存中读取渲染后的顶点数据,并根据读取到的顶点数据构造对应的多边形链表PL;每路所述PLB将构造得到的对应PL按照设定的写入顺序回写到显存GDDR中;所述计算阵列从所述显存中按所述写入顺序读取每路PL,并根据所述读取到的PL进行光栅化及片元着色处理。
【技术特征摘要】
1.一种基于并行多边形链表构造器PLB的数据处理方法,其特征在于,所述方法应用于具有多路并行PLB的GPU架构,所述方法包括:命令处理器检测到计算阵列完成顶点着色处理后,按照设定的分发顺序分批向所述多路并行PLB中的每一路PLB分发顶点数据信息;每路所述PLB根据接收到的顶点数据信息从显存中读取渲染后的顶点数据,并根据读取到的顶点数据构造对应的多边形链表PL;每路所述PLB将构造得到的对应PL按照设定的写入顺序回写到显存GDDR中;所述计算阵列从所述显存中按所述写入顺序读取每路PL,并根据所述读取到的PL进行光栅化及片元着色处理。2.根据权利要求1所述的方法,其特征在于,所述多路并行PLB中的PLB数量与所述计算阵列中的计算核心数量相匹配;且每路PLB对应的PL在所述显存中的起始地址由系统预先分配。3.根据权利要求1所述的方法,其特征在于,所述命令处理器检测到计算阵列完成顶点着色处理后,按照设定的分发顺序分批向所述多路并行PLB中的每一路PLB分发顶点数据信息,包括:所述命令处理器将当前顶点着色完毕的顶点数据按照绘制Draw命令中的顶点顺序分批地按照所述多路并行PLB中PLB的顺序向每路所述PLB分发顶点数据信息;其中,当所述绘制Draw命令为DrawArrays模式,则所述顶点数据信息包括图元类型、起始地址和数据个数;当所述绘制命令为DrawElements模式,则所述顶点数据信息包括图元类型、起始地址、数据个数、索引数据格式和数据索引。4.根据权利要求1所述的方法,其特征在于,每路所述PLB基于屏幕划分获得的所有Tile构造对应的PL。5.根据权利要求1所述的方法,其特征在于,所述每路所述PLB将构造得到的对应PL按照设定的写入顺序回写到显存GDDR中按照各路所述PLB的顺序对应地设置随机存储单元;将每路所述PLB将对应的PL内的所有Tile的起始地址按照Tile标识顺序存至每个所述PLB对应的随机存储单元;每路所述PLB将对应的PL内的所有Tile均设置标志位;所述标志位包括Tile标识以及用于指示所述Tile标识所表示的Tile是否存放有效图元信息的指示位;每路所述PLB将设置完成的所有Tile的标志位按照Tile标识对应的与随机存储单元内的Tile起始地址一同存放。6....
【专利技术属性】
技术研发人员:王一鸣,黄虎才,
申请(专利权)人:西安博图希电子科技有限公司,
类型:发明
国别省市:陕西,61
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。