CN108022201A - 一种三角形图元并行光栅化定序方法 - Google Patents
一种三角形图元并行光栅化定序方法 Download PDFInfo
- Publication number
- CN108022201A CN108022201A CN201711202184.XA CN201711202184A CN108022201A CN 108022201 A CN108022201 A CN 108022201A CN 201711202184 A CN201711202184 A CN 201711202184A CN 108022201 A CN108022201 A CN 108022201A
- Authority
- CN
- China
- Prior art keywords
- tile
- pixel tile
- pixel
- triangle
- boundary
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Image Generation (AREA)
Abstract
本发明涉及计算机硬件技术领域,涉及一种三角形图元并行光栅化定序方法。本发明至少包括三角形像素Tile扫描阶段、边界像素Tile处理阶段、完全在内像素tile处理阶段、像素Tile属性插值请求仲裁阶段和像素Tile属性插值阶段。本发明能够提升光栅化单元硬件资源的利用率,从而提升三角形图元的处理吞吐率和像素生成能力,尤其对于完全在三角形内像素Tile与三角形边界像素Tile比例较大的三角形图元来说,性能提升更为明显。
Description
技术领域
本发明涉及计算机硬件技术领域,涉及一种三角形图元并行光栅化定序方法。
背景技术
随着图形化应用的不断增加,早期单靠CPU进行图形绘制的解决方案已经难以满足成绩和技术增长的图形处理需求,图形处理器(Graphic Processing Unit,GPU)应运而生。从1999年Nvidia发布第一款GPU产品至今,GPU技术的发展主要经历了固定功能流水线阶段、分离染色器架构阶段、统一染色器架构阶段,其图形处理能力不断提升,应用领域也从最初的图形绘制逐步扩展到通用计算领域。GPU流水线高速、并行的特征和灵活的可编程能力,为图形处理和通用并行计算提供了良好的运行平台。
目前,我国尚无基于统一染色架构的GPU,各领域显示控制系统中大量采用国外进口的商用GPU芯片。尤其是在军用领域中,国外进口商用GPU芯片存在温度和环境适应性差、无法保证电路本身或配套软件没有“后门”、包含大量军用领域不需要的冗余功能单元,功耗指标无法满足要求、商用GPU芯片更新换代快,随时面临停产、断档,难以满足武器装备持续保障等缺陷,在安全性、可靠性、保障性等方面的存在重大隐患。而且,出于政治、军事、经济等原因,国外对我国实行技术“封锁”和产品“垄断”,难以获得GPU芯片的底层技术资料,如寄存器资料、详细内部微架构、核心软件源码等,导致GPU功能、性能无法充分发挥,且移植性较差;上述问题严重制约了我国显示系统的独立研制和自主发展。
三角形图元并行光栅化定序方法,是提升和增强GPU图形处理能力的关键技术。突破高性能光栅化单元设计关键技术,研制高性能图形处理器芯片迫在眉睫。
发明内容
本发明的目的是:提供一种三角形图元并行光栅化定序方法,能够提升光栅化单元硬件资源的利用率,从而提升三角形图元的处理吞吐率和像素生成能力,尤其对于完全在三角形内像素Tile与三角形边界像素Tile比例较大的三角形图元来说,性能提升更为明显。
本发明的技术解决方案是:
一种三角形图元并行光栅化定序方法,其特征为:所述三角形图元并行光栅化定序方法至少包括三角形像素Tile扫描阶段、边界像素Tile处理阶段、完全在内像素tile处理阶段、像素Tile属性插值请求仲裁阶段和像素Tile属性插值阶段;
三角形像素Tile扫描阶段:对三角形图元实现光栅化,像素Tile的扫描路径基于Zigzag算法进行,串行扫描时遇到的边界Tile送入边界像素Tile通道FIFO中;遇到的完全在内Tile送入完全在内Tile通道FIFO中;边界像素Tile和完全在内Tile按照光栅化的顺序被统一编号排序分别进入到边界像素Tile处理阶段和完全在内像素Tile处理阶段;
边界像素Tile处理阶段:监控像素Tile扫描阶段输出,基于三角形数量计数器BBTN,判断边界像素Tile处理单元中处理的Tile属于几个三角形;使用FIFO存储三角形像素Tile扫描阶段输出的边界像素Tile;
完全在内像素tile处理阶段:使用FIFO存储三角形像素Tile扫描阶段输出的完全在内Tile;
像素Tile属性插值请求仲裁阶段:按照Tile的光栅化顺序将Tile逐个输出到像素Tile属性插值阶段;Tile属性插值请求仲裁逻辑的请求源有两个:边界像素Tile和完全在内Tile;当像素Tile属性插值请求仲裁阶段通过查询边界像素Tile处理阶段的三角形数量计数器BBTN得知Tile处理单元中处理的边界像素Tile属于2个以上三角形则拒绝属于后一个三角形的任何一个像素Tile进入像素属性插值阶段进行处理;
像素Tile属性插值阶段:对三角形图元在像素Tile层次进行属性插值运算。
本发明的技术效果是:本发明能够提升光栅化单元属性插值计算资源的利用率,从而提升光栅化单元的三角形图元的处理吞吐率和像素生成能力,尤其对于完全在三角形内像素Tile与三角形边界像素Tile比例较大的三角形图元来说,性能提升更为明显。
附图说明
图1是本发明一种三角形图元并行光栅化定序方法示意图;
图2是本发明一种三角形图元并行光栅化定序方法实施方案图。
具体实施方式
下面结合附图和具体实施例,对本发明的技术方案进行清楚、完整地表述。显然,所表述的实施例仅是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提所获得的所有其它实施例,都属于本发明的保护范围。
本发明能够监控像素Tile扫描阶段输出的,且未进入像素属性插值阶段进行处理的所有像素Tile;能够对三角形图元在像素Tile层次进行并行属性插值运算,并在属于前一个三角形的所有像素Tile未进入像素属性插值阶段进行处理前,能够拒绝属于后一个三角形的任何一个像素Tile进入像素属性插值阶段进行处理。
本发明所述的三角形图元并行光栅化定序方法,至少包括三角形像素Tile扫描阶段、边界像素Tile处理阶段、完全在内像素tile处理阶段、像素Tile属性插值请求仲裁阶段和像素Tile属性插值阶段,或者具有类似功能的阶段。
本发明能够识别出位于边界像素Tile处理阶段进行处理的所有像素Tile属于一个或者几个不同的三角形。
本发明具备对在一个三角形所覆盖的多个像素Tile的范围内进行乱序属性插值的能力。
本发明具备对属于多个三角形所覆盖的多个像素Tile以三角形为单位进行排序,并按顺序进行属性插值的能力。
如图1所示,Tile属性插值请求仲裁逻辑的请求源有两个:边界像素Tile和完全在内Tile。如果发出请求的边界像素Tile属于Δ1,而发出请求的完全在内Tile属于Δ2,而Δ1的绘制顺序在Δ2之前,由于边界像素Tile处理单元的处理速度较Tile扫描单元慢,则Δ2的Tile有可能先于Δ1的Tile被绘制,从而可能导致在三角形空间位置重叠,且深度相同的情况下发生绘制错误。
如图2所示,Tile的扫描路径基于Zigzag算法进行,串行扫描时遇到的边界像素Tile送入边界像素Tile通道FIFO中;遇到的完全在内Tile送入完全在内Tile通道FIFO中。只要边界像素Tile处理单元中已经容纳的Tile属于同一个三角形,且未超出边界像素Tile处理单元的缓冲能力,扫描过程就不会停止。扫描到的后续Tile如果仍然是边界像素Tile,则继续进入扫描通道1的边界像素Tile FIFO中,如Tile24和Tile27;如果是完全在三角形内的Tile,则进入扫描通道2的完全在内Tile FIFO中,如Tile26和Tile27。否则,Tile扫描单元输出的后续完全在内Tile需要暂停被发往属性插值单元,这是为了保证绘制顺序性,而不会影响性能,因为边界像素Tile处理单元已经缓冲了足够多的Tile等待处理。
三角形总是先从边界像素Tile开始扫描,然后才会扫描到完全在内Tile。也就是说,如果像素Tile处理单元中正在处理的三角形边界像素Tile属于两个或两个以上的三角形,此时如果Tile扫描单元输出一个完全在内的Tile,则Tile扫描输出单元不能向Tile属性插值请求仲裁单元发出属性插值请求,直到边界Tile处理单元中正在处理的三角形边界Tile都属于同一个三角形后,Tile扫描单元才能输出完全在内的Tile;如果边界Tile处理单元中正在处理的三角形边界Tile属于两个或两个以上的三角形,此时如果Tile扫描单元输出一个边界Tile,则可以直接送入边界Tile地址FIFO中,因为边界Tile单元是完全串行处理Tile的。
可以看出,关键问题在于如何判断边界Tile处理单元中处理的Tile到底属于几个三角形。一种方法是Tile扫描单元每次输出一个三角形第一个边界Tile时,同时也向边界Tile处理单元发送一个三角形首Tile标志信号FBEN(First Tile Enable),而边界Tile处理单元在每次收到FBEN=1时,边界Tile处理单元内部三角形数量计数器BBTN(Board TileTriangle Number)加1;而每当Tile扫描单元每次输出一个三角形最后一个边界Tile时,同时也向边界Tile处理单元发送一个三角形末Tile标志信号LBEN(Last Tile Enable),每当一个三角形最后一个边界Tile流出边界Tile处理单元时,BBTN减1。当然,如果边界处理单元为空闲,BBTN=0。通过判断BBTN的值,Tile扫描单元就可以得到当前边界Tile处理单元中正在处理的Tile属于几个三角形。
最后应说明的是,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (1)
1.一种三角形图元并行光栅化定序方法,其特征为:所述三角形图元并行光栅化定序方法至少包括三角形像素Tile扫描阶段、边界像素Tile处理阶段、完全在内像素tile处理阶段、像素Tile属性插值请求仲裁阶段和像素Tile属性插值阶段;
三角形像素Tile扫描阶段:对三角形图元实现光栅化,像素Tile的扫描路径基于Zigzag算法进行,串行扫描时遇到的边界像素Tile送入边界Tile通道FIFO中;遇到的完全在内像素Tile送入完全在内Tile通道FIFO中;边界像素Tile和完全在内像素Tile按照光栅化的顺序被统一编号排序分别进入到边界像素Tile处理阶段和完全在内像素Tile处理阶段;
边界像素Tile处理阶段:监控像素Tile扫描阶段输出,基于三角形数量计数器BBTN,判断Tile处理单元中处理的Tile属于几个三角形;使用FIFO存储三角形像素Tile扫描阶段输出的边界像素Tile;
完全在内像素tile处理阶段:使用FIFO存储三角形像素Tile扫描阶段输出的完全在内像素Tile;
像素Tile属性插值请求仲裁阶段:按照Tile的光栅化顺序将Tile逐个输出到像素Tile属性插值阶段;Tile属性插值请求仲裁逻辑的请求源有两个:边界像素Tile和完全在内像素Tile;当像素Tile属性插值请求仲裁阶段通过查询边界像素Tile处理阶段的三角形数量计数器BBTN得知三角形像素Tile扫描阶段中处理的边界像素Tile属于2个以上三角形则拒绝属于后一个三角形的任何一个像素Tile进入像素属性插值阶段进行处理;
像素Tile属性插值阶段:对三角形图元在像素Tile层次进行属性插值运算。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711202184.XA CN108022201B (zh) | 2017-11-24 | 2017-11-24 | 一种三角形图元并行光栅化定序方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711202184.XA CN108022201B (zh) | 2017-11-24 | 2017-11-24 | 一种三角形图元并行光栅化定序方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108022201A true CN108022201A (zh) | 2018-05-11 |
CN108022201B CN108022201B (zh) | 2021-09-14 |
Family
ID=62077227
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711202184.XA Active CN108022201B (zh) | 2017-11-24 | 2017-11-24 | 一种三角形图元并行光栅化定序方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108022201B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109584334A (zh) * | 2018-11-14 | 2019-04-05 | 西安翔腾微电子科技有限公司 | 一种基于uml的三角形光栅化扫描结构及光栅化扫描方法 |
CN109741433A (zh) * | 2019-01-08 | 2019-05-10 | 西安邮电大学 | 一种基于Tile的三角形多向并行扫描方法及结构 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101093578A (zh) * | 2006-06-23 | 2007-12-26 | 辉达公司 | 光栅化的方法和系统 |
CN101114375A (zh) * | 2006-07-26 | 2008-01-30 | 辉达公司 | 加速的起始瓦片搜索 |
CN101118644A (zh) * | 2006-08-01 | 2008-02-06 | 深圳安凯微电子技术有限公司 | 一种图形加速器及图形处理方法 |
CN101199428A (zh) * | 2007-04-18 | 2008-06-18 | 汕头超声仪器研究所 | 一种超声回波数据的处理装置及方法 |
CN102598062A (zh) * | 2009-05-29 | 2012-07-18 | 高通股份有限公司 | 具有延缓的顶点遮影的图形处理单元 |
CN102651142A (zh) * | 2012-04-16 | 2012-08-29 | 深圳超多维光电子有限公司 | 图像渲染方法和装置 |
CN102722902A (zh) * | 2011-05-06 | 2012-10-10 | 新奥特(北京)视频技术有限公司 | 一种图形渲染流水线中光栅化阶段反走样的改进方法 |
US20120256921A1 (en) * | 2006-10-23 | 2012-10-11 | Qualcomm Incorporated | 3-d clipping in a graphics processing unit |
CN102737401A (zh) * | 2011-05-06 | 2012-10-17 | 新奥特(北京)视频技术有限公司 | 一种图形渲染中光栅化阶段的三角片填充方法 |
CN106709859A (zh) * | 2016-12-12 | 2017-05-24 | 中国航空工业集团公司西安航空计算技术研究所 | 一种图形处理器光栅化单元的自适应低功耗时钟门控结构 |
US20170293995A1 (en) * | 2016-04-08 | 2017-10-12 | Qualcomm Incorporated | Per-vertex variable rate shading |
-
2017
- 2017-11-24 CN CN201711202184.XA patent/CN108022201B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101093578A (zh) * | 2006-06-23 | 2007-12-26 | 辉达公司 | 光栅化的方法和系统 |
CN101114375A (zh) * | 2006-07-26 | 2008-01-30 | 辉达公司 | 加速的起始瓦片搜索 |
CN101118644A (zh) * | 2006-08-01 | 2008-02-06 | 深圳安凯微电子技术有限公司 | 一种图形加速器及图形处理方法 |
US20120256921A1 (en) * | 2006-10-23 | 2012-10-11 | Qualcomm Incorporated | 3-d clipping in a graphics processing unit |
CN101199428A (zh) * | 2007-04-18 | 2008-06-18 | 汕头超声仪器研究所 | 一种超声回波数据的处理装置及方法 |
CN102598062A (zh) * | 2009-05-29 | 2012-07-18 | 高通股份有限公司 | 具有延缓的顶点遮影的图形处理单元 |
CN102722902A (zh) * | 2011-05-06 | 2012-10-10 | 新奥特(北京)视频技术有限公司 | 一种图形渲染流水线中光栅化阶段反走样的改进方法 |
CN102737401A (zh) * | 2011-05-06 | 2012-10-17 | 新奥特(北京)视频技术有限公司 | 一种图形渲染中光栅化阶段的三角片填充方法 |
CN102651142A (zh) * | 2012-04-16 | 2012-08-29 | 深圳超多维光电子有限公司 | 图像渲染方法和装置 |
US20170293995A1 (en) * | 2016-04-08 | 2017-10-12 | Qualcomm Incorporated | Per-vertex variable rate shading |
CN106709859A (zh) * | 2016-12-12 | 2017-05-24 | 中国航空工业集团公司西安航空计算技术研究所 | 一种图形处理器光栅化单元的自适应低功耗时钟门控结构 |
Non-Patent Citations (2)
Title |
---|
王志方: "嵌入式GPU中图元光栅化的设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
田泽 等: "图形处理器片段处理单元的设计与实现", 《计算机应用》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109584334A (zh) * | 2018-11-14 | 2019-04-05 | 西安翔腾微电子科技有限公司 | 一种基于uml的三角形光栅化扫描结构及光栅化扫描方法 |
CN109584334B (zh) * | 2018-11-14 | 2023-04-07 | 西安翔腾微电子科技有限公司 | 一种基于uml的三角形光栅化扫描结构及光栅化扫描方法 |
CN109741433A (zh) * | 2019-01-08 | 2019-05-10 | 西安邮电大学 | 一种基于Tile的三角形多向并行扫描方法及结构 |
CN109741433B (zh) * | 2019-01-08 | 2023-05-05 | 西安邮电大学 | 一种基于Tile的三角形多向并行扫描方法及结构 |
Also Published As
Publication number | Publication date |
---|---|
CN108022201B (zh) | 2021-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10733691B2 (en) | Fragment shaders perform vertex shader computations | |
CN108009978A (zh) | 一种非阻塞并行三角形光栅化单元结构 | |
US20180336658A1 (en) | Scheme for compressing vertex shader output parameters | |
Nishita et al. | Ray tracing trimmed rational surface patches | |
CN102640115B (zh) | 包括具有多缓冲区以使在着色器核心上不同类型工作能够异步并行分派的指令处理器的图形处理单元 | |
US5734806A (en) | Method and apparatus for determining graphical object visibility | |
US7079146B2 (en) | Image producing device | |
JPH0683969A (ja) | グラフィックス・プロセッサ及びグラフィックス・データ処理方法 | |
US7876328B2 (en) | Managing multiple contexts in a decentralized graphics processing unit | |
US9471952B2 (en) | Method and system for coordinated data execution using a primary graphics processor and a secondary graphics processor | |
EP4231242A1 (en) | Graphics rendering method and related device thereof | |
CN108022201A (zh) | 一种三角形图元并行光栅化定序方法 | |
US5546524A (en) | Method and apparatus for interlocking graphical objects | |
WO2017095478A1 (en) | Triple buffered constant buffers for efficient processing of graphics data at computing devices | |
CN105574808A (zh) | 一种流水线纹理贴图单元体系结构 | |
CN110214338A (zh) | 增量颜色压缩到视频的应用 | |
CN117058288A (zh) | 图形处理器及方法、多核图形处理系统、电子装置及设备 | |
CN106709859A (zh) | 一种图形处理器光栅化单元的自适应低功耗时钟门控结构 | |
US6570565B1 (en) | 3D graphic accelerator and method for processing graphic acceleration using the same | |
US7644214B2 (en) | Information processing apparatus and task execution method | |
US9881352B2 (en) | Facilitating efficient graphics commands processing for bundled states at computing devices | |
CN116263982B (zh) | 图形处理器、系统、方法、电子装置及设备 | |
JPH0651937A (ja) | データ処理システム及びデータ制御方法 | |
JPH0652051A (ja) | 階層メモリ制御 | |
CN109584334A (zh) | 一种基于uml的三角形光栅化扫描结构及光栅化扫描方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |