CN108022201B - 一种三角形图元并行光栅化定序方法 - Google Patents

一种三角形图元并行光栅化定序方法 Download PDF

Info

Publication number
CN108022201B
CN108022201B CN201711202184.XA CN201711202184A CN108022201B CN 108022201 B CN108022201 B CN 108022201B CN 201711202184 A CN201711202184 A CN 201711202184A CN 108022201 B CN108022201 B CN 108022201B
Authority
CN
China
Prior art keywords
tile
stage
pixel
triangle
pixel tile
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.)
Active
Application number
CN201711202184.XA
Other languages
English (en)
Other versions
CN108022201A (zh
Inventor
张骏
韩立敏
郑新建
任向隆
裴希杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian Aeronautics Computing Technique Research Institute of AVIC
Original Assignee
Xian Aeronautics Computing Technique Research Institute of AVIC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xian Aeronautics Computing Technique Research Institute of AVIC filed Critical Xian Aeronautics Computing Technique Research Institute of AVIC
Priority to CN201711202184.XA priority Critical patent/CN108022201B/zh
Publication of CN108022201A publication Critical patent/CN108022201A/zh
Application granted granted Critical
Publication of CN108022201B publication Critical patent/CN108022201B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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层次进行属性插值运算。
CN201711202184.XA 2017-11-24 2017-11-24 一种三角形图元并行光栅化定序方法 Active CN108022201B (zh)

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 CN108022201A (zh) 2018-05-11
CN108022201B true 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)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109584334B (zh) * 2018-11-14 2023-04-07 西安翔腾微电子科技有限公司 一种基于uml的三角形光栅化扫描结构及光栅化扫描方法
CN109741433B (zh) * 2019-01-08 2023-05-05 西安邮电大学 一种基于Tile的三角形多向并行扫描方法及结构

Citations (6)

* Cited by examiner, † Cited by third party
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 深圳安凯微电子技术有限公司 一种图形加速器及图形处理方法
CN102598062A (zh) * 2009-05-29 2012-07-18 高通股份有限公司 具有延缓的顶点遮影的图形处理单元
CN102737401A (zh) * 2011-05-06 2012-10-17 新奥特(北京)视频技术有限公司 一种图形渲染中光栅化阶段的三角片填充方法
CN106709859A (zh) * 2016-12-12 2017-05-24 中国航空工业集团公司西安航空计算技术研究所 一种图形处理器光栅化单元的自适应低功耗时钟门控结构

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8212840B2 (en) * 2006-10-23 2012-07-03 Qualcomm Incorporated 3-D clipping in a graphics processing unit
CN101199428A (zh) * 2007-04-18 2008-06-18 汕头超声仪器研究所 一种超声回波数据的处理装置及方法
CN102722902B (zh) * 2011-05-06 2016-05-04 新奥特(北京)视频技术有限公司 一种图形渲染流水线中光栅化阶段反走样的改进方法
CN102651142B (zh) * 2012-04-16 2016-03-16 深圳超多维光电子有限公司 图像渲染方法和装置
US10192280B2 (en) * 2016-04-08 2019-01-29 Qualcomm Incorporated Per-vertex variable rate shading

Patent Citations (6)

* Cited by examiner, † Cited by third party
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 深圳安凯微电子技术有限公司 一种图形加速器及图形处理方法
CN102598062A (zh) * 2009-05-29 2012-07-18 高通股份有限公司 具有延缓的顶点遮影的图形处理单元
CN102737401A (zh) * 2011-05-06 2012-10-17 新奥特(北京)视频技术有限公司 一种图形渲染中光栅化阶段的三角片填充方法
CN106709859A (zh) * 2016-12-12 2017-05-24 中国航空工业集团公司西安航空计算技术研究所 一种图形处理器光栅化单元的自适应低功耗时钟门控结构

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
图形处理器片段处理单元的设计与实现;田泽 等;《计算机应用》;20141215;第34卷(第S2期);357-360 *
嵌入式GPU中图元光栅化的设计与实现;王志方;《中国优秀硕士学位论文全文数据库 信息科技辑》;20170315(第3期);I138-4751 *

Also Published As

Publication number Publication date
CN108022201A (zh) 2018-05-11

Similar Documents

Publication Publication Date Title
US11880926B2 (en) Hybrid render with deferred primitive batch binning
US9779536B2 (en) Graphics processing
US20140118348A1 (en) Higher accuracy z-culling in a tile-based architecture
US9779533B2 (en) Hierarchical tiled caching
US8085280B2 (en) Asymmetric two-pass graphics scaling
KR102006584B1 (ko) 레이트 심도 테스팅과 컨서버티브 심도 테스팅 간의 동적 스위칭
CN110751676A (zh) 一种基于目标检测的异构计算系统、方法和可读存储介质
GB2567436A (en) Geometry to tiling arbiter for tile-based rendering system
CN106340055A (zh) 一种基于多线程的OpenGL快速绘制方法
CN108022201B (zh) 一种三角形图元并行光栅化定序方法
US20090091569A1 (en) Apparatus and Method for Processing Pixel Depth Information
CN106776023B (zh) 一种自适应gpu统一染色阵列任务负载均衡方法
CN106709859B (zh) 一种图形处理器光栅化单元的自适应低功耗时钟门控结构
KR102521654B1 (ko) 컴퓨팅 시스템 및 컴퓨팅 시스템에서 타일-기반 렌더링의 그래픽스 파이프라인을 수행하는 방법
WO2018187130A1 (en) Ink render using high priority queues
CN114529658A (zh) 一种图形渲染方法及其相关设备
US9305370B2 (en) Graphical rendering with implicit surfaces
CN116894902A (zh) 减少图形系统中的冗余渲染
CN106780289B (zh) 基于渲染模式自适应的图形处理器统一染色阵列旁路结构
TW202141417A (zh) 用於高效多視圖光柵化的方法和裝置
CN102982503B (zh) 绘图处理单元
US11003238B2 (en) Clock gating coupled memory retention circuit
CN115103171A (zh) 一种投影方法、装置、电子设备及存储介质
CN109598669B (zh) 一种面向gpu的三角形光栅化扫描系统
EP4231139A1 (en) Method and graphics processing system for rendering one or more fragments having shader-dependent properties

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