[发明专利]一种轻量顶点染色线程生成分发的方法有效
申请号: | 201810798859.X | 申请日: | 2018-07-19 |
公开(公告)号: | CN109062691B | 公开(公告)日: | 2023-07-04 |
发明(设计)人: | 殷诚信;石小刚;黄光新 | 申请(专利权)人: | 南京军微半导体科技有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06T1/20 |
代理公司: | 合肥禾知知识产权代理事务所(特殊普通合伙) 34246 | 代理人: | 卢双双 |
地址: | 210000 江苏省南京市江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 顶点 染色 线程 生成 分发 方法 | ||
本发明公开了一种轻量顶点染色线程生成分发的方法及装置,它涉及图形芯片技术领域。包括以下步骤:接收来自FEP的两类画图命令DrawElements和DrawArrays;根据命令中的参数执行逻辑顶点划分,配置除线程ID外的参数,批量创建无线程ID的伪线程;等待线程的ID分配,形成可调度线程;根据所有GCU的状态和FEP配置的分发策略将新生成的顶点染色线程分发给对应的GCU。本发明能够减少生成顶点染色线程的时间开销,避免线程创建滞后。
技术领域
本发明涉及的是图形芯片技术领域,具体涉及一种轻量顶点染色线程生成分发的方法。
背景技术
电子设备在现代人类生活中已经成为了必须品,为了增进人和计算机交互的友好性与真实感,各种人机交互的技术得到快速的发展如虚拟现实(Virtual Reality,VR),增强现实(Augmented Reality,AR)等。这些技术的发展同计算机图形应用是密不可分,而计算机图形应用的基础就是图形API和图形处理器。图形API(例如OpenGL,DirectX 3D)定义了图形处理的流水线(图1所示),图形处理器则是对图形处理流水线一种硬件实现,执行各种流水线中各项功能。
图形处理器中能够执行多种染色程序(顶点染色,几何染色,像素染色等),并且通过大量的数据并行提供高效的计算能力。但是一旦染色程序中的依赖关系出现长延时(例如存储和纹理等操作),会导致计算的阻塞引起性能的下降。此时,图形处理器会通过切换其他非阻塞的染色线程来隐藏这些长延时操作,以线程的高吞吐量来提高图形处理器的性能。
图形处理器中传统的染色线程的生成是由顶点线程分发器(Vertex Dispatcher,VDPR)处理。VDPR先考虑处理器中的各种剩余资源,当剩余资源能够满足线程的所需的所有资源时,才会生成新的线程分配线程ID。生成的线程经由VDPR分发到计算簇中的计算单元执行(见图2,图3)。这样的线程生成分发方法会存在由长时延的资源准备导致的线程生成滞后的缺点。线程生成的滞后导致线程数量相对不足,一定程度时会引起线程切换的阻塞,从而导致图形处理器的性能的下降。所以图形处理器中需要一种更加的高效染色线程生成的方法。
综上所述,本发明设计了一种轻量顶点染色线程生成分发的方法。
发明内容
针对现有技术上存在的不足,本发明目的是在于提供一种轻量顶点染色线程生成分发的方法,能够减少生成顶点染色线程的时间开销,避免线程创建滞后。
为了实现上述目的,本发明是通过如下的技术方案来实现:一种轻量顶点染色线程生成分发的方法,包括以下步骤:
1、接收来自FEP(Frontend Processor,前端处理器)的两类画图命令DrawElements和DrawArrays;
2、根据命令中的参数对顶点进行逻辑划分,配置除线程ID外的参数,批量创建无线程ID的伪线程;
3、等待线程的ID分配,形成可调度线程;
4、根据所有GCU的状态和FEP配置的分发策略将新生成的顶点染色线程分发给对应的GCU。
所述的步骤2的划分步骤具体如下:根据命令参数first,count和FEP配置的顶点染色线程所含顶点的数目VTX_CNTS_PER_VTX_THREAD,依据count的值划分成若干伪线程并向线程ID池中申请线程ID,在得到分配的线程ID后,将线程的ID、图元类型和线程实际的顶点数目信息发送给图元装配单元(PA)。图元装配单元根据这些信息来对染色后的顶点进行装配。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京军微半导体科技有限公司,未经南京军微半导体科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810798859.X/2.html,转载请声明来源钻瓜专利网。